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!

    Responda

  2. 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?

    Responda

    Kico (Henrique Lobo Weissmann) Reply:

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

    Responda

  3. 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 :)

    Responda

    Kico (Henrique Lobo Weissmann) Reply:

    Oi Paulo, não conhecia este livro.

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

    Responda

Leave a Reply

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