Todos esos libros parecen muy, muy, muy viejos. ¿No crees que hay una diferencia entre hoy en día y cuando se escribieron esos libros?
En mi humilde opinión, no es una sorpresa que muy buenos libros sigan siendo populares durante décadas, lo que demuestra lo buenos que son. Pero creo que puedo decirte algo para cada uno de los candidatos que enumeraste:
Code complete: 2nd edition = may, 2004
En realidad, la primera edición de "Code complete" fue de 1993, por lo que esta es realmente un "clásico". Se trata de un estilo de codificación básico, utilizando ejemplos que se aplican a casi todos los lenguajes de programación de la familia C, que contiene los lenguajes más populares en la actualidad (C / C ++ / Java / C # / Objective-C / D / ...). Entonces sí, este libro está actualizado.
Introduction to algorithms (Cormen, Leiserson, Rivest, Stein)
Bueno, en realidad no leí ese libro (mi libro de texto de algoritmos era de "Sedgewick"), pero el aprendizaje de algoritmos y construcción de algoritmos es realmente independiente del lenguaje. Por supuesto, este oficio se está subestimando en los últimos años, ya que hoy en día se encuentran muchos algoritmos básicos en bibliotecas estándar, pero en mi humilde opinión, cada programador profesional debería tener algunos conocimientos básicos en este campo.
The Pragmatic Programmer
Este es un libro muy bueno sobre la programación como un trabajo artesanal. Lenguaje agnóstico y muy, muy actualizado, siempre que los programadores realicen la programación como una tarea manual, utilizando editores de texto, IDE, control de versiones, etc.
Structure and Interpretation of Computer Programs: = September 1, 1996
Este es mi favorito personal, aunque (o quizás porque) el libro usa Scheme para enseñarle las diferencias entre los diferentes paradigmas de programación. No conozco ningún otro libro que tenga un enfoque tan fuerte en construir abstracciones. Y construir abstracciones es una habilidad clave que marca la diferencia entre un programador mediocre y un programador superior, que no ha cambiado en las últimas décadas, así que realmente, este libro es atemporal. Además, los lenguajes funcionales y los elementos del lenguaje se han vuelto más populares recientemente, por lo que en mi humilde opinión, las ideas presentadas en este libro tuvieron un renacimiento.
The C Programming Language
Bueno, este libro puede no ser tan atemporal como los otros cuatro. Pero dado que C es algo así como la "madre" de todos los lenguajes populares que mencioné anteriormente, puede ser una buena idea leer este libro, no creo que haya algunos libros modernos de "C" que sean realmente mejores. Y si tiene que hacer una programación de mantenimiento del código C ++ que fue escrita por alguien que conocía mejor a C que a C ++, entonces este libro es imprescindible.
Finalmente, estaba pidiendo libros que tengan más en cuenta la "realidad actual", sin ser demasiado específicos de la tecnología. Entonces, ¿cuál es la "realidad actual" y qué ha cambiado en el lado "no tecnológico"? Aquí hay algunos puntos de la última década, sin decir que esta lista está completa o que tiene las prioridades correctas.
- Existe más código heredado (especialmente más código heredado no solo en Fortran y Cobol, sino también en C ++ y Java).
- Las pruebas unitarias y TDD se han vuelto más favoritas.
- Hay mucho más código fuente abierto disponible.
- OO ha recibido más y más críticas
(No enumero aquí nada sobre desarrollo web o de aplicaciones, porque creo que esta tecnología es específica).
Existen buenos libros para los temas 1 y 2, especialmente "Código limpio" , que es de 2008, y "Trabajo eficaz con código heredado" de 2004. ¿Quizás esos son algunos de los libros "más nuevos" que está buscando?