Усі ці книги здаються дуже, дуже, дуже старими. Ви не вважаєте, що є різниця між сьогоднішнім часом і тим, коли ці книги були написані?
ІМХО не дивно, що дуже хороші книги залишаються популярними протягом десятиліть - це показує, наскільки вони хороші. Але я думаю, що я можу вам сказати щось для кожного з кандидатів, яких ви перерахували:
Code complete: 2nd edition = may, 2004
Насправді перше видання "Кодексу завершено" було з 1993 року, тож це справді "класика". Йдеться про базовий стиль кодування, використовуючи приклади, які застосовуються майже до кожної мови програмування родини C, яка містить найпопулярніші мови на сьогодні (C / C ++ / Java / C # / Objective-C / D / ...). Так що так, ця книга актуальна.
Introduction to algorithms (Cormen, Leiserson, Rivest, Stein)
Ну, я насправді не читав цю книгу (моя книга з алгоритмами була від "Sedgewick"), але алгоритми навчання та побудова алгоритмів - це справді мова агностик. Звичайно, це ремесло дещо недооцінює останні роки, оскільки в стандартних бібліотеках нині ви знайдете багато основних алгоритмів, але IMHO кожен професійний програміст повинен мати деякі базові знання в цій галузі.
The Pragmatic Programmer
Це дуже гарна книга про програмування як майстерність. Мовний агностик і дуже, дуже сучасний, якщо програмування виконується програмістами як ручне завдання, використовуючи текстові редактори, IDE, контроль версій тощо.
Structure and Interpretation of Computer Programs: = September 1, 1996
Це мій особистий фаворит, навіть якщо книга (можливо, тому, що) використовує схему, щоб навчити вас відмінностей між різними парадигмами програмування. Я не знаю жодної іншої книги, яка б настільки сильно акцентувала увагу на побудові абстракцій. А побудова абстракцій - це ключова здатність, яка відрізняє посереднього програміста та топ-програміста - що не змінилося останні десятиліття, так що насправді ця книга є позачасовою. Крім того, останнім часом функціональні мови та мовні елементи стали більш популярними, тому ідеї ІМХО, представлені в цій книзі, отримали ренесанс.
The C Programming Language
Що ж, ця книга може бути не такою позачасовою, як інші чотири. Але оскільки C - це щось на кшталт "матері" усіх тих популярних мов, які я перераховував вище, можливо, було б корисно прочитати цю книгу - я не думаю, що є якісь сучасні "С" книги, які справді кращі. І якщо вам доведеться виконати програмування технічного обслуговування коду C ++, який написав хтось, хто краще знав C, ніж C ++, то ця книга є обов'язковою.
Нарешті, ви просили книги, які враховують більшу частину "поточної реальності", не будучи занадто специфічними технологіями. Отже, що таке "поточна реальність" і що змінилося на стороні "нетехнології"? Ось деякі моменти останнього десятиліття, не кажучи про те, що цей список є повним або має правильні пріоритети.
- Існує більше застарілого коду (особливо більше застарілого коду не тільки у Fortran і Cobol, але і в C ++ та Java).
- Тестування блоків і TDD стали більш улюбленими.
- Існує набагато більше відкритого коду.
- OO набирає все більше критиків
(Я не перераховую тут нічого про розробку веб-програм або додатків, тому що я думаю, що ця технологія є специфічною).
Існують хороші книги для тем 1 і 2, особливо "Чистий код" , який починається з 2008 року, і "Ефективна робота зі спадковим кодом" з 2004 року. Можливо, це деякі з "нових" книг, які ви шукаєте?