Si vous ne pouviez avoir qu'un seul livre sur la programmation dans votre bibliothèque, de quoi s'agirait-il et pourquoi? [fermé]

58

Un par réponse s'il vous plaît. Je vais ajouter mon favori comme réponse.

Paddyslacker
la source
13
Un Kindle compte-t-il comme un seul livre?
Wizard79
5
Non, jouez juste maintenant!
Paddyslacker
1
Qu'en est-il de l'iPad?
Moshe
3
L'art de la programmation informatique compte-t-il comme un livre ou plusieurs?
David Thornley
2
@ David Je pense que c'est techniquement un livre en plusieurs volumes.
Paddyslacker

Réponses:

69

Code complet 2e éd.

Code complet par Steve McConnell. Je ne pense même pas que cela nécessite des explications. C'est le livre de référence sur la construction de logiciels. Incroyablement bien écrit et couvre tous les aspects du côté pratique (programmation) de la création de logiciels.

EpsilonVector
la source
+1 pour choisir la deuxième édition aussi - tellement d’améliorations par rapport à la première qu’il s’agit d’un livre différent.
Paddyslacker
+1 - J'ai la traduction italienne. Après cela, je n'ai jamais acheté un autre livre de programmation ou technique traduit dans ma langue, car la traduction était terrible. J'ai dû acheter l'édition anglaise pour comprendre certaines phrases!
Wizard79
Pour ceux qui vivent au Québec, Canada . BAnQ a la version complète de ce livre disponible en ligne à cet endroit: library.books24x7.com.res.banq.qc.ca/toc.asp?bookid=10482 .
HoLyVieR
4
Je ne suis pas d'accord Il est intéressant de noter que le mot immuable n'existe même pas dans ce livre.
Jonas
2
Bien que je conserve mon exemplaire de la première édition, je pense ne jamais y être revenu. La raison en est peut-être que des livres sur chacun des sujets, selon McConnell, sont importants.
Apalala
56

Facile.

Programmeur pragmatique

