resources - Was ist das einflussreichste Buch, das jeder Programmierer lesen sollte?

Translate

Wenn Sie in die Vergangenheit reisen und sich sagen könnten, dass Sie zu Beginn Ihrer Karriere als Entwickler ein bestimmtes Buch lesen sollen, welches Buch wäre das?

Ich erwarte, dass diese Liste vielfältig ist und eine breite Palette von Dingen abdeckt.

Suchen:Verwenden Sie das Suchfeld in der oberen rechten Ecke. Verwenden Sie, um die Antworten der aktuellen Frage zu sucheninquestion:this. Zum Beispiel:

inquestion:this "Code Complete"
This question and all comments follow the "Attribution Required."

Alle Antworten

Translate
  • Code abgeschlossen(2. Auflage) von Steve McConnell
  • Der pragmatische Programmierer
  • Struktur und Interpretation von Computerprogrammen
  • Die Programmiersprache C.von Kernighan und Ritchie
  • Einführung in Algorithmenvon Cormen, Leiserson, Rivest & Stein
  • Designmustervon der Viererbande
  • Refactoring: Verbesserung des Designs vorhandenen Codes
  • Der Monat des mythischen Mannes
  • Die Kunst der Computerprogrammierungvon Donald Knuth
  • Compiler: Prinzipien, Techniken und Werkzeugevon Alfred V. Aho, Ravi Sethi und Jeffrey D. Ullman
  • Gödel, Escher, Bachvon Douglas Hofstadter
  • Clean Code: Ein Handbuch für agile Software-Handwerkskunstvon Robert C. Martin
  • Effektives C ++
  • Effektiveres C ++
  • CODEvon Charles Petzold
  • Perlen programmierenvon Jon Bentley
  • Effektiv mit Legacy Code arbeitenvon Michael C. Feathers
  • Peoplewarevon Demarco und Lister
  • Codierer bei der Arbeitvon Peter Seibel
  • Sicher scherzen Sie, Mr. Feynman!
  • Effektives Java2. Auflage
  • Muster der Unternehmensanwendungsarchitekturvon Martin Fowler
  • Der kleine Schemer
  • Der erfahrene Schemer
  • Warum (ergreifender) Leitfaden für Ruby
  • Die Insassen leiten das Asyl: Warum High-Tech-Produkte uns verrückt machen und wie man die geistige Gesundheit wiederherstellt
  • Die Kunst der Unix-Programmierung
  • Testgetriebene Entwicklung: Mit gutem Beispielvon Kent Beck
  • Praktiken eines agilen Entwicklers
  • Lass mich nicht nachdenken
  • Agile Softwareentwicklung, Prinzipien, Muster und Praktikenvon Robert C. Martin
  • Domaingesteuerte Designsvon Eric Evans
  • Das Design alltäglicher Dingevon Donald Norman
  • Modernes C ++ - Designvon Andrei Alexandrescu
  • Bestes Software-Schreiben I.von Joel Spolsky
  • Die Praxis des Programmierensvon Kernighan und Pike
  • Pragmatisches Denken und Lernen: Refactor Ihre Wetwarevon Andy Hunt
  • Software Estimation: Entmystifizierung der schwarzen Kunstvon Steve McConnel
  • Der leidenschaftliche Programmierer (Mein Job ging nach Indien)von Chad Fowler
  • Hacker: Helden der Computerrevolution
  • Algorithmen + Datenstrukturen = Programme
  • Soliden Code schreiben
  • JavaScript - Die guten Teile
  • Real werdenum 37 Signale
  • Grundlagen der Programmierungvon Karl Seguin
  • Computergrafik: Prinzipien und Praxis in C.(2. Auflage)
  • In Java denkenvon Bruce Eckel
  • Die Elemente von Computersystemen
  • Refactoring zu Musternvon Joshua Kerievsky
  • Moderne Betriebssystemevon Andrew S. Tanenbaum
  • Das kommentierte Turing
  • Dinge, die uns schlau machenvon Donald Norman
  • Die zeitlose Art zu bauenvon Christopher Alexander
  • Die Frist: Ein Roman über Projektmanagementvon Tom DeMarco
  • Die Programmiersprache C ++ (3. Ausgabe)von Stroustrup
  • Muster der Unternehmensanwendungsarchitektur
  • Computersysteme - Die Perspektive eines Programmierers
  • Agile Prinzipien, Muster und Praktiken in C #von Robert C. Martin
  • Wachsende objektorientierte Software, geführtdurch Tests
  • Richtlinien für das Framework-Designvon Brad Abrams
  • Objektdenkenvon Dr. David West
  • Erweiterte Programmierung in der UNIX-Umgebungvon W. Richard Stevens
  • Hacker und Maler: Große Ideen aus dem Computerzeitalter
  • Die Seele einer neuen Maschinevon Tracy Kidder
  • CLR über C #von Jeffrey Richter
  • Die zeitlose Art zu bauenvon Christopher Alexander
  • Entwurfsmuster in C #von Steve Metsker
  • Alice im Wunderlandvon Lewis Carol
  • Zen und die Kunst der Motorradpflegevon Robert M. Pirsig
  • Über das Gesicht - Die Grundlagen des Interaktionsdesigns
  • Hier kommt jeder: Die Kraft des Organisierens ohne Organisationenvon Clay Shirky
  • Das Tao der Programmierung
  • Computergestützte Schönheit der Natur
  • Soliden Code schreibenvon Steve Maguire
  • Philip und Alex 'Leitfaden zum Web Publishing
  • Objektorientierte Analyse und Design mit Anwendungenvon Grady Booch
  • Effektives Javavon Joshua Bloch
  • Berechenbarkeitvon NJ Cutland
  • Masterminds der Programmierung
  • Das Tao Te Ching
  • Der produktive Programmierer
  • Die Kunst der Täuschungvon Kevin Mitnick
  • Der Karriereprogrammierer: Guerilla-Taktiken für eine unvollkommene Weltvon Christopher Duncan
  • Paradigmen der Programmierung künstlicher Intelligenz: Fallstudien in Common Lisp
  • Meister des Schicksals
  • Pragmatischer Unit-Test in C # mit NUnitvon Andy Hunt und Dave Thomas mit Matt Hargett
  • Wie man es löstvon George Polya
  • Der Alchemistvon Paulo Coelho
  • Smalltalk-80: Die Sprache und ihre Implementierung
  • Sicheren Code schreiben(2. Auflage) von Michael Howard
  • Einführung in die funktionale Programmierungvon Philip Wadler und Richard Bird
  • Keine Bugs!von David Thielen
  • Nacharbeitvon Jason Freid und DHH
  • JUnit in Aktion
