Os 7 livros de programação mais recomendados – LuizTools
Os 7 livros de programação mais recomendados
Escrito por Luiz Duarte em 23/04/2017
Lembro que quando ainda era estudante de Ciência da Computação eu gostava muito de estudar usando livros pois passava horas por dia em ônibus. Em 2006 smartphones eram quase inexistentes (o iPhone só seria lançado no ano seguinte), os tablets ainda demorariam alguns anos para despontar e o que nos restava era o bom e velho livro de papel e tinta.
Uma dúvida comum que eu tinha na época era: qual livro é o melhor?
Lembro de entrar na biblioteca da Ulbra Gravataí, que não é nada imensa mas possui dois andares abarrotados de livros, e perder muito tempo pelas prateleiras de computação sem muita certeza do que pegar. Pior ainda quando ia em livrarias, pois o dinheiro era escasso e os títulos eram muitos. Pra complicar ainda mais, livros de programação são extremamente caros, na faixa dos R$100, e uma compra errada te prejudica financeiramente durante um bom tempo (não existiam ebooks como esses na época). 😛
Hoje, na função de professor, vez ou outra algum aluno me pede a indicação de algum livro. Quando condizente, acabo indicando algum de meus livros, mas nem sempre são a melhor opção, principalmente se o aluno quiser impresso (os meus são ebooks).
Recentemente o site Dev-Books.com analisou mais de 40 milhões de perguntas e respostas do site StackOverflow.com para descobrir os livros mais recomendados pelos programadores. Caso você ainda não conheça o StackOverflow.com ele é o maior site de perguntas e respostas sobre programação do mundo!
Para este post eu separei alguns itens da lista que eu confirmo como muito bons, seja porque eu li, ou porque alguém que eu confio leu e recomenda. Os livros citados neste post podem ser encontrados abaixo:
Use a Cabeça: Padrões de Projeto
TDD: Desenvolvimento Guiado por Testes
Algoritmos: Teoria e Prática
E as menções honrosas (bônus):
Java: Guia do Programador
C# 3.0: Guia de Bolso
Expressões Regulares: Uma Abordagem Divertida
Se preferir, pode assistir ao vídeo abaixo ao invés de ler o artigo. Apenas os bônus não estão presentes:
Clique na capa de cada livro para ver os preços atualizados na Amazon.
#1 Padrões de Projeto: Soluções reutilizáveis de software orientado à objetos
Número dois na lista mundial de recomendações da Dev-Books.com, o clássico da Gang of Four que definiu e formalizou os padrões de software mais conhecidos e utilizados da indústria. Referência obrigatória em qualquer disciplina de padrões de projeto em faculdades mundo afora, é um livro denso e que eu não recomendo para iniciantes em software, mas que é livro de cabeceira para programadores plenos e sêniors que busquem se tornar ainda melhores.
Caso esteja começando agora a se tornar um programador e deseje uma leitura mais light (embora não tão completa), sugiro o Use a Cabeça: Padrões de Projeto, citado mais abaixo nesse post.
#2 Código Limpo: Habilidades Práticas do Agile Software
Clássico de Robert C. Martin, o Uncle Bob, Código Limpo é o#3 da lista mundial, sendo um livro objetivo, pragmático para escrever código melhor desde a sua concepção, produzindo softwares mais robustos e manuteníveis.
Confesso que nunca li este livro, embora tenha "bebido" de seu conteúdo diversas vezes através de suas técnicas universais e muito difundidas de escrita e refatoração de código, uma vez que o Tio Bob é uma referência mundial no assunto. Além disso, muitos programadores de confiança leram e recomendam para todos os níveis de programação!
Eu falo um pouco mais sobre este livro neste vídeo:
#3 Domain Driven Design: Atacando as complexidades no coração do software
Outro clássico sobre padrões de projeto, #5 da lista mundial, especificamente sobre DDD: Domain Driven Design, ou projeto orientado à domínio.
Uma arquitetura de software muito difundida atualmente, o DDD também não é uma leitura muito fácil para iniciantes, mas obrigatória para engenheiros de software.
Também não conheci o DDD através desse livro, mas através de tutoriais e aulas na Internet. O que não diminui, no entanto, a sua importância enquanto instrumento de ensino.
#4 Padrões de Arquitetura de Aplicações Corporativas
Novamente, mais um livro de padrões de projeto, #7 da lista mundial. No entanto, diferente do DDD do Eric Evans e do Design Patterns da Gang of Four, este aqui eu recomendo para todos os públicos. Isso porque além de ser extremamente bem organizado, tem padrões com as mais variadas complexidades, muito objetivos, com exemplos muito claros e muito prático.
Diferente dos GoF Patterns, o catálogo PEAA (em alusão ao nome original, Patterns of Enterprise Applications Architecture) é muito mais prático e é difícil de encontrar um padrão em que você não tenha um bom exemplo de uso em mente, enquanto nos design patterns originais alguns soam muito específicos e com pouca utilidade para o modelo moderno de desenvolvimento de software.
#5 – Use a Cabeça: Padrões de Projeto
Esse sim é um livro de padrões de projeto para iniciantes!
Como todos os livros da série Use a Cabeça, essa edição é extremamente didática, pouco ortodoxa e muito prática. Enquanto os mais conservadores torcerão o nariz para o #10 da lista mundial, os mais jovens vão achar o máximo os exemplos utilizados, a estrutura do livro e o conhecimento que irão adquirir lendo essa imensa (e cara!) obra.
Tenho um grande apreço por esse livro pois foi com ele que finalmente consegui entender padrões de projeto para mais tarde poder ir atrás das fontes mais clássicas e me aprofundar no assunto.
#6 – TDD: Desenvolvimento Guiado por Testes
Talvez uma das maiores contribuições de Kent Beck para a humanidade, o #13 livro de programação mais recomendado mundialmente (#6 na minha lista). A metodologia TDD se une às suas demais invenções do autor, como a metodologia ágil XP, para nos trazer um mindset completamente oposto ao usual de programar > testar para testar > programar, focando o desenvolvimento nos requisitos do usuário e programando de "fora pra dentro".
Este é um framework fácil de entender e muito difícil de ser dominado, semelhante ao que se enfrenta ao adotar o Scrum, mas mais especifico ao desenvolvimento de software em si. Vale a leitura ou ao menos (como eu) entender seus conceitos e tentar absorver o que puder.
#7 – Algoritmos: Teoria e Prática
O livro supremo de algoritmos e programação!
Muito usado por diversos professores ao redor do mundo para ensino de algoritmos em faculdades, o autor Thomas Cormen é uma lenda quando o assunto é este tópico e lembro de ter lido muito de seus materiais na época que fazia mestrado.
Embora eu não tenha lido especificamente este trabalho do autor que é o #14 mais recomendado do mundo, já li outro livro que é bem maior aliás e certamente é uma boa leitura para quem quiser dominar a base da programação e principalmente se quiser ensinar alguém um dia.
Note que nenhum dos livros fala de alguma tecnologia específica como Java ou C#, mas sim de conceitos e técnicas mais amplas, que são úteis a todos os programadores. Como já comentei em outras ocasiões, é a "base" que faz os programadores de verdade!
Falando em base, aproveito para recomendar este meu vídeo abaixo também.
Bônus: Livros de Tecnologias Específicas
Devido à pedidos, atualizei o post com alguns livros que li e recomendo quando assunto é aprender alguma linguagem de programação ou tecnologia específica. Eles não estão em uma ordem específica, uma vez que citei apenas um por linguagem/plataforma.
Clique na capa para ver os preços dos livros na Amazon!
Esse autor, o prof. Peter Jandl Junior, possui uma didática muito boa e me baseei muito na forma como explica os conceitos do Java quando escrevi o meu próprio livro sobre o assunto, o Java para Iniciantes. Na verdade eu literalmente aprendi Java com esse professor em 2006 e sou muito grato à ele por isso.
O livro mais famoso de Android, do autor Ricardo Lecheta pela Editora Novatec. Eu poderia recomendar o meu livro também, o Criando apps para empresas com Android, mas nem se compararam ambos os livros (inclusive em preço :P).
Ok, nem de longe é o livro mais recente de C#, mas a didática é excelente. Vi que tem versões desse mesmo livro mais atuais, então dá uma procurada que você acha, é só se basear pela capa e pela editora: OReilly. Se um dia eu for escrever um livro de C#, certamente me basearei nesse aí. Me ajudou muito quando estava começando com essa linguagem em 2007.
Eu não li esse livro na verdade, mas está na minha lista desde que comecei a estudar Node.js com mais afinco. Foi uma recomendação de alguém que conheci em um evento e que entendia muito mais de Node.js que eu. Ele me afirmou que é excelente para realmente entender JS. Especificamente de JQuery tem um que eu recomendo muito que é o JQuery Fundamentals, que eu nunca mais encontrei.
Esse livro é fantástico e já fiz uma resenha completa dele aqui no blog. Mudou muito a forma coo passei a lidar com problemas de string e me ajudou a fundar minha primeira startup em 2010.
Eu não poderia fazer uma lista de livros que eu recomendo sem citar os meus próprios livros, não é mesmo? Tenho publicações ensinando a programar Android, Java, Node.js, MongoDB e mais. Confira clicando nesse link.