3 pontos por GN⁺ 2024-01-16 | 1 comentários | Compartilhar no WhatsApp

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

 
GN⁺ 2024-01-16
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.

      • Encontrar pessoas interessadas em programação teve grande impacto na formação de sua carreira.
  • 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.

      • Menção ao fato de que o ensaio foi atualizado com o passar do tempo.
  • 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.

      • Opinião sobre o papel dos livros como ferramenta de aprendizado e a importância dos projetos de hobby.
  • 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".

      • Impressão sobre o fato de links antigos ainda continuarem válidos.
  • 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.

      • Compartilhamento de uma lista de tópicos antigos.
  • 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.

      • Ênfase na importância da prática deliberada.
  • 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.

      • Opinião sobre o valor da experiência em programação e a capacidade dos novos programadores.
  • 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.

      • Suposição de que o texto pode ter sido atualizado.
  • 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.

      • Visão pessoal sobre o aprendizado de programação.
  • 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.

      • Opinião sobre a necessidade de aprendizado contínuo na profissão de programação.