Aprenda programação sozinho em 10 anos
- Questiona por que existe tanta pressa em aprender programação.
- As livrarias estão cheias de livros como "Aprenda Java em 24 horas", além de muitos outros que afirmam ensinar C, SQL, Ruby, algoritmos etc. em poucos dias ou até horas.
- Ao pesquisar na Amazon, após 2000, por livros com palavras como "ensinar", "sozinho" e "tempo", apareceram 512 livros. Entre os 10 primeiros, 9 eram de programação.
- Mesmo trocando "ensinar sozinho" por "aprender" e "tempo" por "dias", os resultados são parecidos.
- A conclusão é que as pessoas estão com pressa para aprender programação ou acreditam que programação é mais fácil de aprender do que qualquer outra coisa.
O que significa "Aprenda C++ sozinho em 24 horas"
- Em 24 horas não há tempo suficiente para escrever vários programas importantes nem para aprender com sucessos e fracassos.
- Também não há tempo para trabalhar com programadores experientes e entender como é viver em um ambiente de C++.
- O livro só pode tratar de familiaridade superficial, não de compreensão profunda.
- Talvez seja possível aprender parte da sintaxe de C++, mas não como usar a linguagem.
- Como disse Alan Perlis, se uma linguagem não influencia sua maneira de pensar sobre programação, ela não vale a pena ser aprendida.
Aprenda programação sozinho em 10 anos
- Pesquisas mostram que leva cerca de 10 anos para se tornar especialista em várias áreas, como xadrez, composição musical, operação de telégrafo, pintura, piano, natação, tênis, neuropsicologia e pesquisa em topologia.
- O essencial é a prática deliberada: não apenas repetir, mas enfrentar tarefas além da capacidade atual, tentar, analisar o desempenho durante e depois da execução e corrigir os erros.
- Tornar-se um verdadeiro especialista pode levar a vida inteira.
Se você quer se tornar programador
- É preciso ter interesse em programação e programar se divertindo.
- Conversar com outros programadores e ler outros programas é mais importante do que qualquer livro ou curso.
- Você pode passar 4 anos na universidade ou ainda mais tempo na pós-graduação, mas, se a escola não for agradável, pode obter experiências semelhantes por esforço próprio ou no trabalho.
- É preciso desenvolver projetos com outros programadores e aprender várias linguagens de programação.
- Como "ciência da computação" inclui "computação", você deve saber quanto tempo o computador leva para executar instruções.
- Também pode ser bom participar de trabalhos de padronização de linguagens, mas é melhor sair disso o quanto antes.
- Não basta simplesmente aprender só por livros.
Apêndice: escolha da linguagem
- Dá conselhos sobre qual linguagem de programação aprender primeiro.
- É melhor usar a linguagem que seus amigos usam, manter as coisas simples e aprender de forma interativa.
- Recomenda Python ou Scheme como primeira linguagem de programação.
Apêndice: livros e outros materiais
- Mesmo enfatizando que "aprender só por livros não é suficiente", recomenda alguns livros e páginas da web.
- Recomenda livros e materiais para aprender programação com Scheme e Python.
Opinião do GN⁺
- Este texto enfatiza uma abordagem realista para aprender programação e alerta contra falsas promessas de se tornar especialista em pouco tempo.
- Ao apresentar resultados de pesquisas segundo os quais 10 anos ou 10.000 horas de prática deliberada são necessários para desenvolver expertise, oferece uma perspectiva de longo prazo sobre o aprendizado.
- Também destaca que, para desenvolver compreensão profunda e melhorar de fato na programação, é preciso participar de diversos projetos, aprender várias linguagens de programação e entender os princípios básicos da ciência da computação. Isso oferece conselhos úteis para engenheiros de software iniciantes que estão pensando em aprender programação.
1 comentários
Opiniões do Hacker News
Um usuário disse que, em 1999, comprou o livro "Sams Teach Yourself C++ in 24 Hours" e que a pessoa no caixa viu o livro, sorriu e comentou sobre um artigo. Em outra ocasião, quando tinha 16 anos e estava olhando livros de programação na Borders, alguém lhe entregou "The C Programming Language", e isso acabou mudando sua vida. A carreira desse usuário foi fortemente moldada por encontrar desenvolvedores e outras pessoas interessadas em programação.
Outro usuário mencionou que o primeiro ensaio que leu na adolescência tem um significado especial e que, ao relê-lo, percebeu referências a Malcolm Gladwell e uma menção a Ratatouille, o que o fez notar que o artigo havia sido atualizado desde sua publicação em 1998. O original ainda está disponível no arquivo e é bem mais curto.
Outro usuário disse que costuma aprender por meio de livros, mas que essa postura ajuda mais em áreas não relacionadas a CS que mudam mais lentamente, como matemática ou física. Criticou um livro recente da O'Reilly sobre programação quântica por não explicar em detalhes os circuitos quânticos, o que não o ajudou a entender o que estava realmente fazendo. Na visão dele, livros são apenas ferramentas de aprendizado, e projetos de hobby também podem ser mais eficazes por meio da experiência. Livros são úteis para apontar a direção certa, mas é claro que é preciso encontrar os livros adequados às próprias necessidades. Algumas pessoas só abrem um livro se puderem lê-lo inteiro, mas ele considera isso uma postura tola. Disse que encomendou o livro Generative Deep Learning, da O'Reilly, e espera tirar algo dele, achando que já vale a pena se conseguir reter apenas algumas informações ao longo da carreira.
Um usuário disse ter ficado profundamente impressionado com o fato de que um link antigo da Amazon.com na página ainda retorna resultados relevantes. Comentou que isso é um bom exemplo de "Cool URIs don't change".
Outro usuário compartilhou uma lista de tópicos dos últimos 16 anos e comentou que, depois de um ano, repostar é aceitável, e que os links servem para satisfazer a curiosidade de leitores curiosos.
Outro usuário destacou a importância da prática deliberada, dizendo que não basta apenas repetir, mas é preciso enfrentar tarefas que vão além da capacidade atual, tentar, executar, analisar o desempenho durante e depois, corrigir os erros e então repetir.
Um usuário relembrou um vídeo que viu 5 ou 6 anos atrás, no qual se mencionava que o número de programadores está aumentando e que a maioria tem menos de 5 anos de experiência. Disse que isso faz sentido à medida que IT/web passa a ter maior impacto em nossas vidas. Com 20 anos de experiência, esse usuário afirmou que sabe muitas coisas que pessoas com menos de 5 anos de experiência nunca precisarão saber, mas que a experiência ainda é útil, e que programadores menos experientes também conseguem fazer muitas coisas que ele mal consegue imaginar.
Outro usuário supôs que um texto marcado como sendo de 1998 provavelmente foi atualizado, já que inclui menções a Clojure e Go.
Um usuário acha que aprender programação acaba se tornando cada vez mais artístico, chegando no fim ao nível da arte, e que 2 a 3 anos de dedicação bastam para dominar o básico.
Por fim, outro usuário mencionou que ensinar a si mesmo programação é importante e que essa profissão exige aprendizado contínuo. O que foi aprendido há 5 anos ainda pode se aplicar hoje, mas talvez seja necessário aprender coisas novas para se adequar à situação atual.