Stoosh
la source
6
+1 pour être réaliste. Ce livre est pertinent, facile à lire, et probablement le livre que de nombreux développeurs peuvent réellement tirer de la lecture. Trop d’autres sur cette liste sont difficiles et je doute d’avoir été lus de bout en bout.
Spong
Cette réponse est répétée.
Clrod
+1 - mon deuxième livre de programmation préféré derrière Code Complete (et honnêtement, parfois, c'est le premier)
Alan
36

La structure et l'interprétation des programmes informatiques, alias SICP

Quand j'ai vu que le SICP n'était pas encore répertorié, j'ai grimacé de douleur. :)

Pourquoi: Il n'y a rien de plus à ajouter à ce que Norvig loue ce livre comme étant la plus grande introduction à l'informatique jamais écrite. Bon ok, depuis le pourquoi? SICP aborde les bases du logiciel de manière satisfaisante, en soulevant de nombreuses perspectives et questions sur la nature du calcul - dont bon nombre restent des questions en suspens - tout en permettant au lecteur de voir au-delà des aspects superficiels de la faire, ou comment le faire.

alt text http://ecx.images-amazon.com/images/I/41CPGEDXMDL._SL500_AA300_.jpg

Cliquez sur l'image pour accéder au texte gratuit en ligne . Vous pouvez également retrouver facilement les conférences vidéo des auteurs , complétées par la couleur et les vêtements de style années 80.

limités
la source
2
Tous saluent le SICP. OMI, ce devrait être le manuel d'un cours d'introduction obligatoire à la programmation dans toutes les écoles CS. Cela éliminerait certainement les personnes qui ne peuvent pas vraiment réduire leurs dépenses en programmation (beaucoup moins en CS) tout en renforçant les compétences en CS et en programmation pour ceux qui ont un potentiel.
luis.espinal
1
@ luis.espinal Le SICP semble excessif pour la programmation d'initiation (à moins que nous ne parlions d'un programme d'études supérieures). Il y a une raison pour laquelle MIT a abandonné le cours SICP en tant que cours d'introduction ... Néanmoins, je suis d'accord pour dire qu'il est utile de consulter ce livre (et de faire les exercices ...), mais le faire dans un semestre collégial standard serait difficile, même pour un étudiant au-dessus de la moyenne. De plus, l'intro avec Java / Python / Ruby / C est plus pertinente pour la main-d'œuvre, plus vite vous maîtriserez les langages impératifs, mieux ce sera ... Le SICP est idéal par la suite pour élargir vos horizons. Mais cela pourrait être décourageant comme cours d'introduction ...
Cervo,
1
@Cervo - C'est une préoccupation valable, et cela me semble excessif, mais (et c'est une position totalement subjective, je le reconnais), je crois fermement que cela fournit une base plus profonde que celle que l'on trouve généralement avec d'autres approches classiques . Le jury est toujours avec le MIT, maintenant qu’ils ont opté pour Python (certaines raisons étant qu’il dispose également de fonctionnalités de PF et qu’il est très propice au calcul scientifique et à la robotique, ce que Scheme n’est pas.) Rien de mal à Python j'adore la langue), mais le jury sera jusqu'à ce qu'une version python'esque du SICP paraisse.
luis.espinal
2
@ con't - C'est-à-dire que je suggère le SICP non pas à cause de Scheme, mais à cause de son contenu pédagogique. J'aurais en fait suggéré de commencer par l'assemblage (les gens l'ont fait avec beaucoup de succès), mais il n'y a pas de livre d'assemblage (et il n'y en aura probablement jamais) comme le SICP. Le plus proche serait l'encyclopédie de Knuth (et ce serait une overkill.) En ce qui concerne Java , je travaille avec cela depuis 12 ans, et je ne le recommanderais pas pour l'enseignement .. fait le travail, mais c'est horrible comme un PL. C, Python ou Ruby sont des langages bien mieux conçus.
luis.espinal
1
@ con't - de plus, je mets en garde contre l'utilisation d'une langue comme outil pédagogique, car elle est courante. Le courant principal change tous les deux ou trois ans et, avec Java, le langage est simple, mais la tâche consiste à apprendre la JVM, les bibliothèques et l’architecture. Je dirais que pour apprendre le développement d’entreprise Java et .NET à la 4e année du collège. Et je crois (je sais, subjectif ) qu'il est important de fournir de la rigueur dès le début. Nous avons trop de programmeurs point-n-click qui ont eu besoin d’une certaine rigueur au début. J'ai fait beaucoup d'argent en nettoyant la merde qu'ils ont laissée, mais quand même;)
luis.espinal
32

À noter:

Le mois mythique

texte alternatif

éponge
la source
1
Si je ne pouvais jamais lire qu'un seul livre sur la programmation, et après avoir fini de le lire, il disparaîtra et je ne verrai jamais un autre livre pour le reste du temps, ce serait ça. Si je devais garder le livre sur mon étagère pour le regarder plus tard ... Ce pourrait être un autre volume, plus orienté référence. +1 quand même!
SingleNegationElimination
J'ai apprécié ce livre et l'ai lu tout au long. Cependant, une grande partie de ce matériel ne s’applique qu’à des projets de très grande envergure impliquant des centaines voire des milliers de personnes, voire des personnes travaillant dessus, comme un système d’exploitation; car c’est ce qu’il tire de son expérience. Je pensais que Code Complete était beaucoup plus utile en termes de connaissances que je pouvais utiliser quotidiennement et qui s’appliquaient à moi.
Despertar
30

Introduction aux algorithmes

Jonas
la source
Nous avons eu la quatrième édition mais c'est un excellent livre sur les algorithmes!
Chris
@Chris: Je ne pense pas qu'il existe une quatrième édition. La troisième édition date de septembre 2009, donc c'est nouveau.
Jonas
Errr, deuxième édition avec la couverture verte.
Chris
Ceci est le manuel requis pour ma classe ce terme. Je suis réconforté par le fait qu’elle figure sur la liste et qu’elle soit si appréciée par rapport à la question initiale de SO!
Pops
28

Modèles de conception: éléments d'un logiciel orienté objet réutilisable

