Wenn Sie nur ein programmierbezogenes Buch in Ihrem Bücherregal haben könnten, welches wäre es und warum? [geschlossen]


58

Eine pro Antwort bitte. Ich werde meinen Favoriten als Antwort hinzufügen.


13
Zählt ein Kindle als ein einziges Buch?
Wizard79

5
Jetzt fair spielen!
Paddyslacker

1
Wie wäre es mit iPad?
Moshe

3
Zählt die Kunst der Computerprogrammierung als ein Buch oder als mehrere?
David Thornley

2
@ David Ich denke, das ist technisch ein Buch in mehreren Bänden.
Paddyslacker

Antworten:


69

Code Complete 2nd Ed.

Code komplettiert von Steve McConnell. Ich denke nicht einmal, dass es einer Erklärung bedarf. Es ist das definitive Buch über Softwarekonstruktion. Unglaublich gut geschrieben und deckt alle Aspekte der praktischen (Programmier-) Seite der Softwareerstellung ab.


+1 für die Auswahl der zweiten Ausgabe auch - so viele Verbesserungen gegenüber der ersten, dass es ein anderes Buch ist.
Paddyslacker

+1 - Ich habe die italienische Übersetzung. Danach habe ich nie mehr ein Programmier- oder Fachbuch gekauft, das in meine Sprache übersetzt wurde, da die Übersetzung fürchterlich war. Ich musste die englische Ausgabe kaufen, um einige Sätze wirklich zu verstehen!
Wizard79

Für diejenigen, die in Quebec, Kanada leben . Der BAnQ stellt die vollständige Version dieses Buches online unter folgender Adresse zur Verfügung: library.books24x7.com.res.banq.qc.ca/toc.asp?bookid=10482 .
HoLyVieR

4
Da kann ich nicht zustimmen Es ist interessant, dass das Wort unveränderlich nicht einmal in diesem Buch existiert.
Jonas

2
Obwohl ich mein Exemplar der ersten Ausgabe behalte, glaube ich, dass ich nie darauf zurückgekommen bin. Der Grund könnte sein, dass Bücher zu jedem der von McConnell als wichtig erachteten Themen erschienen.
Apalala,

56

Einfach.

Pragmatischer Programmierer


6
+1 für realistisch. Dieses Buch ist relevant, leicht zu lesen und wahrscheinlich das Buch, von dem viele Entwickler tatsächlich profitieren können. Zu viele andere auf dieser Liste sind schwierig und ich bezweifle, dass sie vollständig gelesen wurden.
Spong

Diese Antwort wird wiederholt.
Clrod

+1 - mein zweites Lieblings-Programmierbuch hinter Code Complete (und ehrlich gesagt, manchmal ist es das erste)
Alan

36

Die Struktur und Interpretation von Computerprogrammen, auch bekannt als SICP

Als ich sah, dass SICP noch nicht gelistet war, verzog ich das Gesicht vor Schmerzen. :)

Warum: Norvigs Lob für dieses Buch als die größte Einführung in die Informatik, die je geschrieben wurde, ist nichts weiter zu ergänzen . Na gut, seit dem Warum? wurde angefragt: SICP behandelt die Grundlagen von Software auf zufriedenstellende Weise und wirft viele Perspektiven und Fragen zur Art der Berechnung auf, von denen einige noch offen sind zu tun, oder wie es geht.

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

Klicken Sie auf das Bild, um zum Online- Freitext zu gelangen . Die Videovorträge der Autoren mit Farben und Kleidung im 80er-Jahre-Stil sind ebenfalls leicht zu finden .


2
Alle begrüßen die SICP. IMO, es sollte das Lehrbuch für einen obligatorischen Einführungskurs in alle CS-Schulen sein. Es würde sicherlich Leute ausmerzen, die es beim Programmieren nicht wirklich schaffen (viel weniger CS), während CS und Programmierfähigkeiten für diejenigen mit Potenzial gestärkt werden.
Luis.espinal