Quelle
Translate

K & R.

@ Juan: Ich kenne Juan, ich weiß - aber es gibt einige Dinge, die man nur lernen kann, wenn man sich tatsächlich der eigentlichen Aufgabe widmet. Den ganzen Tag in abstrakten Idealen zu sprechen, macht Sie einfach zu einem Akademiker. In der Anwendung des Abstrakten haben wir den Grund für ihre Existenz wirklich herausgearbeitet. : P.

@Keith: Große Erwähnung von "The Inmates are Running the Asylum" von Alan Cooper - ein Augenöffner für jeden Entwickler, der mit mir zusammengearbeitet hat, seit ich dieses Buch gelesen habe, hat mich die Ideen erwähnen hören, für die er sich einsetzt. +1

Quelle
Dale Lee
Translate

Diskrete Mathematik für Informatiker http://ecx.images-amazon.com/images/I/51HCJ5R42KL

Diskrete Mathematik für Informatikervon JK Truss.

Dies lehrt Sie zwar nicht das Programmieren, aber es bringt Ihnen grundlegende Mathematik bei, die jeder Programmierer kennen sollte. Sie erinnern sich vielleicht an dieses Zeug von der Universität, aber wenn Sie Prädikatenlogik verwenden, verbessern Sie Ihre Programmierkenntnisse. Sie müssen die Mengenlehre lernen, wenn Sie mit Sammlungen programmieren möchten.

Hier gibt es wirklich viele interessante Informationen, die Sie dazu bringen können, auf unterschiedliche Weise über Probleme nachzudenken. Es ist praktisch, nur ab und zu etwas Neues zu lernen.

Quelle
Translate

Systemantik: Wie Systeme funktionieren und insbesondere wie sie versagen. Holen Sie es billig verwendet. Aber Sie werden vielleicht nicht den Humor bekommen, bis Sie an ein paar fehlgeschlagenen Projekten gearbeitet haben.

Das Schöne am Buch ist das Jahr des Urheberrechts.

