Sugestões de livros para quem quer estudar Computação

Seguindo a dica do Ricbit, uma lista de dez livros que acho fundamentais para quem quer estudar computação ou tecnologia da informação.

A ordem dos tratores não altera o viaduto, mas sugiro a leitura na ordem que segue:

  1. C: The Complete Reference - Herbert Schildt
    Comecei a programar em BASIC aos oito anos. Mas comecei a gostar de programação (e de computação) e me tornar autodidata no momento que cruzei com este livro do Schildt. Aliás, este livro pode ser substituido por qualquer outro do Schildt, como os de Pascal ou BASIC.
  2. Algoritmos e Estruturas de Dados - Niklaus Wirth
    Você já está programando um pouco, então é hora de conhecer as principais técnicas usadas em programação, como estruturas de dados básicas, recursividade, métodos de ordenação, entre outras técnicas. Como livro complementar cito o "Estruturas de Dados Fundamentais" do Silvio do Lago Pereira.
  3. The Art of Computer Programming - Donald Knuth
    Com um certo contato com as estruturas de dados e os algoritmos, é hora de ver a "Fonte". Leitura obrigatória máxima para quem é de computação e para os tecnólogos que não querem apenas usar a tecnologia, mas "abusar" dela...
  4. Object-Oriented Software Construction - Bertrand Meyer
    A programação orientada a objeto (POO) é um paradigma interessante de programação. Não é o mais prático, mas é um dos mais usados atualmente. E este livro apresenta esse paradigma muito bem, sem os vícios tanto de linguagem como de certas "práticas conceituais" que vários livros tentam colocar goela abaixo dos seus leitores.
  5. Design Patterns: Elements of Reusable Object-Oriented Software - Erich Banna et al.
    Padrões de projeto são práticas que um bom programador costuma realizar sem saber o nome. Neste livro, não tem apenas o nome, mas outros usos para as práticas, bem como as armadilhas de cada uma. Muito instrutivo.
  6. The Practice of Programming - Brian Kernighan e Rob Pike
    Como dizem: "é fácil escrever programas que computadores lêem; difícil é escrever programas que seres humanos possam ler". Este livro (escrito por um dos criadores da linguagem C) trata exatamente desse tema, bem como de como escrever programas melhores, otimizados e que sejam "legíveis" para outros programadores.
  7. Operating Systems Design and Implementation - Andrew S. Tanenbaum
    Polêmicas à parte por causa da briga entre microkernel (Minix) e kernel monolítico (Linux), este livro apresenta toda a teoria sobre sistemas operacionais, inclusive com o código-fonte de um deles, o Minix.
  8. Compilers: Principles, Techniques, and Tools (O Livro do Dragão) - Alfred V. Aho et al.
    Assim como o livro acima, este livro é uma "bíblia" sobre compiladores. Mais importante do que criar o seu próprio compilador é entender o seu funcionamento, até para aproveitar melhor os seus recursos e otimizar o seu código.
  9. The Mythical Man-Month - Frederick Brooks
    Como colocou muito bem o Ricbit, trabalhar com o computador é "fácil", especialmente depois de ler esses livros. Agora, trabalhar com pessoas é que são elas. Este livro foi escrito há 30 anos, e está cada vez mais atual.
  10. Extreme Programming Explained: Embrace Change - Kent Beck e Cynthia Andres
    Não sou um entusiasta em "metodologias". Ainda bem, porque XP não é exatamente uma metodologia, mas um conjunto de boas práticas, e se relaciona muito bem com as idéias propostas por Brooks no MMM.

jun25