1
@ luis.espinal SICP scheint zu viel für die Einführungsprogrammierung zu sein (es sei denn, wir sprechen von einer Graduiertenschule). Es gibt einen Grund, warum MIT den SICP-Kurs als Einführungskurs gestrichen hat. Trotzdem bin ich mir einig, dass es wertvoll ist, dieses Buch durchzuarbeiten (und die Übungen zu machen ...), aber dies in einem Standard-Hochschulsemester zu tun, wäre selbst für Selbstbehinderte schwierig ein überdurchschnittlicher Student. Auch die Einführung in Java / Python / Ruby / C ist für die Belegschaft relevanter. Je eher Sie sich an die imperativen Sprachen gewöhnen, desto besser ... SICP eignet sich danach hervorragend, um Ihren Horizont zu erweitern. Aber als Einführungskurs könnte es entmutigend sein ...
Cervo

1
@Cervo - Es ist ein berechtigtes Anliegen, und es scheint ein Overkill zu sein, aber (und dies ist eine völlig subjektive Position, die ich anerkenne), ich bin fest davon überzeugt, dass es eine tiefere Grundlage bietet, als man es normalerweise bei anderen Mainstream- Ansätzen findet. Die Jury ist immer noch mit dem MIT nicht einverstanden, nachdem sie auf Python umgestiegen sind (einige der Gründe liegen darin, dass es auch über FP-Funktionen verfügt und für wissenschaftliches Rechnen und Robotik sehr gut geeignet ist, was Scheme nicht ist.) Mit Python stimmt überhaupt nichts Ich mag die Sprache), aber die Jury würde ausfallen, bis eine Python'esque-Version von SICP herauskommt.
Luis.espinal

2
@ con't - Das heißt, ich empfehle die SICP nicht wegen des Schemas, sondern wegen ihres pädagogischen Inhalts. Eigentlich hätte ich vorgeschlagen, mit der Montage zu beginnen (die Leute haben das ziemlich erfolgreich gemacht), aber es gibt keine Montagebücher (und wahrscheinlich wird es auch keine geben) wie die SICP. Das nächste wäre Knuths Enzyklopädie (und das wäre ein Overkill.) Was Java betrifft , habe ich 12 Jahre damit gearbeitet, und ich würde es nicht zum Unterrichten empfehlen ein PL. C, Python oder Ruby sind viel besser gestaltete Sprachen.
Luis.espinal

1
@ con't - außerdem würde ich davor warnen, eine Sprache als pädagogisches Instrument zu verwenden, weil sie Mainstream ist. Mainstream ändert sich alle 2-3 Jahre, und mit Java ist die Sprache einfach, aber die Aufgabe besteht darin, die JVM, die Bibliotheken und die Architektur zu erlernen. Ich würde sagen, dass ich im 4. Studienjahr Java- und .NET-Unternehmensentwicklung lernen möchte. Und ich glaube (ich weiß, subjektiv ), dass es wichtig ist, frühzeitig für Genauigkeit zu sorgen. Wir haben viel zu viele Point-n-Click-Programmierer, die schon früh etwas Sorgfalt brauchten. Ich habe eine Menge Geld verdient, um den Mist
luis.espinal

32

Erwähnenswert:

Der mythische Mann-Monat

Alt-Text


1
Wenn ich nur ein Buch über Programmieren lesen könnte und wenn ich damit fertig bin, verschwindet es. Und für den Rest der Zeit sehe ich kein anderes Buch mehr, das wäre es. Wenn ich das Buch in meinem Regal belassen müsste, um es später anzusehen ... Es könnte sich um einen anderen, eher referenzorientierten Band handeln. +1 sowieso!
SingleNegationElimination

Ich habe dieses Buch genossen und es durchgelesen. Ein Großteil des Materials gilt jedoch nur für sehr große Projekte mit Hunderten oder sogar Tausenden oder Leuten, die wie ein Betriebssystem daran arbeiten. denn daraus schöpft er seine Erfahrung. Ich dachte, Code Complete sei viel hilfreicher in Bezug auf Kenntnisse, die ich jeden Tag nutzen könnte und die auf mich zutrafen.
Despertar

30

Wir hatten die vierte Ausgabe, aber dies ist ein großartiges Buch über Algorithmen!
Chris