Wahrscheinlich das tiefgreifendste "Gesetz" zum Mitnehmen, das in dem Buch vorgestellt wird:

Das Fundamental Failure-Mode Theorem (FFT): Komplexe Systeme arbeiten normalerweise im Failure-Modus.

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

Quelle
Merle Lee
Translate

Einer meiner persönlichen Favoriten istHacker's Delight, weil das Lesen genauso viel Spaß machte wie lehrreich.

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

Quelle
Xanthe Lee
Translate

Extreme Programmierung erklärt: Umfassen Sie Veränderungenvon Kent Beck. Ich befürworte zwar keine Hardcore-Version von XP oder Highway für die Softwareentwicklung, aber ich wünschte, ich wäre viel früher in meiner Karriere in die Prinzipien dieses Buches eingeführt worden. Unit-Tests, Refactoring, Einfachheit, kontinuierliche Integration, Kosten / Zeit / Qualität / Umfang - dies hat meine Sicht auf die Entwicklung verändert. Vor Agile drehte sich alles um den Debugger und die Angst vor Änderungsanforderungen. Nach Agile waren diese Dämonen nicht mehr so groß.

Quelle
Ann Lee
Translate

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

Quelle
Hedy Lee
Translate

Datenbanksystemkonzepteist eines der besten Bücher, die Sie zum Verständnis guter Prinzipien des Datenbankdesigns lesen können.

alt text

Quelle
RD1
Translate

Die Praxis des Programmierens. Von Brian W. Kernighan, Rob Pike.

Der hier gezeigte Stil ist ausgezeichnet - der Code spricht nur für sich selbst und das ganze Buch folgt dem KISS-Prinzip. Persönlich nicht meine bevorzugte Sprache, aber dennoch einflussreich für mich.

Quelle
Translate

Programmierung von Grund auf.Es ist kostenlos im Internet. Dieses Buch hat mir AT & T asm beigebracht. Es ist sehr leicht zu lesen.

alt text

Quelle
Translate

Paradigmen der Programmierung künstlicher Intelligenz: Fallstudien in Common Lisp von Peter Norvig

enter image description here

Ich fing an, es zu lesen, weil ich Common Lisp lernen wollte. Als ich auf halbem Weg war, wurde mir klar, dass dies das größte Buch über Programmierung war, das ich bisher gelesen hatte.

Quelle
Translate

Definitiv Software-Handwerkskunst

Alternativtext http://ecx.images-amazon.com/images/I/5186JKTDVWL._SL500_AA240_.jpg

Dieses Buch erklärt viele Dinge über Software-Engineering und Systementwicklung. Es ist auch äußerst nützlich, den Unterschied zwischen verschiedenen Arten der Produktentwicklung zu verstehen: Web-VS-Shrinkwrap-VS-IBM-Framework. Was hatten die Leute vor, als sie ein Wasserfallmodell konzipierten? Lesen Sie dies und alles, was wir (hoffentlich) klar werden

Quelle
Joan Lee
Translate

@ Peter Coulton - du liest Knuth nicht, du studierst es.

Für mich und meine Arbeit ...Rein funktionale Datenstruktureneignet sich hervorragend zum Denken und Entwickeln mit Blick auf funktionale Sprachen.

Quelle
Omar Lee
Translate

"Die Welt ist flach" von Thomas Friedman.

Hervorragende Programmierkenntnisse erfordern eine Investition in geistige Energie und ein Engagement für kontinuierliches Lernen, das mit den Berufen der Medizin oder des Rechts vergleichbar ist. Es zahlt einen Bruchteil dessen, was diese Berufe zahlen, geschweige denn die Löhne, die an mathematisch versierte Personen gezahlt werden, die in den Finanzsektor einsteigen. Und Löhne fürCode konstruierenerodieren, weil es ein Beruf ist, der istverhältnismäßigleicht für die intelligenten und selbstdisziplinierten in den meisten Volkswirtschaften zu betreten.

Die Programmierung ist bereits so weit erodiert, dass weniger bezahlt wird als beispielsweise die Installation. Sanitär kann nicht "offshored" werden. Sie müssen nicht alle zwei Jahre 2395 US-Dollar bezahlen, um an der Professional Plumber's Conference teilzunehmen, um das Privileg zu erhalten, einen völlig neuen Satz von Sanitärtechnologien zu erhalten, für dessen Erlernen Sie ein Jahr benötigen.

