Um por resposta, por favor. Vou adicionar o meu favorito como resposta.
Um por resposta, por favor. Vou adicionar o meu favorito como resposta.
Respostas:
Código concluído por Steve McConnell. Eu nem acho que precisa de explicação. É o livro definitivo sobre construção de software. Incrivelmente bem escrito e abrange todos os aspectos do lado prático (programação) da criação de software.
Fácil.
Quando vi que o SICP ainda não estava listado, fiz uma careta de dor. :)
Por quê: Não há mais nada a acrescentar a Norvig elogiar este livro como a melhor introdução à ciência da computação já escrita. Bem, ok, desde o Por quê? foi solicitado: o SICP cobre os fundamentos do software de uma maneira satisfatória e profunda, levantando muitas perspectivas e questões sobre a natureza da computação - algumas das quais permanecem questões em aberto - enquanto leva o leitor a ver além dos aspectos superficiais de dizer à máquina o que fazer ou como fazê-lo.
texto alternativo http://ecx.images-amazon.com/images/I/41CPGEDXMDL._SL500_AA300_.jpg
Clique na imagem para obter o texto livre online . Você também pode encontrar facilmente as palestras em vídeo dos autores , com cores e roupas no estilo dos anos 80.
Vale a pena mencionar:
Padrões de Design: Elementos de Software Orientado a Objetos Reutilizáveis
Este é o livro para ler sobre arquitetura e design de OOP. Os padrões são bons quando usados adequadamente, mas acho que o valor real deste livro é que ele fornece uma caixa de ferramentas de idéias para usar ao projetar.
Código Limpo de Robert C. Martin
Idiomas, estruturas, metodologias vêm e vão, mas muitas idéias neste livro são, suspeito, para sempre.
Eu apenas contei meus livros hoje. 23 deles. Depende do que estou trabalhando. Acho que a resposta atemporal é "linguagem C", de Kernighan e Ritchie .
Trabalhando efetivamente com o Legacy Code, de Michael Feathers.
Ele contém muitas boas dicas de como obter uma base de código existente sob teste e gerenciável, a maioria das quais eu não conhecia até ler este livro. Uma leitura obrigatória, mesmo que o código legado com o qual você esteja trabalhando seja o seu próprio código que você escreveu ontem.
A arte da programação de computadores por Donald Knuth
Java eficaz por Josh Bloch
Concorrência Java na Prática Por Brian Goetz, et. al.
Java Puzzlers Por Josh Bloch, Neal Gafter
Codificadores no trabalho de Peter Seibel
Interessante e inspirador, altamente recomendado.
Gödel, Escher, Bach.
Como fazer as coisas (David Allen) ensina a lidar com as milhares de pequenas tarefas que você precisa realizar no seu trabalho diário como desenvolvedor de software. Embora não seja especificamente voltado para desenvolvedores, é definitivamente uma ajuda inestimável, pois o desenvolvimento de software geralmente envolve um número muito grande de pequenas tarefas que precisam ser realizadas de maneira priorizada. Por exemplo: quais novos recursos implementar, quais erros corrigir, quais partes do código refatorar, quais partes do código devem ser repousadas ou testadas novamente, etc.
A linguagem de programação C ++ de Bjarne Stroustrup
O Zen da otimização de código de Michael Abrash
Uma leitura obrigatória para programadores em tempo real - mesmo que as informações específicas do processador estejam desatualizadas, a mentalidade é inestimável.
Um iPad conta? Gostaria de dizer que o meu número 1 na estante seria um navegador da Web e capacidade de pesquisar. A API e as referências on-line são o melhor local e dependeria do meu conjunto de projetos atual.
Padrões de design em Ruby:
As Armadilhas do Desenvolvimento Orientado a Objetos de Bruce F. Webster
Temos muitos desenvolvedores "OO" que ainda não sabem o que é um objeto ou classe ou para que serve; não sabe como é a programação OO, processual, modular e estruturada; e, de alguma forma, consegue misturar códigos pseudo-processuais mal elaborados junto com classes.
Este livro (mais alguns anos 70 em design estruturado) ajudaria bastante essas pobres almas a entender como deveria ser uma boa orientação a objetos.
Além disso, as chances são de que, se eu fosse forçado a escolher um livro e um livro somente ao lado deste, não escolheria um livro específico para a tecnologia .
É um dos poucos livros de programação que eu mantive quando comecei a programar. Eu costumava emprestar isso muito para as pessoas que estavam começando pela primeira vez. Agora, nem tanto, já que C não é mais a primeira linguagem de programação de muitas pessoas. Ele faz um trabalho maravilhoso ao descrever o que está acontecendo nos bastidores e suas descrições sobre indicadores trazem uma verdadeira clareza ao que, de outra forma, é um tópico muito confuso para muitos.
O "c # in Depth" de Jon Skeet
Design de Objetos: Funções, Responsabilidade e Colaborações
Este é de longe o meu livro de programação favorito (mesmo que não seja dependente da linguagem). Na minha humilde opinião, é o livro que apresenta melhor o caso de como projetar objetos relacionados aos seus primos / irmãos / vizinhos. Um item obrigatório em qualquer estante de programadores séria.
Um dos meus livros mais apreciados;