Eu nunca li um livro de programação, apesar de já ter lido alguns online e trechos de outros. Outro dia comprei um de Python que fala de estrutura de dados, mas a tradução do inglês para o português me irritava muito. Node virava nó, por exemplo, que é como traduzir mouse para rato.
Livros geralmente têm uma lógica parecida com um dicionário, eles simplesmente vão jogando vários assuntos. Nisso vejo vários problemas quando se tenta ler um livro de ponta a ponta:
- Você acaba tendo que passar por assuntos que não vão ter muita relevância para você naquele momento
- Um assunto não tem muita relação com o assunto seguinte, não é como um capítulo de um romance que está diretamente ligado ao capítulo seguinte
- A leitura é passiva. Você acha que entendeu o conceito, mas se te pedem para resolver um problema com aquele mesmo conceito, você vai inicialmente travar, pois não praticou durante a leitura.
Ninguém estuda uma língua lendo um dicionário, e linguagens de programação continuam sendo como linguagens humanas. Então porquê fazer diferente com programação? Normalmente nas escolas de línguas sempre se divide o aprendizado em problemas:
- Como me apresentar para outras pessoas?
- Como falar sobre a minha família?
- Como falar em uma reunião de negócios?
- Como convidar alguém para um evento?
Eu normalmente começo um problema, que normalmente é criar um projeto ou resolver um problema em um código. Se eu não conheço muito bem o assunto, recorro a um vídeo, que vai me apresentar por cima o assunto e consigo me situar melhor. Eu leio artigos e documentação para fazer consultas sobre dúvidas específicas:
- Como posso deixar meu código mais rápido?
- Como chamar a função que executa tal ação?
- Estou encontrando erro X, será que a solução já está descrita na documentação?
O aprendizado se torna bem natural e interessante, combinando vários meios, como material escrito, vídeos, relatos de outras pessoas em fóruns e artigos.