Wenn Sie in Nordamerika oder Europa leben, jung und klug sind, ist Programmieren keine rationale Berufswahl. Unternehmen, dieeinbeziehenProgrammierung, absolut. Studieren Sie Business, wissen Sie genug über Programmierung, um Ihren BS-Detektor zu verfeinern: brillant. Aber den Löwenanteil Ihrer mentalen Energie der Beherrschung von Bibliotheken, Datenstrukturen und Algorithmen widmen? Das macht nur Sinn, wenn Programmieren für Sie mehr ist als eine wirtschaftliche Entscheidung.

Wenn duLiebeProgrammieren und aus diesem Grund beabsichtigen Sie, es zu Ihrer Karriere zu machen. Dann müssen Sie ein kaltäugiges Verständnis für die Kräfte entwickeln, die es sind und auch weiterhin machen werden, es zu einem immer schwierigeren Beruf zu machen, in dem Sie Ihren Lebensunterhalt verdienen können. "The World is Flat" bringt Ihnen nicht bei, wie Sie Ihre Variablen benennen sollen, sondern taucht Sie 6 oder 8 Stunden lang in die wirtschaftlichen Realitäten einbereitsist eingetroffen. Wenn Sie es lesen können und keine Angst bekommen,danngeh raus und kaufe "Code Complete".

Quelle
Translate

alt text

Im letzten Jahr habe ich mehrere Kurse besucht. ich lese

Das Dilemma des Innovators (disruptive Tech)
The Mythical Man Month (Software verwalten)
Crossing the Chasm (Start)
Datenbankmanagementsysteme, Das COW-Buch
Programmieren von C #, The OSTRICH Book
Anfängliche iPhone-Entwickler, das GRAPEFRUIT-Buch

Jedes Buch war erstaunlich, aber das Innovator's Dilemma von Clayton Christensen (1997 !!!) ist wirklich ein fantastisches Buch, und ich habe wirklich über die moderne Software-Welt nachgedacht. Die Herausforderung ist die disruptive Technologie und wie Festplattenhersteller und nichttechnische Unternehmen immer durch neue, bahnbrechende Technologien gestört werden. Es gibt eine neue Perspektive, wenn man an Google denkt, das wahrscheinlich größte "Web" -Unternehmen. Warum haben sie ihre Hände in ALLES? Es ist, weil sie ihre Position nicht haben wollengestörtvon etwas Neuem. Die Vorschau auf Google ist genug, um auf die Idee zu kommen. Lies es!

Quelle
Jared Lee
Translate

Hacker von Steven Levy.

Die Persönlichkeit und Lebensweise müssen an erster Stelle stehen. Alles andere kann gelernt werden.

Quelle
Julie Lee
Translate

Die Python-Sprache war sehr einflussreich für mich, ich wünschte, ich hätte dieses Buch vor Jahren gelesen. Die Schönheit und Einfachheit der Python-Sprache hat sich wirklich darauf ausgewirkt, wie ich Code in anderen Sprachen geschrieben habe.

alt text alt text

Quelle
Translate

Der neue Turing-Omnibus

Wirklich gutes Buch. Hat einen guten Einblick in die wichtigsten Bereiche der Informatik. Ja, CS! = Programmierung, aber dies ist immer noch für jeden Programmierer nützlich.

Quelle
Benedict Lee
Translate

Der mythische Mannmonat von Fred Brookshttp://en.wikipedia.org/wiki/The_Mythical_Man-Month

Quelle
Michelle Lee
Translate

Ich denke, dass "The Art of Unix Programming" ein exzellentes Buch ist, von einem exzellenten Hacker / brillanten Verstand wie Eric S. Raymond, der versucht, uns einige Prinzipien des Software-Designs verständlich zu machen (hauptsächlich Einfachheit). Dieses Buch ist ein Muss für jede Programmierung, die ein Projekt unter der Unix-Plattform starten möchte.

Quelle
Dolores Lee
Translate

Obwohl ich der Meinung bin, dass viele der oben genannten Bücher ein Muss sind (Pragmatischer Programmierer, Mythischer Mann-Monat, Kunst der Computerprogrammierung und SICP fallen mir sofort ein), möchte ich in eine etwas andere Richtung gehen und empfehlenEine Disziplin der Programmierungvon Edsger Dijkstra. Obwohl es 32 Jahre alt ist, ist die Betonung auf "Design für Überprüfbarkeit" von hoher Relevanz (auch wenn "Überprüfbarkeit" "Beweis" statt "Komponententests" bedeutet).

