Question Quel est le livre le plus influent que chaque programmeur devrait lire? [fermé]


Si vous pouviez remonter le temps et vous dire de lire un livre spécifique au début de votre carrière en tant que développeur, quel livre serait-il?

Je m'attends à ce que cette liste soit variée et couvre un large éventail de choses.

Chercher: Utilisez la zone de recherche dans le coin supérieur droit. Pour rechercher les réponses à la question en cours, utilisez inquestion:this. Par exemple:

inquestion:this "Code Complete"

1439


origine


Réponses:


  • Code complet (2e édition) par Steve McConnell
  • Le programmeur pragmatique
  • Structure et interprétation des programmes d'ordinateur
  • Le langage de programmation C par Kernighan et Ritchie
  • Introduction aux algorithmes par Cormen, Leiserson, Rivest & Stein
  • Modèles de conception par le gang des quatre
  • Refactorisation: amélioration de la conception du code existant
  • Le mois de l'homme mythique
  • L'art de la programmation informatique par Donald Knuth
  • Compilateurs: principes, techniques et outils par Alfred V. Aho, Ravi Sethi et Jeffrey D. Ullman
  • Gödel, Escher, Bach par Douglas Hofstadter
  • Clean Code: un manuel d'artisanat logiciel agile par Robert C. Martin
  • C ++ efficace
  • C ++ plus efficace
  • CODE par Charles Petzold
  • Perles de programmation par Jon Bentley
  • Travailler efficacement avec le code existant par Michael C. Feathers
  • Peopleware par Demarco et Lister
  • Codeurs au travail par Peter Seibel
  • Vous plaisantez sûrement, M. Feynman!
  • Java efficace 2e édition
  • Modèles d'architecture d'application d'entreprise par Martin Fowler
  • Le petit Schemer
  • Le Schemer assaisonné
  • Pourquoi (Poignant) Guide de Ruby
  • Les détenus gèrent l'asile: pourquoi les produits de haute technologie nous rendent-ils fous et comment restaurer la santé mentale?
  • L'art de la programmation Unix
  • Développement piloté par les tests: par exemple par Kent Beck
  • Pratiques d'un développeur agile
  • Ne me fais pas penser
  • Développement de logiciels agiles, principes, modèles et pratiques par Robert C. Martin
  • Conceptions générées par domaine par Eric Evans
  • La conception des choses de tous les jours par Donald Norman
  • Design C ++ moderne par Andrei Alexandrescu
  • Meilleur logiciel d'écriture I par Joel Spolsky
  • La pratique de la programmation par Kernighan et Pike
  • Pensée pragmatique et apprentissage: Refactorisez votre Wetware par Andy Hunt
  • Estimation logicielle: démystifier l'art noir par Steve McConnel
  • Le programmeur passionné (mon travail est allé en Inde) par Chad Fowler
  • Hackers: Héros de la révolution informatique
  • Algorithmes + Structures de données = Programmes
  • Écriture de code solide
  • JavaScript - Les bonnes parties
  • Obtenir réel par 37 signaux
  • Fondations de la programmation par Karl Seguin
  • Infographie: Principes et pratique en C(2ème édition)
  • Penser en Java par Bruce Eckel
  • Les éléments des systèmes informatiques
  • Refactoriser des motifs par Joshua Kerievsky
  • Systèmes d'exploitation modernes par Andrew S. Tanenbaum
  • Le Turing annoté
  • Des choses qui nous rendent intelligents par Donald Norman
  • Le mode de construction intemporel par Christopher Alexander
  • La date limite: un roman sur la gestion de projet par Tom DeMarco
  • Le langage de programmation C ++ (3ème édition) par Stroustrup
  • Modèles d'architecture d'application d'entreprise
  • Systèmes informatiques - La perspective d'un programmeur
  • Principes, modèles et pratiques agiles en C # par Robert C. Martin
  • Logiciel orienté objet orienté, guidé par des tests
  • Directives de conception du cadre par Brad Abrams
  • La pensée d'objet par le Dr. David West
  • Programmation avancée dans l'environnement UNIX par W. Richard Stevens
  • Hackers and Painters: de grandes idées à l'ère de l'informatique
  • L'âme d'une nouvelle machine par Tracy Kidder
  • CLR via C # par Jeffrey Richter
  • Le mode de construction intemporel par Christopher Alexander
  • Design Patterns en C # par Steve Metsker
  • Alice au pays des merveilles par Lewis Carol
  • Zen et l'art de l'entretien de la moto par Robert M. Pirsig
  • À propos de Face - Les essentiels de la conception d'interaction
  • Ici vient tout le monde: le pouvoir de s'organiser sans organisations par Clay Shirky
  • Le Tao de la programmation
  • Beauté computationnelle de la nature
  • Écriture de code solide par Steve Maguire
  • Le guide de Philip et Alex pour la publication Web
  • Analyse orientée objet et conception avec applications par Grady Booch
  • Java efficace par Joshua Bloch
  • Calculabilité par N. J. Cutland
  • Masterminds de programmation
  • Le Tao Te Ching
  • Le programmeur productif
  • L'art de la tromperie par Kevin Mitnick
  • Le programmeur de carrière: Guérilla Tactics pour un monde imparfait par Christopher Duncan
  • Paradigmes de la programmation de l'intelligence artificielle: études de cas en Common Lisp
  • Maîtres de Doom
  • Test d'unité pragmatique en C # avec NUnit par Andy Hunt et Dave Thomas avec Matt Hargett
  • Comment le résoudre par George Polya
  • L'alchimiste par Paulo Coelho
  • Smalltalk-80: la langue et sa mise en œuvre
  • Écriture de code sécurisé (2e édition) par Michael Howard
  • Introduction à la programmation fonctionnelle par Philip Wadler et Richard Bird
  • Pas de bugs! par David Thielen
  • Rework par Jason Freid et DHP
  • JUnit en action

