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 los libros muy buenos se mantengan populares durante décadas, eso demuestra lo buenos que son. Pero creo que puedo decirle algo para cada uno de los candidatos que enumeró:
Code complete: 2nd edition = may, 2004
En realidad, la primera edición de "Code complete" fue de 1993, por lo que esta es realmente una "clásica". Se trata del 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 / ...). Así que 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 los algoritmos de aprendizaje y la construcción de algoritmos son realmente agnósticos. Por supuesto, este oficio está subestimando algo en los últimos años, ya que hoy en día se encuentran muchos algoritmos básicos en las bibliotecas estándar, pero en mi humilde opinión, todo programador profesional debería tener algún conocimiento básico en este campo.
The Pragmatic Programmer
Este es un muy buen libro sobre la programación como artesanía. Lenguaje agnóstico y muy, muy actualizado, siempre que la programación sea realizada por los programadores 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 se centre tanto en la creación de abstracciones. Y construir abstracciones es una habilidad clave que marca la diferencia entre un programador mediocre y uno de los mejores programadores: eso no ha cambiado las últimas décadas, así que, de verdad, 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 como C es algo así como la "madre" de todos los lenguajes populares que mencioné anteriormente, puede ser una buena idea leer este libro, ya que no creo que haya algunos libros modernos en "C" que sean realmente mejores. Y si tiene que hacer una programación de mantenimiento del código C ++ que fue escrito por alguien que conocía C mejor que C ++, este libro es imprescindible.
Finalmente, pedías libros que tuvieran más en cuenta la "realidad actual", sin ser demasiado específicos de la tecnología. Entonces, ¿qué 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 de código abierto disponible.
- OO ha recibido más y más críticos
(No enumero aquí nada sobre el desarrollo de aplicaciones o web, porque creo que esta tecnología es específica).
Existen buenos libros para los temas 1 y 2, especialmente " Clean Code ", que es de 2008, y " Trabajar de manera efectiva con el legado código " de 2004. ¿Esos son algunos de los libros" más nuevos "que está buscando?