All diese Bücher scheinen sehr, sehr, sehr alt zu sein. Glauben Sie nicht, dass es heutzutage einen Unterschied gibt, wann dieses Buch geschrieben wurde?
IMHO ist es keine Überraschung, dass sehr gute Bücher über Jahrzehnte populär bleiben - das zeigt, wie gut sie sind. Aber ich denke, ich kann Ihnen für jeden der Kandidaten, die Sie aufgelistet haben, etwas sagen:
Code complete: 2nd edition = may, 2004
Eigentlich war die erste Ausgabe von "Code complete" aus dem Jahr 1993, also ist diese Ausgabe wirklich ein "Klassiker". Es geht um den grundlegenden Codierungsstil anhand von Beispielen, die für fast alle Programmiersprachen der C-Familie gelten, die heutzutage die beliebtesten Sprachen enthalten (C / C ++ / Java / C # / Objective-C / D / ...). Also ja, dieses Buch ist aktuell.
Introduction to algorithms (Cormen, Leiserson, Rivest, Stein)
Nun, ich habe dieses Buch eigentlich nicht gelesen (mein Algorithmus-Lehrbuch war von "Sedgewick"), aber Lernalgorithmen und Algorithmenkonstruktionen sind wirklich sprachunabhängig. Natürlich wird dieses Handwerk in den letzten Jahren etwas unterschätzt, da man heutzutage in Standardbibliotheken viele grundlegende Algorithmen findet, aber IMHO sollte jeder professionelle Programmierer über einige Grundkenntnisse auf diesem Gebiet verfügen.
The Pragmatic Programmer
Dies ist ein sehr gutes Buch über das Programmieren als Handwerkskunst. Sprachunabhängig und sehr, sehr aktuell, solange die Programmierung von Programmierern als manuelle Aufgabe mit Texteditoren, IDEs, Versionskontrolle usw. durchgeführt wird.
Structure and Interpretation of Computer Programs: = September 1, 1996
Dies ist mein persönlicher Favorit, obwohl (oder vielleicht weil) das Buch Schema verwendet, um Ihnen die Unterschiede zwischen verschiedenen Programmierparadigmen beizubringen. Ich kenne kein anderes Buch, das so stark auf das Bauen von Abstraktionen ausgerichtet ist. Und Abstraktionen zu erstellen ist eine Schlüsselfähigkeit, die den Unterschied zwischen einem mittelmäßigen Programmierer und einem Spitzenprogrammierer ausmacht - das hat sich in den letzten Jahrzehnten nicht geändert, so dass dieses Buch wirklich zeitlos ist. Darüber hinaus sind funktionale Sprachen und Sprachelemente in letzter Zeit immer beliebter geworden, sodass die in diesem Buch vorgestellten Ideen meiner Meinung nach eine Renaissance erlebten.
The C Programming Language
Nun, dieses Buch ist vielleicht nicht so zeitlos wie die anderen vier. Aber da C so etwas wie die "Mutter" all der populären Sprachen ist, die ich oben aufgelistet habe, ist es möglicherweise eine gute Idee, dieses Buch zu lesen - ich denke nicht, dass es einige moderne "C" -Bücher gibt, die wirklich besser sind. Und wenn Sie C ++ - Code warten müssen, der von jemandem geschrieben wurde, der C besser kennt als C ++, dann ist dieses Buch ein Muss.
Schließlich haben Sie nach Büchern gefragt, die die "aktuelle Realität" stärker berücksichtigen, ohne zu technologiebezogen zu sein. Was ist also die "aktuelle Realität" und was hat sich auf der "Nicht-Technologie" -Seite geändert? Hier sind einige Punkte aus dem letzten Jahrzehnt, ohne zu erwähnen, dass diese Liste vollständig ist oder die richtigen Prioritäten hat.
- Es gibt mehr Legacy-Code (insbesondere mehr Legacy-Code nicht nur in Fortran und Cobol, sondern auch in C ++ und Java).
- Unit Testing und TDD sind beliebter geworden.
- Es gibt viel mehr Open Source Code.
- OO hat immer mehr Kritiker bekommen
(Ich führe hier nichts über Web- oder App-Entwicklung auf, weil ich diese Technologie für spezifisch halte).
Es gibt gute Bücher zu den Themen 1 und 2, insbesondere "Clean Code" aus dem Jahr 2008 und "Effektiv mit altem Code arbeiten" aus dem Jahr 2004. Vielleicht sind dies einige der "neueren" Bücher, nach denen Sie suchen?