1747



K & R

@Juan: Je connais Juan, je sais, mais il y a des choses qui ne peuvent être apprises qu'en se mettant réellement au travail. Parler dans des idéaux abstraits toute la journée fait de vous un universitaire. C'est dans l'application de l'abstrait que nous fondons vraiment la raison de leur existence. : P

@Keith: Une grande mention de "Les détenus font courir l'asile" par Alan Cooper - un révélateur pour certains, tout développeur qui a travaillé avec moi depuis que j'ai lu ce livre m'a entendu mentionner les idées qu'il épouse. +1


9



Mathématiques discrètes pour les informaticiens http://ecx.images-amazon.com/images/I/51HCJ5R42KL._SL500_BO2,204,203,200_AA219_PIsitb-sticker-dp-arrow,TopRight,-24,-23_SH20_OU02_.jpg

Mathématiques discrètes pour les informaticiens par J.K. Ferme.

Bien que cela ne vous enseigne pas la programmation, il vous enseigne les mathématiques fondamentales que tout programmeur doit savoir. Vous pouvez vous souvenir de ces choses de l'université, mais vraiment, en faisant la logique des prédicats vous améliorerez vos compétences en programmation, vous devez apprendre la théorie des ensembles si vous voulez programmer en utilisant des collections.

Il y a vraiment beaucoup d'informations intéressantes qui peuvent vous aider à réfléchir aux problèmes de différentes manières. C'est pratique à avoir, juste pour apprendre de temps en temps à apprendre quelque chose de nouveau.


9



Systemantics: Comment fonctionnent les systèmes et surtout comment ils échouent. Obtenez-le utilisé pas cher. Mais vous pourriez ne pas avoir l'humour jusqu'à ce que vous ayez travaillé sur quelques projets échoués.

La beauté du livre est l'année du copyright.

Probablement la "loi" la plus profonde à emporter présentée dans le livre:

Le théorème fondamental du mode de défaillance (F.F.T.): Les systèmes complexes fonctionnent généralement en mode de défaillance.

L'idée étant qu'il existe des parties défectueuses dans un logiciel donné qui sont masquées par des défaillances dans d'autres parties ou par des validations dans d'autres parties. Voir un exemple du monde réel à la Therac-25 machine à rayonnement, dont les failles logicielles ont été masquées par des failafes matérielles. Lorsque les défaillances matérielles ont été supprimées, l'état de concurrence du logiciel qui n'avait pas été détecté au cours de toutes ces années a entraîné la mort de trois personnes.


9



Un de mes favoris personnels est Hacker's Delight, parce que c'était aussi amusant à lire que c'était éducatif.

J'espère que la deuxième édition sera bientôt disponible!


9



Concepts, techniques et modèles de programmation informatique.

alt text http://ecx.images-amazon.com/images/I/51YZ50ZR13L._SL500_AA240_.jpg


9



La programmation extrême expliquée: adopter le changement par Kent Beck. Bien que je ne préconise pas une prise en charge du développement logiciel par XP ou par l'autoroute, j'aurais aimé que l'on m'ait présenté les principes de ce livre beaucoup plus tôt dans ma carrière. Tests unitaires, refactoring, simplicité, intégration continue, coût / temps / qualité / portée - ceux-ci ont changé la façon dont je considérais le développement. Avant Agile, tout était question de débogueur et de peur des changements. Après Agile, ces démons ne se profilaient pas aussi gros.


9



Types et langages de programmation par Benjamin C Pierce pour une compréhension approfondie des fondements des langages de programmation.


9



alt text http://ecx.images-amazon.com/images/I/51E0Ojkz8iL._BO2,204,203,200_PIsitb-sticker-arrow-click,TopRight,35,-76_AA300_SH20_OU01_.jpg


9