@ Chris: Ich glaube nicht, dass es eine vierte Ausgabe gibt. Die dritte Ausgabe ist ab September 2009, es ist also neu.
Jonas

Errr, zweite Auflage mit dem grünen Umschlag.
Chris

Dies ist das erforderliche Lehrbuch für meine Klasse in diesem Semester. Ich bin erfreut, dass es hier auf der Liste steht und dass es auf der ursprünglichen SO-Frage so hoch bewertet wird!
Pops

28

Entwurfsmuster: Elemente wiederverwendbarer objektorientierter Software

Dies ist das Buch zum Thema OOP-Design und -Architektur. Die Muster sind gut, wenn sie richtig verwendet werden, aber ich denke, der wahre Wert dieses Buches besteht darin, dass es Ihnen eine Sammlung von Ideen bietet, die Sie beim Entwerfen verwenden können.

Alt-Text


OOP repräsentiert nicht die Grenzen der Programmierung.
Inaimathi

Da Musterkataloge im Überfluss vorhanden sind (wie in diesem Buch), hat sich der Wert dieses Buches im Laufe der Zeit erheblich verringert.
Steven Evers

1
Lesen viele Leute dieses Buch von vorne bis hinten? Ich finde es eher eine Referenz als ein Buch. (Und eine Referenz, die Sie nicht suchen können.)
Idbrii



25

Ich habe heute nur meine Bücher gezählt. 23 von ihnen. Es kommt darauf an, woran ich arbeite. Ich denke, die zeitlose Antwort ist "C-Sprache", von Kernighan und Ritchie .

Bildbeschreibung hier eingeben


3
Eines der besten Sprachlehrbücher der Computergeschichte. Ein gutes Beispiel, wie ein Programmierbuch geschrieben werden sollte.
Wizard79

1
Es lohnt sich, die Codes für das
Martin Beckett,

19

Effektiv mit Legacy-Code von Michael Feathers arbeiten.

Es enthält viele gute Tipps, wie Sie eine vorhandene Codebasis testen und verwalten können, von denen ich die meisten erst kannte, als ich dieses Buch gelesen habe. Ein Muss, auch wenn der alte Code, mit dem Sie arbeiten, Ihr eigener Code ist, den Sie gestern geschrieben haben.

Effektiv mit Legacy-Code arbeiten


Was für eine großartige Tarnung.
Pops

Dies ist, wie es mein aktueller Fokus ist: Den Code, den ich geschrieben habe, bevor ich "testgetrieben" wurde, in einen testbaren Zustand zu bringen.

+1 Oft ja. Dieses Buch hat mir sehr geholfen, alten Code zu aktualisieren.
Grant Palin

18

1
Ich bin nicht sicher, ob dies als "1 Buch" qualifiziert ist (es sei denn, Sie meinen wirklich "nur Band 1")
Inaimathi

Ich habe seine ganze Serie, aber ich würde mich mit Band 1 begnügen. (Mein erster Informatikunterricht fand 1967 statt. Er war von unschätzbarem Wert.) "Kenne deine Datenstrukturen".
Ira Baxter

15

Die Java-Bücher, die man haben muss:

Effektives Java Von Josh Bloch

Alt-Text

Java-Nebenläufigkeit in der Praxis Von Brian Goetz, et. al.

Alt-Text

Java Puzzlers Von Josh Bloch, Neal Gafter

Alt-Text


3
+1 für effektives Java. Ich habe meine Java-Kenntnisse enorm verbessert.
Ryan Hayes

+1 für Effective Java , -1 für das Ignorieren von One per answer please .
Mark Booth

Der eine Satz Java-Bücher, den Sie haben sollten
Crowie


9

Gödel, Escher, Bach.

Alt-Text!


1
Ha! Dies war meine Wahl in der Liste der Bücher, die nichts mit Programmierung zu tun haben! Ich denke, das macht es nicht klassifizierbar?
Paddyslacker

