Se você pudesse ter apenas um livro relacionado à programação em sua estante, o que seria e por quê? [fechadas]


Respostas:


69

Código Completo 2ª Ed.

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.


+1 por escolher a segunda edição também - tantas melhorias em relação à primeira que é um livro diferente.
— Paddyslacker 04/04/10

+1 - Eu tenho a tradução em italiano. Depois disso, nunca comprei outro livro técnico ou de programação traduzido no meu idioma, pois a tradução foi terrível. Eu tive que comprar a edição em inglês para entender algumas frases!
— precisa saber é o seguinte

Para quem mora em Quebec, Canadá . O BAnQ tem a versão completa deste livro disponível on-line neste local: library.books24x7.com.res.banq.qc.ca/toc.asp?bookid=10482 .
— HoLyVieR

4
Eu não posso concordar. É interessante que a palavra imutável nem exista neste livro.
— Jonas

2
Embora guarde minha cópia da primeira edição, acho que nunca voltei a ela. O motivo pode ser o fato de ter livros sobre cada um dos tópicos que McConnell diz serem importantes.
— Apalala 20/03

56

Fácil.

Programador Pragmático


6
+1 por ser realista. Este livro é relevante, fácil de ler e provavelmente o livro que muitos desenvolvedores podem realmente se beneficiar da leitura. Muitos outros nesta lista são difíceis e duvido que tenham sido lidos de capa a capa.
— spong

Esta resposta é repetida.
— clrod

+1 - meu livro de programação segundo favorito trás Code Complete (e honestamente, às vezes, é em primeiro lugar)
— Alan

36

A Estrutura e Interpretação de Programas de Computador, também conhecida como SICP

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.


2
Todos saudam o SICP. Na IMO, deve ser o livro de um curso introdutório obrigatório de programação em todas as escolas de CS. Certamente eliminaria pessoas que realmente não conseguem cortá-lo na programação (muito menos SC), ao mesmo tempo em que fortalece as habilidades de programação e programação para aqueles com potencial.
— Luis.espinal 18/10/10

11
@ luis.espinal O SICP parece um exagero para a programação introdutória (a menos que estejamos falando de pós-graduação). Há uma razão pela qual o MIT abandonou o curso SICP como seu curso de introdução ... Ainda assim, concordo que é valioso passar por este livro (e fazer os exercícios ...), mas fazer isso em um semestre normal da faculdade seria difícil para um aluno acima da média. Além disso, a introdução ao Java / Python / Ruby / C é mais relevante para a força de trabalho, quanto mais alguém se acostumar com linguagens imperativas, melhor ... O SICP é ótimo para expandir seus horizontes. Mas pode ser desanimador como um curso de introdução ...
— Cervo

11
@Cervo - É uma preocupação válida, e parece um exagero, mas (e esta é uma posição completamente subjetiva, eu reconheço), acredito firmemente que fornece uma base mais profunda do que normalmente se encontra com outras abordagens convencionais . O júri ainda está de fora com o MIT agora que eles mudaram para o Python (algumas das razões são que ele também possui recursos de FP e é altamente passível de computação científica e robótica, o que Scheme não é). adoro a linguagem), mas o júri seria publicado até que uma versão Python do SICP fosse lançada.
— Luis.espinal

2
@ con't - Ou seja, sugiro o SICP não por causa do Scheme, mas por causa do seu conteúdo pedagógico. Na verdade, eu sugerira começar com a montagem (as pessoas fizeram isso com sucesso), mas não existem livros de montagem (e provavelmente nunca haverá) como o SICP. O mais próximo seria a enciclopédia de Knuth (e isso seria um exagero.) Quanto ao java , eu trabalho com ele há 12 anos e não o recomendo para o ensino. Faz o trabalho, mas é horrível como um PL. C, Python ou Ruby são linguagens muito melhor projetadas.
— Luis.espinal

11
@ cont - também, eu alertaria contra o uso de uma linguagem como uma ferramenta pedagógica, porque é mainstream. O mainstream muda a cada 2-3 anos e, com Java, a linguagem é simples, mas a tarefa é aprender a JVM, as bibliotecas e a arquitetura. Eu diria para aprender o desenvolvimento empresarial Java e .NET no 4º ano da faculdade. E acredito (eu sei, subjetivo ) que é importante fornecer rigor desde o início. Temos muitos programadores point-n-click por aí que precisavam de algum rigor desde o início. Eu fiz um monte de dinheiro limpar a porcaria que deixaram para trás, mas ainda;)
— luis.espinal

32

Vale a pena mencionar:

O Mítico Homem-Mês

texto alternativo


11
Se ao menos eu pudesse ler um livro sobre programação e, depois que terminasse de ler, ele desaparecesse E nunca mais veria outro livro pelo resto do tempo, seria esse. Se eu mantivesse o livro na minha estante para olhar mais tarde ... Pode ser outro volume mais orientado para referência. +1 de qualquer maneira!
— SingleNegationElimination