C'est le livre à lire sur la conception et l'architecture de la POO. Les modèles sont bons lorsqu'ils sont utilisés correctement, mais je pense que la valeur réelle de ce livre est qu'il vous fournit une boîte à outils contenant des idées à utiliser lors de la conception.

texte alternatif

Fishtoaster
la source
La programmation orientée objet ne représente pas les limites de la programmation.
Inaimathi
Depuis que les catalogues de modèles sont en abondance (ce qui est ce livre), la valeur de ce livre a considérablement diminué avec le temps.
Steven Evers
1
Est-ce que beaucoup de gens lisent celui-ci de bout en bout? Je trouve que c'est plus une référence qu'un livre. (Et une référence que vous ne pouvez pas rechercher.)
idbrii
28

Clean Code de Robert C. Martin

"Clean Code" de Robert C. Martin

Les langages, les frameworks, les méthodologies vont et viennent, mais beaucoup d'idées de ce livre sont, je suppose, pour toujours.

Azheglov
la source
4
Aucune infraction au livre, mais pouvez-vous vraiment avoir une réponse acceptée sur ce sujet?
Martin Beckett
25

Refactoring: Améliorer la conception du code existant

texte alternatif

Daniel
la source
25

Je viens de compter mes livres aujourd'hui. 23 d'entre eux. Cela dépend de ce sur quoi je travaille. Je suppose que la réponse intemporelle est "le langage C", par Kernighan et Ritchie .

entrez la description de l'image ici

Moshe
la source
3
L'un des meilleurs livres d'enseignement des langues de l'histoire de l'informatique. Un bon exemple de la façon dont un livre de programmation devrait être écrit.
Wizard79
1
Et vaut la peine d'avoir sur l'étagère, il est plus rapide de trouver les codes de format printf dans le livre que dans la documentation d'aide de MSDN
Martin Beckett
19

Travailler efficacement avec Legacy Code par Michael Feathers.

Il contient de nombreux bons conseils sur la manière de tester et de gérer une base de code existante, dont je ne connaissais pas la plupart avant de lire ce livre. A lire absolument, même si le code existant que vous utilisez est votre propre code que vous avez écrit hier.

Travailler efficacement avec le code hérité

Paddyslacker
la source
Quelle belle couverture.
Pops
Ceci, étant donné que c'est mon objectif actuel: obtenir le code que j'ai écrit avant d'être "piloté par les tests" dans un état testable.
+1 Plusieurs fois oui. Ce livre m'a beaucoup aidé à mettre à jour l'ancien code.
Grant Palin
18

L'art de la programmation informatique par Donald Knuth

texte alternatif

Wizard79
la source
1
Je ne suis pas sûr que cela puisse être qualifié de "1 livre" (à moins que vous ne vouliez vraiment dire "que le volume 1")
Inaimathi
J'ai toute sa série, mais je me contenterais du volume 1. (Mon premier cours d'informatique en a été enseigné en 1967. Cela n'a pas de prix.) "Connais tes infrastructures de données".
Ira Baxter
15

Les livres Java indispensables:

Effective Java Par Josh Bloch

texte alternatif

La concurrence de Java en pratique Par Brian Goetz, et. Al.

texte alternatif

Java Puzzlers Par Josh Bloch, Neal Gafter

texte alternatif

Jeremy Heiler
la source
3
+1 pour Java efficace. Amélioré considérablement mes compétences en Java.
Ryan Hayes
+1 pour Effective Java , -1 pour ignorer Un par réponse, s'il vous plaît .
Mark Booth le
Le seul ensemble de livres Java que vous devriez avoir
Crowie
9

Gödel, Escher, Bach.

texte alternatif!

miku
la source
1
Ha! C'était mon choix dans la liste des livres non liés à la programmation! Je suppose que cela le rend inclassable?
Paddyslacker
J'ai vraiment aimé ce livre, il a été fortement recommandé par mon professeur de théorie de l'informatique à UW Madison - m'a beaucoup aidé en essayant de comprendre de quoi diable il parlait.
Peter Turner
@Paddyslacker, GEB passe beaucoup de temps à parler de calculabilité et de divers concepts informatiques.
5

