Informação é poder, e bons livros são mais poderosos ainda. Em qualquer segmento do mercado, o bom profissional é aquele que domina os clássicos da área mas também continua se atualizando. Naturalmente isso também vale para os livros sobre programação.
É claro que existe farto material na internet sobre essa disciplina, e mesmo para as dúvidas mais difíceis pode-se recorrer a fóruns e outras comunidades. Mas nada substitui a leitura de bons livros sobre programação, de preferência que tenham sido grifados e relidos várias vezes.
Ocorre que nosso tempo é escasso e as opções de leitura e os livros, ainda por cima, são bem grossos. Então, como definir prioridades?
A boa notícia é que o programador Vlad Wetzel já preparou uma excelente lista. Ele analisou mais de 40 milhões de perguntas e respostas feitas no site de referência Stack Overflow e conseguiu identificar os livros mais citados. Uma notícia melhor ainda é que muitos desses livros estão disponíveis em português e destacamos, neste post, alguns deles.
Continue a leitura e confira 6 livros sobre programação que todo desenvolvedor precisa ler.
1. Trabalho Eficaz com Código Legado, de Michael C. Feathers
Como muitos termos em TI, existem diferentes definições para o que significa “código legado”. Muitas vezes ele é usado para se referir ao código antigo feito para rodar em sistemas operacionais para os quais não existe mais suporte. Também pode se referir ao código velho inserido em software novo para manter uma determinada função ou a compatibilidade com certo formato de arquivo.
Para o autor do livro mais citado por programadores no Stack Overflow, “código legado” é qualquer código não-testado, que dificulta o trabalho do programador e consome tempo e dinheiro no desenvolvimento.
Formado em Ciência da Computação pela Florida International University, Michael C. Feathers desenvolveu algoritmos de análise para dados hematológicos e há tempos trabalha como consultor e professor. Entre os tópicos abordados no livro estão:
- mecânica de alteração de softwares;
- passagem do código por um framework de testes;
- criação de testes que previnam novos problemas;
- técnicas que podem ser usadas com qualquer linguagem ou plataforma.
2. Use a Cabeça! Padrões de Projetos, de Eric e Elisabeth Freeman
Trata-se de versão mais leve e introdutória do best-seller Padrões de Projetos, de Erich Gamma. Esse livro vai ajuda-lo a ganhar muito tempo e produtividade aprendendo com padrões de programadores e desenvolvedores que vieram antes de você.
O livro também promete usar descobertas da neurobiologia e teoria do aprendizado para colocar “os padrões no seu cérebro de maneira permanente”. Esse volume da série Use a Cabeça! está cheio de exemplos que vão turbinar seu aprendizado e contém:
- quais são os padrões que importam de verdade;
- quando e por que usá-los;
- como aplicá-los em seus próprios projetos;
- quais são os princípios de design da programação orientada a objetos em que os padrões se baseiam.
3. Código Limpo: Habilidades Práticas Do Agile Software, de Robert Martin
O terceiro livro mais citado pelos programadores no Stack Overflow tem a seguinte resenha na Amazon americana: “Programo há 17 anos e me considero um programador acima da média. Mas esse livro me fez ver que sou horrível”.
Com orientações que serão úteis mesmo aos desenvolvedores mais experientes, Código Limpo apresenta técnicas para limpar código “on the fly”, ou seja, “ao vivo”, e vai mudar a forma como você pensa o código. Atenção: as resenhas na Amazon brasileira criticam muito a tradução, então recomendamos que você compre o original em inglês (Clean Code: A Handbook of Agile Software Craftsmanship).
4. Domain Driven Design: Atacando as Complexidades no Coração do Software, de Eric Evans
São poucos os recursos práticos que explicam como incorporar uma modelagem de domínios eficiente no processo de desenvolvimento de software. Para isso existe o Domain-Driven Design.
Como todos os melhores livros de referência, essa edição não aborda tecnologias específicas (que naturalmente ficarão ultrapassadas). Em vez disso apresenta um conjunto abrangente de práticas, técnicas baseadas em experiências e princípios para facilitar o desenvolvimento de projetos de software.
Unindo design e implementação, o livro inclui vários exemplos para ajudar você a aplicar na prática as lições em seu trabalho.
5. Expressões Regulares — Uma Abordagem Divertida, de Aurélio Marinho Jargas
Um livro simpático e divertido, como uma conversa entre amigos. Parte do básico até chegar aos conceitos mais avançados. É uma obra de sucesso, que já está em sua quarta edição. Ensina como usar as expressões regulares nas fórmulas das planilhas do Google Docs e OpenOffice/LibreOffice e inclui tópicos sobre JavaScript e Python.
Aurélio Jargas é dono de um estilo prazeroso e divertido de escrita e você vai conseguir terminar esse livro em pouco tempo.
6. Algoritmos: Teoria e Prática, de Thomas H. Cormen
Ah, os algoritmos, tão incompreendidos. Tem cada vez mais gente falando mal deles, por causa do Facebook e a sua forma pouco transparente de entregar conteúdo na timeline.
Mas nós programadores sabemos da importância fundamental dos algoritmos, e também desse livro. É a referência definitiva para os estudos de algoritmos. Um verdadeiro livro didático que todo programador precisa ter, ao mesmo tempo rigoroso e abrangente.
O livro contém exercícios (cujas soluções estão disponíveis no site da editora) e resolvê-los colocará você vários passos à frente dos seus colegas de profissão.
Thomas H. Cormen é professor de Ciência da Computação na prestigiada Dartmouth College e graduou-se no MIT.
Comprar livros sobre programação é muito interessante, mas não basta adquiri-los e depois deixá-los acumulando poeira dentro do armário. Para ser mais produtivo, não só em programação, mas em qualquer tarefa, é preciso saber incluir a leitura em sua rotina e dar prioridade.
No mundo da fotografia existe a máxima de que a melhor câmera é a que você tem em mãos. Com os livros é a mesma coisa: o importante é escolher logo um e começar a ler. Boa leitura!
Curtiu nossas indicações de livros sobre programação e já está pronto para adicioná-los à sua estante? Então você também vai achar muito útil nosso artigo com 7 dicas que vão otimizar sua rotina de programador freelancer.