Frage Welches ist das einflussreichste Buch, das jeder Programmierer lesen sollte? [geschlossen]


Wenn du in der Zeit zurückgehen könntest und dir selbst zu Beginn deiner Karriere als Entwickler ein bestimmtes Buch vorlesen würdest, welches Buch wäre es?

Ich erwarte, dass diese Liste variiert und eine breite Palette von Dingen abdeckt.

Suchen: Verwenden Sie das Suchfeld in der oberen rechten Ecke. Um die Antworten der aktuellen Frage zu suchen, verwenden Sie inquestion:this. Beispielsweise:

inquestion:this "Code Complete"

1439


Ursprung


Antworten:


  • Code abgeschlossen (2. Auflage) von Steve McConnell
  • Der Pragmatische Programmierer
  • Struktur und Interpretation von Computerprogrammen
  • Die C Programmiersprache von Kernighan und Ritchie
  • Einführung in Algorithmen von Cormen, Leiserson, Rivest & Stein
  • Designmuster durch die Viererbande
  • Refactoring: Verbesserung der Gestaltung bestehender Codes
  • Der mythische Mann Monat
  • Die Kunst der Computerprogrammierung von Donald Knuth
  • Compiler: Prinzipien, Techniken und Tools von Alfred V. Aho, Ravi Sethi und Jeffrey D. Ullman
  • Gödel, Escher, Bach von Douglas Hofstadter
  • Clean Code: Ein Handbuch für Agile Software Craftsmanship von Robert C. Martin
  • Wirksames C ++
  • Effektiveres C ++
  • CODE von Charles Petzold
  • Programmierung von Perlen von Jon Bentley
  • Effektiv mit Legacy-Code arbeiten von Michael C. Feathers
  • Peopleware von Demarco und Lister
  • Kodierer bei der Arbeit von Peter Seibel
  • Sicher, Sie scherzen, Mr. Feynman!
  • Wirksames Java 2. Auflage
  • Muster der Enterprise Application Architecture von Martin Fowler
  • Der kleine Schemel
  • Der erfahrene Schemer
  • Warum ist (Poignant) Guide zu Ruby
  • Die Insassen betreiben das Asyl: Warum High-Tech-Produkte uns verrückt machen und wie man die Gesundheit wiederherstellt
  • Die Kunst der Unix-Programmierung
  • Testgetriebene Entwicklung: Mit Beispiel von Kent Beck
  • Praktiken eines agilen Entwicklers
  • Lass mich nicht denken
  • Agile Softwareentwicklung, Prinzipien, Muster und Praktiken von Robert C. Martin
  • Domain Driven Designs von Eric Evans
  • Das Design alltäglicher Dinge von Donald Norman
  • Modernes C ++ Design von Andrei Alexandrescu
  • Beste Software zum Schreiben I von Joel Spolsky
  • Die Praxis der Programmierung von Kernighan und Pike
  • Pragmatisches Denken und Lernen: Refactor Your Wetware von Andy Hunt
  • Software Estimation: Die schwarze Kunst entmystifizieren von Steve McConnel
  • Der leidenschaftliche Programmierer (Mein Job ging nach Indien) von Tschad Fowler
  • Hackers: Helden der Computerrevolution
  • Algorithmen + Datenstrukturen = Programme
  • Solide Code schreiben
  • JavaScript - Die guten Teile
  • Wirklich werden durch 37 Signale
  • Grundlagen der Programmierung von Karl Seguin
  • Computer Graphics: Prinzipien und Praxis in C(2. Ausgabe)
  • In Java denken von Bruce Eckel
  • Die Elemente von Computersystemen
  • Refactoring zu Mustern von Joshua Kerievsky
  • Moderne Betriebssysteme von Andrew S. Tanenbaum
  • Der annotierte Turing
  • Dinge, die uns smart machen von Donald Norman
  • Die zeitlose Art zu bauen von Christopher Alexander
  • Die Frist: Ein Novel über Projektmanagement von Tom DeMarco
  • Die C ++ Programmiersprache (3. Ausgabe) von Stroustrup
  • Muster der Enterprise Application Architecture
  • Computersysteme - die Perspektive eines Programmierers
  • Agile Prinzipien, Muster und Praktiken in C # von Robert C. Martin
  • Wachsende objektorientierte Software, geführt durch Tests
  • Framework Design Richtlinien von Brad Abrams
  • Objektdenken von Dr. David West
  • Erweiterte Programmierung in der UNIX-Umgebung von W. Richard Stevens
  • Hacker und Maler: Große Ideen aus dem Computerzeitalter
  • Die Seele einer neuen Maschine von Tracy Kidder
  • CLR über C # von Jeffrey Richter
  • Die zeitlose Art zu bauen von Christopher Alexander
  • Entwurfsmuster in C # von Steve Metsker
  • Alice im Wunderland von Lewis Carol
  • Zen und die Kunst der Motorradwartung von Robert M. Pirsig
  • Über Gesicht - Die Grundlagen des Interaktionsdesigns
  • Hier kommt jeder: Die Macht, ohne Organisationen zu organisieren von Clay Shirky
  • Das Tao der Programmierung
  • Computergestützte Schönheit der Natur
  • Solide Code schreiben von Steve Maguire
  • Philip und Alex's Guide zum Web Publishing
  • Objektorientierte Analyse und Design mit Anwendungen von Grady Booch
  • Wirksames Java von Joshua Bloch
  • Berechenbarkeit von N. J. Cutland
  • Masterminds der Programmierung
  • Das Tao Te Ching
  • Der produktive Programmierer
  • Die Kunst der Täuschung von Kevin Mitnick
  • Der Karriere-Programmierer: Guerilla-Taktiken für eine unvollkommene Welt von Christopher Duncan
  • Paradigmen der Künstlichen Intelligenz Programmierung: Fallstudien in Common Lisp
  • Meister des Schicksals
  • Pragmatische Unit Testing in C # mit NUnit von Andy Hunt und Dave Thomas mit Matt Hargett
  • Wie man es löst von George Polya
  • Der Alchemist von Paulo Coelho
  • Smalltalk-80: Die Sprache und ihre Implementierung
  • Sicherer Code schreiben (2. Auflage) von Michael Howard
  • Einführung in die Funktionale Programmierung von Philip Wadler und Richard Bird
  • Keine Wanzen! von David Thielen
  • Nacharbeit von Jason Freid und DHH
  • JUnit in Aktion