Gostei deste livro e o li o tempo todo. No entanto, grande parte do material se aplica apenas a projetos de grande escala, com centenas ou mesmo milhares ou pessoas trabalhando nele como um sistema operacional; pois é disso que ele extrai sua experiência. Eu pensei que o Code Complete era muito mais útil em termos de conhecimento que eu poderia usar todos os dias e que se aplicava a mim.
— Despertar

30

Tivemos a quarta edição, mas este é um ótimo livro sobre algoritmos!
— Chris

@ Chris: Eu não acho que exista uma quarta edição. A terceira edição é de setembro de 2009, então é nova.
— Jonas

Errr, segunda edição com a capa verde.
— Chris

Este é o livro didático necessário para minha classe neste termo. Estou muito animado por estar na lista aqui e por ter uma classificação tão alta na pergunta SO original!
— Pops

28

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.

texto alternativo


OOP não representa os limites da programação.
— Inaimathi

Como os catálogos de padrões estão em abundância (como é este livro), o valor deste livro diminuiu significativamente ao longo do tempo.
— Steven Evers

11
Muitas pessoas leem este livro de capa a capa? Acho que é mais uma referência do que um livro. (E uma referência que você não pode procurar.)
— idbrii


25

Refatoração: aprimorando o design do código existente

texto alternativo


25

Eu apenas contei meus livros hoje. 23 deles. Depende do que estou trabalhando. Acho que a resposta atemporal é "linguagem C", de Kernighan e Ritchie .

insira a descrição da imagem aqui


3
Um dos melhores livros de ensino de idiomas da história da computação. Um bom exemplo de como um livro de programação deve ser escrito.
— usar o seguinte comando

11
E vale a pena ter na prateleira, é mais rápido para encontrar os códigos de formato printf no livro do que em ajuda docs MSDN
— Martin Beckett

19

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.

Trabalhando efetivamente com o código herdado


Que ótima cobertura.
— Pops

Este é o meu foco atual: colocar o código que escrevi antes de ser "testado" em um estado testável.

+1 Muitas vezes sim. Este livro me ajudou bastante na atualização de códigos antigos.
— Grant Palin

18

11
Não estou certo de que este qualifica como "um livro" (a menos que você realmente quer dizer "apenas Volume 1")
— Inaimathi

Eu tenho toda a série dele, mas me contentaria com o Volume 1. (Minha primeira aula de ciência da computação foi ministrada em 1967. Foi inestimável). "Conheça as tuas estruturas de dados".
— Ira Baxter

15

Os livros Java obrigatórios:

Java eficaz por Josh Bloch

texto alternativo

Concorrência Java na Prática Por Brian Goetz, et. al.

texto alternativo

Java Puzzlers Por Josh Bloch, Neal Gafter

texto alternativo


3
+1 para Java efetivo. Melhorei bastante minhas habilidades em Java.
— Ryan Hayes

+1 para Java efetivo , -1 para ignorar um por resposta, por favor .
— 22868 Mark Booth

A um conjunto de livros de Java você deve ter
— Crowie


9

Gödel, Escher, Bach.

texto alternativo!


11
Ha! Essa foi minha escolha na lista de livros não relacionados à programação! Eu acho que isso torna não classificável?
— Paddyslacker 17/09/10

Gostei muito deste livro, que foi altamente recomendado pelo meu professor de Teoria da Computação na UW Madison - ajudou muito ao tentar entender do que diabos ele estava falando.
— Peter Turner #

@ Paddyslacker, GEB gasta bastante tempo conversando sobre computabilidade e vários conceitos de ciência da computação.

5

O Programador Pragmático: De Journeyman a Master (Andrew Hunt e David Thomas)


4

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.




2

O Zen da otimização de código de Michael Abrash

O Zen da otimização de código

Uma leitura obrigatória para programadores em tempo real - mesmo que as informações específicas do processador estejam desatualizadas, a mentalidade é inestimável.


2

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.


2
Não, não faz. Veja o comentário sobre um Kindle acima. Dito isto, eu amo o iPad de qualquer maneira. Pode ser um recurso valioso, mas ainda não é um livro real. +1, estou de bom humor. :)
— Moshe


2

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 .


1

texto alternativo

É 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.


1

O "c # in Depth" de Jon Skeet

texto alternativo


11
Na verdade, eu não gostei do livro de Jon. As informações eram boas, mas havia tanto "oh, isso é importante daqui a 10 capítulos" no livro, de tal forma que parecia muito mal disposto.
— Steven Evers

2
Esteja ciente de que há uma segunda edição, que é uma atualização do primeiro e também abrange C # 4.
— Grant Palin

1

Design de Objetos: Funções, Responsabilidade e Colaborações

texto alternativo

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.


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.