Tous ces livres semblent très, très, très vieux. Ne pensez-vous pas qu'il y a une différence entre aujourd'hui et quand ces livres ont été écrits?
IMHO, il n'est pas surprenant que les très bons livres restent populaires au fil des décennies - cela montre à quel point ils sont bons. Mais je pense pouvoir vous dire quelque chose pour chacun des candidats que vous avez énumérés:
Code complete: 2nd edition = may, 2004
En fait, la première édition de "Code complete" date de 1993, elle est donc vraiment un "classique". Il s'agit d'un style de base, utilisant des exemples qui s'appliquent à presque tous les langages de programmation de la famille C, qui contient les langages les plus populaires de nos jours (C / C ++ / Java / C # / Objective-C / D / ...). Donc oui, ce livre est à jour.
Introduction to algorithms (Cormen, Leiserson, Rivest, Stein)
En fait, je n'ai en fait pas lu ce livre (mon manuel d'algorithmes provenait de "Sedgewick"), mais l'apprentissage des algorithmes et de la construction d'algorithmes est vraiment indépendant du langage. Bien sûr, ce métier est de moins en moins connu ces dernières années, car on trouve aujourd'hui de nombreux algorithmes de base dans les bibliothèques standard, mais à mon humble avis, chaque programmeur professionnel devrait avoir des connaissances de base dans ce domaine.
The Pragmatic Programmer
C'est un très bon livre sur la programmation en tant qu'artisanat. Langage agnostique et très, très actuel, tant que la programmation est effectuée manuellement par les programmeurs, à l'aide d'éditeurs de texte, d'EDI, de contrôle de version, etc.
Structure and Interpretation of Computer Programs: = September 1, 1996
Ceci est mon préféré, même si (ou peut-être parce que) le livre utilise Scheme pour vous apprendre les différences entre différents paradigmes de programmation. Je ne connais aucun autre livre qui consacre une telle importance à la construction d'abstractions. Et construire des abstractions est une capacité clé qui fait la différence entre un programmeur médiocre et un programmeur de haut niveau - cela n’a pas changé depuis les dernières décennies, alors vraiment, ce livre est intemporel. En outre, les langages fonctionnels et les éléments de langage sont devenus plus populaires récemment, alors les idées présentées dans ce livre ont connu une renaissance.
The C Programming Language
Eh bien, ce livre n’est peut-être pas aussi intemporel que les quatre autres. Mais puisque C est quelque chose qui ressemble à la "mère" de tous les langages populaires que j'ai énumérés ci-dessus, il serait peut-être une bonne idée de lire ce livre non plus - je ne pense pas qu'il existe des livres "C" modernes qui sont vraiment meilleurs. Et si vous devez effectuer une programmation de maintenance du code C ++ écrit par quelqu'un qui connaissait mieux le C que le C ++, alors ce livre est un must.
Enfin, vous demandiez des livres qui tiennent davantage compte de la "réalité actuelle", sans être trop spécifiques à la technologie. Quelle est donc la "réalité actuelle" et qu'est-ce qui a changé du côté de la "non-technologie"? Voici quelques points de la dernière décennie, sans dire que cette liste est complète ou a les bonnes priorités.
- Il existe plus de code hérité (notamment plus de code hérité non seulement en Fortran et Cobol, mais également en C ++ et Java).
- Les tests unitaires et TDD sont devenus plus préférés.
- Il y a beaucoup plus de code source ouvert disponible.
- OO a de plus en plus de critiques
(Je ne liste ici rien sur le développement Web ou App, car je pense que cette technologie est spécifique).
Il existe de bons livres pour les sujets 1 et 2, en particulier "Clean Code" de 2008 et "Travailler efficacement avec du code hérité" de 2004. Peut-être que ce sont les "nouveaux" livres que vous recherchez?