Ich mochte dieses Buch wirklich, es wurde von meinem Theory of Computing-Prof an der UW Madison wärmstens empfohlen - sehr hilfreich beim Versuch zu verstehen, wovon zum Teufel er sprach.
Peter Turner

@Paddyslacker, GEB verbringt viel Zeit damit, sich über Berechenbarkeit und verschiedene Informatikkonzepte zu unterhalten.

5

Der Pragmatische Programmierer: Vom Gesellen zum Meister (Andrew Hunt und David Thomas)


4

Getting Things Done (David Allen) bringt Ihnen bei, wie Sie mit Tausenden kleiner Aufgaben umgehen, die Sie als Softwareentwickler in Ihrer täglichen Arbeit erledigen müssen. Obwohl es sich nicht speziell an Entwickler richtet, ist es auf jeden Fall eine unschätzbare Hilfe, da die Softwareentwicklung in der Regel eine sehr große Anzahl kleiner Aufgaben umfasst, die priorisiert erledigt werden müssen. Zum Beispiel: Welche neuen Funktionen müssen implementiert werden, welche Fehler müssen behoben werden, welche Teile des Codes müssen umgestaltet werden, welche Teile des Codes müssen abgelegt oder erneut getestet werden, usw.





2

Zählt ein iPad? Ich würde gerne sagen, dass meine Nummer 1 in meinem Bücherregal ein Webbrowser und eine Suchfunktion ist. Online API und Referenzen sind der beste Ort und es würde von meinem aktuellen Projektsatz abhängen.


2
Nein, tut es nicht. Siehe den obigen Kommentar zu einem Kindle. Das heißt, ich liebe das iPad sowieso. Es kann eine wertvolle Ressource sein, aber es ist immer noch kein richtiges Buch. +1, ich bin in Fanboy-Stimmung. :)
Moshe


2

Bruce F. Websters "Fallstricke objektorientierter Entwicklung"

Wir haben zu viele "OO" -Entwickler, die immer noch nicht wissen, was ein Objekt oder eine Klasse ist oder wofür; Ich weiß nicht, wie gute OO, prozedurale, modulare und strukturierte Programmierung aussehen. und es irgendwie schaffen, schlecht gemachten Pseudo-Prozedur-Code zusammen mit Klassen zu cobbeln.

Dieses Buch (plus ein paar 70er Jahre Oldies über strukturiertes Design) würde diesen armen Seelen helfen, endlich zu verstehen, wie eine gute Objektorientierung aussehen sollte.


Darüber hinaus besteht die Möglichkeit, dass ich, wenn ich gezwungen wäre, ein Buch und nur ein Buch neben diesem auszuwählen, kein technikspezifisches Buch auswählen würde .


1

Alt-Text

Es ist eines der wenigen Programmierbücher, die ich aufbewahrt habe, als ich anfing zu programmieren. Früher habe ich Leuten, die als erste angefangen haben, viel geliehen. Nun, nicht so sehr, da C nicht mehr die erste Programmiersprache vieler Menschen ist. Es beschreibt auf wunderbare Weise, was sich hinter den Kulissen abspielt, und die Beschreibung von Zeigern bringt echte Klarheit in das, was ansonsten für viele ein sehr verwirrendes Thema ist.


1

Jon Skeets "c # in Depth"

Alt-Text


1
Eigentlich mochte ich Jons Buch nicht. Die Informationen waren gut, aber es gab so viel "Oh, das sind wichtige 10 Kapitel von jetzt an" in dem Buch, dass es sich sehr schlecht anfühlte.
Steven Evers

2
Beachten Sie, dass es eine zweite Ausgabe gibt, die ein Update der ersten ist und auch C # 4 abdeckt.
Grant Palin

1

Objektdesign: Rollen, Verantwortung und Zusammenarbeit

Alt-Text

Dies ist bei weitem mein Lieblingsprogrammierbuch (auch wenn es nicht sprachabhängig ist). Meiner bescheidenen Meinung nach ist das Buch, das den Fall besser darstellt, wie man Objekte entwirft, die sich auf ihre Cousins ​​/ Brüder / Nachbarn beziehen. Ein Muss in jedem ernsthaften Programmierer-Bücherregal.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.