Leituras obrigatórias (ao menos pra mim) a todo desenvolvedor

Uma das grandes frustações que tenho diz respeito aos livros que leio, pois conheço pouquíssimas pessoas que também os leram para que possamos trocar algumas idéias a respeito. Sendo assim, dado que este blog está ficando cada dia mais popular (muito obrigado a todos vocês por isto), segue aqui alguns dos livros que, pelo menos na minha opinião, são essenciais para a formação de um bom desenvolvedor.

E, claro: poeremos posteriormente debater a respeito. O que acham?

Sendo assim, aqui vem a lista:

Code Complete: de Steve McConell

Quase uma bíblia para mim. Aliás, é um dos poucos livros que li basicamente todas as edições (li a primeira em inglês e a segunda em português). Se você procura por um guia de boas práticas de desenvolvimento, EIS a fonte.

O livro trata basicamente da etapa de implementação dos sistemas e, o mais interessante é que, apesar de ser publicado pela editora Microsoft, trata de problemas comuns em diversas outras linguagens não-Microsoft, como por exemplo Java, Pascal, Cobol e outras.

E sabem o que é mais engraçado? Após ler o livro, e em seguida confrontar a Win32, fica nítido que a própria Microsoft deveria ter lido com mais atenção ao mesmo. :)

Introduction to Algorithms: Thomas H. Cormen

Um fato que me choca: poucos desenvolvedores possuem um livro básico de algoritmos em sua biblioteca. Curiosamente, quando estou trabalhando em algo realmente cabeludo, um dos primeiros livros que procuro é justamente este.

São os algoritmos básicos que vemos na faculdade: ordenação, grafos, processamento de caracteres, etc. Sendo assim, o que este livro tem de diferente dos demais? Simples: é a referência básica usado por estes.

The Art of Computer Programming: Donald E. Knuth

Publicado em quatro volumes (o quarto só saiu 20 anos após a escrita dos três primeiros), é A BÍBLIA para quem leva desenvolvimento REALMENTE a sério ( ficaria muito feliz se me dessem o box contendo os quatro volumes de presente).

Me lembro que costumava andar com estes volumes debaixo do braço como se fossem a coisa mais valiosa do mundo enquanto estudava na UFMG. O que realmente fascina neste livro consiste no fato de seu primeiro volume ter sido publicado em 1968 e, até hoje, ser extremamente atual.

Se o “Introduction to Algorithms” do Cormen é a fonte de referência de todos os outros, este é a referência básica de Cormen. O que é bacana neste livro consiste na abordagem científica que Knuth dá aos algoritmos. E a maneira como é escrito também é maravilhosa. Um clássico (e só pra lembrar, aceito doações!).

Me lembro que era extremamente caro até bem pouco tempo atrás, mas atualmente já é possível comprar o box completo na Amazon por um preço bem razoável.

A Linguagem de Programação C: Kernighan e Ritchie

O livro que torna muita coisa clara. Li a primeira edição do mesmo em inglês na faculdade e foi realmente um momento de iluminação para mim.

Como vêm diretamente da fonte (são os criadores do C descrevendo-o), acaba por explicar muito mais do que o simples funcionamento da linguagem. O interessante é que este pequeno livro acidentalmente vai além da própria linguagem C. No final das contas, o leitor irá ler a descrição de como funcionam de fato elementos presentes em praticamente todas as linguagens de programação, como por exemplo strings, ponteiros, variáveis, etc.

Mesmo que você jamais venha a escrever uma única linha em C, a leitura deste livro é obrigatória para aqueles que desejem saber como as coisas REALMENTE funcionam por trás dos panos.

Escrevendo Código Seguro: David Leblanc

Outro bom livro da editora Microsoft (aliás, eles tem títulos ótimos): basicamente, se o “Code Complete” é um guia de boas práticas de desenvolvimento, “Escrevendo Código Seguro” pode ser visto como um quase excelente guia de como se, como o próprio nome já diz, se deve escrever “código seguro”.

Entra na lista por ter sido uma experiência incrívelmente reveladora para mim. Isto porquê me expôs a diversos dos erros que até então eu estava cometendo e simplesmente não me dava conta. É incrível como sua auto estima vai para o chão após sua leitura (isto é ótimo!).

Há muito conteúdo relacionado à geração de código em si, porém muito mais interessante é a  parte “administrativa” do mesmo, ou seja, quando o autor expõe como desenvolvedores devem se relacionar com seus colegas de trabalho ou clientes quando o assunto é segurança.

E aí você me pergunta: “porque um guia quase excelente”? Simples: o foco é basicamente tecnologias Microsoft e, apenas tecnologias Microsoft, o que é compreensível levando-se em consideração qual a sua editora.

Bem, estes são os livros que, ao menos na minha opinião, deveriam estar na estante de todo desenvolvedor que leve a sério seu trabalho. E as suas sugestões? Quais seriam? E com relação a estas, o que achou?

6 thoughts on “Leituras obrigatórias (ao menos pra mim) a todo desenvolvedor

  1. Eu acrescentaria alguns livros à sua lista:

    – “Algorithms”, de Robert Sedgewick (pupilo de Donald Knuth); e
    – Os livros da trinca Aho, Hopcroft e Ullman (“The Design and Analysis of Computer Algorithms,” “Algorithms and Data Structures” e “Introdução à Teoria de Autômatos, Linguages e Computação”). Este último, indispensável.

    Abraços!

  2. Eu acrescentaria estes:
    Domain Driven Design do Eric Evans

    Clean Code do Robert C. Martin

  3. Bom, estamos em 2014. Porém, tenho certeza que os livros ainda são atuais.

    Se você fosse ler esses livros, qual seria a ordem?

  4. Opa, sem ordem, e na realidade hoje acho que até adicionaria mais alguns.
    Mas possívelmente começaria pelo Code Complete.

  5. Um outro, que me abriu a cabeça, para além do C, foi “A Biblioteca Standard C”, do Plauger. Eu fiquei fascinado com todos os relatos sobre o trabalho do comitê, as dificuldades e problemas enfrentados, o fato de não haver magia, a biblioteca C tem que ser implementada, não adianta apenas ter um compilador. Eram informações que eu não tinha à época. Além das reflexões e exercícios propostos por todo o livro. Uma marcante experiência na minha adolescência. Valeu à pena ficar um mês sem poder fazer outra coisa nos finais de semana a não ser estudar o livro, pois eram tempos em que tinha que fazer essa escolha :)

  6. Oi Paulo, não conhecia este livro.

    Deve ser uma leitura realmente muito interessante. Vou buscar pra ler, obrigado pela dica!

Leave a Reply

Your email address will not be published. Required fields are marked *