Quelle
Ed Lee
Translate

Martin FowlersRefactoring: Verbesserung des Designs vorhandenen Codeswurde bereits aufgeführt. Aber ich werde detailliert beschreiben, warum es mich beeinflusst hat.

Das Wesentliche des gesamten Buches ist die Strukturierung von Code, damit er einfacher zu lesen und zu verstehen istMenschen. Es lehrt mich nachdrücklich, dass der Code, den ich schreibe, für meine Kollegen und Nachfolger bestimmt ist, um etwas zu konsumieren und möglicherweise zu lernengutheraus. Es inspiriert mich bewusstProgrammieren Sie auf eine Weise, bei der die Leute meinen Namen loben und mich nicht für alle Ewigkeit zur Verdammnis verfluchen.

Quelle
Edwina Lee
Translate

Alternativtext http://ecx.images-amazon.com/images/I/61dECNkdnTL._SL500_AA240_.jpg

C ++ ProgrammierenEs ist gut für Anfänger. Dies ist ein ausgezeichnetes Buch, das 1500 Seiten umfasst.

Quelle
Owen Lee
Translate

Hier ist ein ausgezeichnetes Buch, das nicht so viel Beifall findet, aber voller tiefer Einsichten ist:Agile Softwareentwicklung: Das kooperative Spielvon Alistair Cockburn.

Was ist das Besondere daran? Nun, klar, jeder hat den Begriff "Agil" gehört, und es scheint, dass die meisten heutzutage Gläubige sind. Ob Sie glauben oder nicht, es gibt einige tiefe Prinzipien, warum die Agile-Bewegung existiert. Dieses Buch deckt diese Prinzipien auf präzise, wissenschaftliche Weise auf und artikuliert sie. Einige der Prinzipien sind (übrigens, das sind meine Worte, nicht die von Alistair):

  1. Das Schwierigste an der Entwicklung von Team-Software ist, dass alle Köpfe das gleiche Verständnis haben. Wir bauen riesige, ausgefeilte und komplexe Systeme, die in der greifbaren Welt unsichtbar sind. Je besser Sie in der Lage sind, mehr Menschen dazu zu bringen, ein tieferes Verständnis zu teilen, desto effektiver wird Ihr Team bei der Softwareentwicklung sein.Dies ist der Grund, warum die Paarprogrammierung sinnvoll ist. Die meisten Leute lehnen es ab (und ich tat es auch anfangs), aber unter Berücksichtigung dieses Prinzips empfehle ich dringend, dass Sie es noch einmal versuchen. Sie haben ZWEI Leute, die das soeben erstellte Subsystem genau verstehen ... es gibt nicht viele andere Möglichkeiten, um so schnell eine so tiefe Informationsübertragung zu erhalten. Es ist wie eine vulkanische Gedankenverschmelzung.
  2. Sie brauchen nicht immer Worte, um schnell tiefes Verständnis zu vermitteln. Und eine Konsequenz: Zu viele Wörter, und Sie überschreiten die Kapazität des Hörers / Lesers, was bedeutet, dass die von Ihnen versuchte Übertragung des Verständnisses nicht stattfindet. Bedenken Sie, dass Kinder lernen, wie man Sprache spricht, indem sie "eingetaucht" und "absorbiert" werden. Nicht nur die Sprache ... er gibt das Beispiel einiger Kinder, die mit Zügen auf dem Boden spielen. Da kommt noch ein Kind, das noch nie hatGESEHENein Zug vor ... aber indem er die anderen Kinder beobachtet, nimmt er den Kern des Spiels auf und spielt mit. Dies geschieht ständig zwischen Menschen. Dies zusammen mit der Folgerung über zu viele Wörter hilft Ihnen zu sehen, wie falsch es in den alten "Wasserfall" -Tagen war, zu versuchen, 700 Seiten detaillierte Anforderungsspezifikationen zu schreiben.

Da ist noch so viel mehr drin. Ich werde jetzt die Klappe halten, aber ich kann dieses Buch nur wärmstens empfehlen!

Quelle
Translate

Meister des Untergangs.Was Motivation und Liebe zu Ihrem Beruf angeht: Es wird nicht besser als das, was in diesem Buch beschrieben wurde, eine wahrhaft inspirierende Geschichte!

Quelle