ti-enxame.com

Como você aprende uma nova linguagem de programação?

Eu sou desenvolvedor C++ com alguma boa experiência nele. Quando tento aprender uma nova linguagem (tentei Java, C #, python, Perl até agora), geralmente pego um livro e tento lê-lo. Mas o problema disso é que esses livros geralmente começam com alguns conceitos de programação muito básicos, como loops, operadores etc. e começam a ficar muito chatos em breve. Além disso, acho que obteria apenas o conhecimento eritico, sem nenhum conhecimento prático sobre como escrever o código. Então, minha pergunta é como você lida com essas situações? você apenas pula os capítulos se isso está explicando algo básico? Além disso, você tem algum conjunto padrão de programas que tentará escrever em cada nova linguagem de programação que tentar aprender?

20
Naveen

Basicamente, escrevendo código nesse idioma.

Você precisa ter um bom exemplo de aplicativo para estudar/modificar, caso contrário, você estará começando com o pé errado e nunca poderá se recuperar. Anos atrás, decidimos usar o Ada para o nosso próximo produto, mas como todos nós usamos o FORTRAN no produto anterior, acabamos criando construções FORTRAN no Ada. Nós nunca realmente nos recuperamos disso.

Ter acesso à documentação e ao Stack Overflow é essencial, caso contrário, você poderá perder os recursos importantes do idioma. Nesse ponto, descubra quem são os gurus no idioma e leia seus blogs, eles geralmente discutem os novos recursos de um idioma/estrutura e também as áreas obscurecedoras que você nunca encontrará sozinho. Se você não consegue descobrir quem eles são, pergunte aqui!

Em um mundo ideal, eu gostaria de aprender sozinho por um tempo e depois ser avaliado, mas nunca consegui isso ainda.

21
ChrisF

Não tente ler seus livros de programação da frente para trás em uma ou poucas sessões. Normalmente, pego um livro e leio um pouco de cada vez, geralmente não mais que 10 páginas, e para livros particularmente densos, apenas algumas páginas. Para livros "suaves", posso ler muito mais, mas tento evitá-los em primeiro lugar.

Se, como no seu caso, você já puder codificar em um idioma semelhante, comece com um aplicativo simples de console ou algo assim e faça pequenos exercícios como

  1. Ler/gravar algo de/para um arquivo
  2. Um pequeno aplicativo de console da lista de tarefas
  3. Teste todos os recursos do idioma enquanto lê sobre eles
  4. e assim por diante
10
µBio

Ainda não encontrei um livro que me ajudou muito a aprender um novo idioma. Os "Padrões de boas práticas para o Smalltalk" de Kent Beck se aproximam, mas eu já podia me atrapalhar ao escrever algo (no Smalltalk, quero dizer) no momento em que o li.

A primeira regra é JFDI. Pense em alguma aplicação, brinquedo, problema, qualquer coisa - algo administrável, é claro, e tão razoavelmente simples/pequeno - e tente escrevê-lo. Você sempre encontrará "mas como eu ...?" perguntas, que pelo menos acho a melhor maneira de aprender qualquer coisa.

Então, como você responde a essas perguntas? Vá espreitar na comunidade desse idioma. Leia a documentação deles. Leia os registros em atraso para suas listas de discussão . Converse nos seus canais de IRC . Você logo descobrirá quem são os alfas. Leia os blogs deles. Preste atenção ao que os praticantes experientes dizem e esteja preparado para estar errado.

6
Frank Shearar

Obtenha uma ampla visão geral do idioma lendo o manual completo; parece entediante, mas lhe dará uma visão abrangente do idioma, mesmo que você não entenda a maior parte. Este conselho está em contrato com o que o 'BioBuckyBall' diz acima, mas se o manual do idioma for pequeno, você poderá concluir o livro facilmente em alguns dias. O ponto principal é "obter" a essência do idioma; em algum momento da leitura, todo o conceito da linguagem apenas "clica"!

Em seguida, crie um pequeno projeto no idioma no domínio que você ama. Inicialmente, não tente se aprofundar nos detalhes. Normalmente, se estou aprendendo um novo idioma, tento criar algumas funções ou classes relacionadas à estatística: como desvio padrão e médias. Isso rapidamente me coloca em matrizes, iterações e tipos de dados. Ao aprender um idioma diferente, tente novamente os mesmos exemplos, o que permitirá comparar a sintaxe e a semântica dos diferentes idiomas no mesmo domínio do problema.

4
sameer
  • Leia um livro

  • Escreva algum código

  • Se você tiver alguma dúvida/problema, consulte Pilha - Estouro

  • Repetir

4
Chankey Pathak

Eu gostaria de aprender primeiro sobre os fundamentos da linguagem, como o sistema de tipos, etc, para ter uma idéia de como as coisas funcionam, bem como ver alguns exemplos básicos de como o código se parece. Minha maneira preferida de fazer isso é ler um livro e quero dizer um livro real que eu possa ler enquanto estou deitado na cama ou onde quiser. O básico deve ser explicado no máximo em 100 páginas, de preferência em muito menos. Se nenhum livro estiver disponível, tento encontrar as informações da Internet.

A leitura do livro inteiro é obviamente uma perda de tempo, porque você não entenderá os tópicos mais avançados sem nenhuma experiência prática. No trabalho, geralmente já existe algum código para trabalhar; nesse caso, eu apenas começo a trabalhar na tarefa em questão. Aprendo pouco a pouco lendo o que os outros fizeram e, se eu encontrar um problema, tento procurar no Google a resposta ou, na falta disso, pergunto a um colega de trabalho. Depois de trabalhar um pouco, tento terminar o livro.

Se eu tiver que começar do zero, começo pelo hello world e tente inserir informações do teclado e do manuseio de arquivos. Dependendo do idioma, talvez eu faça algum exercício de interface do usuário. Depois disso, eu começaria a programar o programa "real".

3
Carlos

Há um livro que eu realmente gosto. É chamado "Sete idiomas em sete semanas" , e tem como objetivo ensinar ... sete idiomas em sete semanas.

É uma maneira divertida de ver idiomas muito diferentes e os pontos fortes e fracos de cada um deles. Para cada idioma, o livro trata de um problema não trivial.

Obviamente, o livro não é uma referência profunda para nenhum dos idiomas, mas mostra o essencial deles.

Os idiomas abordados são Ruby, Io, Prolog, Scala, Erlang, Clojure e Haskell.

2
helgeg

Minha abordagem é simplesmente começar a escrever no idioma selecionado, encontrar um projeto para animais de estimação e fazê-lo. Leia muitos exemplos, verifique o código de outros, acesse uma fonte maior do projeto, encontre o que você não entende e leia-o nos documentos. Atualmente aprendendo F # e comprei o livro - Expert F # -, acho incrivelmente difícil me concentrar e ler tudo sem precisar usá-lo. Mas aqui não é apenas uma nova linguagem, essa é toda a mudança de paradigma do imperativo para o funcional.

2
radekg

Os livros "Thinking in ..." de Bruce Eckel são muito bons se você estiver alternando entre C++/C #/Java ...

Python e Perl tendem a ser menos relacionados, por isso é melhor começar do básico,
ou você terá que encontrar um tutorial explicitamente baseado na suposição de que sabe programar.

2
Tamara Wijsman

Atualmente, estou aprendendo Ruby usando-o para resolver problemas Projeto Euler . Eu faço principalmente trabalho C incorporado (também alguns PHP e C #) no meu trabalho 9-5, então o material Ruby serve apenas para expandir meus horizontes. Eu peguei alguns Ruby livros, então instalou um bom IDE .

1
tcrosley

Você tem várias maneiras de aprender uma nova linguagem de programação. Eu iria com este método:

  1. Escolha a linguagem de programação que você deseja aprender primeiro
  2. Leia livros sobre isso e assista a bons tutoriais online
  3. Conecte-se a um repositório de código-fonte aberto online e baixe alguns projetos
  4. Use os livros e seu cérebro para conectar os pontos ao código da "vida real" do repositório de códigos

Dessa forma, você aprenderá o próprio idioma e poderá ver como ele é usado na "vida real".

Mais importante: não tente aprender mais de um idioma no momento. Você vai estragar tudo.

0
cseder