1747



K & R

@ Juan: Ich kenne Juan, ich weiß - aber es gibt einige Dinge, die nur erlernt werden können, wenn man sich wirklich der Aufgabe nähert. Den ganzen Tag in abstrakten Idealen zu sprechen macht dich einfach zum Akademiker. Es ist in der Anwendung des Abstrakten, dass wir wirklich den Grund für ihre Existenz finden. : P

@ Keith: Große Erwähnung von "Die Insassen sind das Asyl gelaufen" von Alan Cooper - ein Augenöffner für bestimmte, irgendwelche Entwickler, die mit mir gearbeitet haben, seit ich dieses Buch gelesen habe, habe ich gehört, die Ideen, die es vertritt. +1


9



Diskrete Mathematik für Informatiker http://ecx.images-amazon.com/images/I/51HCJ5R42KL._SL500_BO2,204,203,200_AA219_PIsitb-sticker-dp-arrow,TopRight,-24,-23_SH20_OU02_.jpg

Diskrete Mathematik für Informatiker von J.K. Fachwerk.

Während dies Sie nicht programmieren lehrt, lehrt es Sie grundlegende Mathematik, die jeder Programmierer wissen sollte. Sie erinnern sich vielleicht an diese Dinge aus der Universität, aber in der Tat wird Prädikatenlogik Ihre Programmierfähigkeiten verbessern, Sie müssen Satztheorie lernen, wenn Sie mit Sammlungen programmieren wollen.

Es gibt wirklich eine Menge interessanter Informationen, die Sie auf verschiedene Arten über Probleme informieren können. Es ist praktisch, es zu haben, nur um ab und zu etwas Neues zu lernen.


9



Systematik: Wie Systeme funktionieren und vor allem wie sie ausfallen. Lass es billig sein. Aber Sie können den Humor nicht bekommen, bis Sie an einigen gescheiterten Projekten gearbeitet haben.

Die Schönheit des Buches ist das Copyright-Jahr.

Wahrscheinlich das grundlegendste "Gesetz" zum Mitnehmen, das im Buch vorgestellt wird:

The Fundamental Failure-Mode Theorem (F.F.T.): Komplexe Systeme arbeiten normalerweise im Fehlermodus.

Die Idee ist, dass in einer bestimmten Software Teile fehlen, die durch Fehler in anderen Teilen oder durch Validierungen in anderen Teilen maskiert sind. Sehen Sie sich ein Beispiel aus der Praxis an Therac-25 Strahlungsmaschine, deren Softwarefehler durch Hardware-Failsafes maskiert wurden. Als die Hardware-Failsafes entfernt wurden, führte der Software-Race-Zustand, der all diese Jahre unentdeckt geblieben war, dazu, dass die Maschine 3 Leute tötete.


9



Einer meiner persönlichen Favoriten ist Hacker Freudeweil es so viel Spaß machte zu lesen, wie es lehrreich war.

Ich hoffe, dass die zweite Ausgabe bald veröffentlicht wird!


9



Konzepte, Techniken und Modelle der Computerprogrammierung.

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


9



Extreme Programmierung erklärt: Umarmung ändern von Kent Beck. Während ich nicht für eine hardcore XP-oder-the-highway-Entwicklung von Software bin, wünschte ich, ich hätte die Prinzipien in diesem Buch viel früher in meiner Karriere kennengelernt. Komponententests, Refactoring, Einfachheit, kontinuierliche Integration, Kosten / Zeit / Qualität / Umfang - das änderte meine Sicht auf die Entwicklung. Vor Agile ging es um den Debugger und die Angst vor Änderungswünschen. Nach Agile waren diese Dämonen nicht so groß.


9



Typen und Programmiersprachen von Benjamin C. Pierce für ein gründliches Verständnis der Grundlagen von Programmiersprachen.


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