Eu sei Java, C #, C ++. Eu usei o Perl e estou escolhendo o Python e o Actionscript 3.
Certamente este é um caminho que outros trilharam, então estou perguntando como você mantém todas essas línguas na sua cabeça.
language-agnostic
syntax
programming-languages
John Robertson
fonte
fonte
Respostas:
Seu cérebro só se lembra do que considera importante, com forte viés em relação ao recente. Então, basta alternar projetos de animais de estimação nesses idiomas e você ficará bem. Assim como os idiomas falados, você fará melhor se: começar cedo e manter seu uso ativo.
fonte
Eu costumava postar um diagrama de sintaxe em estilo ferroviário de 1 folha, além de uma referência rápida para cada idioma na parede até que minha memória chutasse o suficiente.
Ainda tenho que fazer isso em qualquer linguagem de programação que não uso há muitos meses.
fonte
Você já consultou os idiomas e as bibliotecas que usa regularmente? Eu tenho alguns no meu mural aqui, um para o VIM e outro para o PL / SQL. Este site: http://devcheatsheet.com/ parece ter muitas folhas de dicas.
Sugiro dicas, porque há muito que o cérebro consegue lembrar com facilidade. Um idioma que você usa diariamente se tornará muito fácil de lembrar. Sintaxe e, posteriormente, certas bibliotecas, funções e estruturas, se você as usar com bastante frequência e não precisará procurar nada em nenhum material de referência. Quanto menos você usa alguma coisa, mais difícil é lembrar, embora você possa recuperar suas habilidades anteriores com um pouco de prática. É por isso que mantenho algumas dicas na parede: para as funções / características que não uso com frequência suficiente para lembrar rapidamente.
fonte
O cérebro humano é uma coisa incrível. Se você aprender cada um bem o suficiente, poderá ver o código, reconhecer o idioma e acelerar a velocidade rapidamente. Nunca foi um problema para mim ... mas leva tempo para acelerar de novo.
fonte
Tenho pouca dificuldade em separar idiomas na minha cabeça, além de alguns automatismos de digitação (como ter que suprimir o ponto e vírgula de fim de linha em Python ou VB).
Acho que o que mais me ajuda é que, sempre que aprendo uma linguagem (programação ou humano), também tento entender e abraçar a cultura e o ecossistema em que está inserida. Não estou apenas trocando de linguagem, estou trocando de mentalidade (algo parecido com a popular metáfora do 'usar o chapéu X').
fonte
Ajuda que todos os idiomas mencionados são relativamente semelhantes (ou seja, imperativos).
Se você está apenas aprendendo a usar esses idiomas, todos são muito semelhantes. Basicamente, todos têm os mesmos recursos e tudo o que você está aprendendo é uma sintaxe um pouco diferente.
Agora, quando você aprende o uso (não apenas a sintaxe), torna-se muito mais difícil. Aprender a usar Java como um programador Java não é tão simples para um programador C ++ (a sintaxe é fácil, os idiomas de uso são difíceis).
Agora, se você listou diferentes estilos de linguagem (declarativo / funcional / lógico), eu ficaria mais compreensivo. À medida que se deslocava entre as línguas, o paradigma muda completamente, se torna muito mais difícil.
Mas usar uma linguagem é a chave. Se você usa um idioma todos os dias, não terá problemas. Pare de usar um idioma e ele desaparecerá (não é rápido no início). Mas quanto mais longe o idioma estiver do idioma que você usa diariamente, mais rápido ele desaparecerá. O segredo é continuar praticando os idiomas de que você gosta (pare de usar os que você não gosta no seu cérebro, dará lugar a outras coisas).
fonte
É aí que os IDEs buscam um resgate ;-) a única coisa que muda em todos esses idiomas é ter um 'se-então-outro' ou um 'se-outro'. alguns terão '(' e outros não. É tão simples quanto isso :)
Tudo o que nos importa é a lógica e a implementação legível mais fácil.
fonte
Eu não. Eu os confundo o tempo todo, então elaborei um conjunto de comportamentos e ferramentas de compensação.
fonte
Uma maneira seria usar um estilo distinto para cada idioma em que você escreve. Por analogia frouxa, ao falar espanhol ou francês, pode-se tentar imitar a inflexão de um falante nativo.
Eu já vi pessoas que mantêm uma órtese, recuo, etc., distintos, para cada idioma, para ajudar seu cérebro a "mudar de marcha" corretamente ao alternar entre eles
fonte
Pense nisso como música. Os idiomas que você aprende são apenas instrumentos diferentes em uma orquestra que produzem as mesmas notas. Lembrar-se de como tocar os instrumentos requer prática, mas eventualmente você poderá escolher uma que não toca há algum tempo e, como mágica, as notas simplesmente se encaixam. Da mesma forma, à medida que você continua ampliando seu conhecimento sobre música (programação), pegar um novo instrumento e aprender a tocar torna-se cada vez mais fácil.
Analogia brega, mas no final das contas, a prática leva à perfeição. Passe algum tempo com cada instrumento dessa orquestra de vez em quando, para que sua capacidade de tocar as notas não desapareça.
fonte
Sou principalmente desenvolvedor de PHP. Então, perdoe minha opinião tendenciosa.
Eu descobri recentemente como o código C é semelhante ao PHP (ou o contrário, dependendo de como você se sente;))
Minha sugestão seria, talvez, aderir a uma família de idiomas (se eles se aplicarem ao seu trabalho ou projeto) e, à medida que você desenvolve suas habilidades, então se ramifica e aprende coisas novas.
fonte
Eu estou usando javascript e HTML / CSS principalmente também adoro c ++ quando preciso de uma pequena ferramenta de ajuda com o uso do QT e uso VB ef # às vezes sei que é um pouco louco, mas quando sinto que comecei a perder uma linguagem de aqueles especialmente quando eles têm sintaxe diferente (VB e F # e c ++ / javascript), então eu recebo meu irmão e disse a ele que vou ensiná-lo; então, começo a fazer exemplos do zero e quando acho que não me lembro exatamente como fazer algo (uma vez que eu esqueci como fazer se outro no VB) eu apenas google;
fonte
Ultimamente, tenho usado muito o google codesearch . Vou lá e digito uma expressão regular que descreva livremente o que estou tentando fazer e encontro dezenas de exemplos de código de produção. Quando esqueço a sintaxe de um idioma, é a maneira mais rápida de obter respostas.
Essa abordagem se torna ainda mais poderosa se você é bom com expressões regulares. Nota: Esse é um ótimo recurso para atualizar as habilidades de regex .
fonte
Na verdade: não me preocupo muito em tentar explicitamente construir qualquer tipo de estrutura dentro da minha cabeça.
Isso não difere muito de outros cenários na vida diária. Eu tenho que lembrar como dirigir um carro, como ler um livro, como jogar tênis e assim por diante. Apenas confie no seu cérebro e não pense muito no nível do metal.
fonte