Le programmeur pragmatique: de compagnon à maître (Andrew Hunt et David Thomas)

Maniero
la source
4

Getting Things Done (David Allen) vous apprend à gérer les milliers de petites tâches que vous devez accomplir dans votre travail quotidien de développeur de logiciels. Bien qu’elle ne soit pas spécifiquement destinée aux développeurs, c’est une aide précieuse, car le développement de logiciels implique généralement un très grand nombre de petites tâches qui doivent être effectuées de manière prioritaire. Par exemple: quelles nouvelles fonctionnalités à implémenter, quels bugs à corriger, quelles parties du code à refactoriser, quelles parties du code à suspendre ou à réessayer, etc.

Dimitri C.
la source
3

Le langage de programmation C ++ par Bjarne Stroustrup

texte alternatif

Prasoon Saurav
la source
+1: Seulement à cause de sa sécheresse et de ses détails. Depuis, je n'ai jamais eu l'impression de connaître autant de choses sur une langue après avoir rédigé un livre à ce sujet.
Mummey
2

Le zen de l'optimisation du code par Michael Abrash

Le zen de l'optimisation de code

Une lecture incontournable pour les programmeurs en temps réel - même si les informations spécifiques au processeur sont obsolètes, l'état d'esprit est inestimable.

AShelly
la source
2

Est-ce qu'un iPad compte? Je voudrais dire que mon n ° 1 sur ma bibliothèque serait un navigateur Web et une capacité de recherche. Les API en ligne et les références sont le meilleur endroit et cela dépend de mon ensemble de projet actuel.

Chris
la source
2
Non ce n'est pas. Voir le commentaire sur un Kindle ci-dessus. Cela dit, j'adore l'iPad quand même. Ce peut être une ressource précieuse, mais ce n’est pas encore un vrai livre. +1, je suis d'humeur de fanboy. :)
Moshe
2

Modèles de conception en rubis: texte alternatif

ennuikiller
la source
2

Les "pièges du développement orienté objet" de Bruce F. Webster

Nous avons trop de développeurs "OO" qui ne savent toujours pas ce qu'est un objet ou une classe, ni à quoi ça sert; Je ne sais pas à quoi ressemble une bonne programmation orientée processus, modulaire et structurée; et parviennent en quelque sorte à bricoler du code pseudo-procédural mal fait avec des classes.

Ce livre (plus quelques vieux 70's sur le design structuré) aiderait beaucoup ces pauvres âmes à enfin comprendre à quoi devrait ressembler une bonne orientation objet.


De plus, il est probable que si je devais choisir un livre et un livre à côté de celui-ci, je ne choisirais pas un livre spécifique à la technologie .

luis.espinal
la source
1

texte alternatif

C'est l'un des rares livres de programmation que j'ai conservés lorsque j'ai commencé à programmer. J'avais l'habitude de prêter cela beaucoup aux personnes qui débutaient. Maintenant, pas tellement, puisque C n’est plus le premier langage de programmation de beaucoup de gens. Il décrit très bien ce qui se passe dans les coulisses et ses descriptions sur les pointeurs apportent une réelle clarté à ce qui est par ailleurs un sujet très déroutant pour beaucoup.

Rich Schuler
la source
1

Jon Skeet "C # in Depth"

texte alternatif

ACP
la source
1
En fait, je n'ai pas aimé le livre de Jon. Les informations étaient bonnes, mais il y avait tellement de choses dans le livre "oh, ceci est important dans 10 chapitres à partir de maintenant" et le texte était très mal présenté.
Steven Evers
2
Soyez conscient qu'il existe une deuxième édition, qui est une mise à jour de la première et couvre également le C # 4.
Grant Palin
1

Conception d'objet: rôles, responsabilité et collaborations

texte alternatif

C'est de loin mon livre de programmation préféré (même s'il ne dépend pas de la langue). À mon humble avis, le livre qui décrit le mieux la façon de concevoir des objets en relation avec leurs cousins ​​/ frères / voisins. Un must dans toute bibliothèque sérieuse.

Chevalier rouge
la source