Все эти книги кажутся очень, очень, очень старыми. Не думаете ли вы, что есть разница между сегодняшним днем и тем, когда были написаны эти книги?
ИМХО, неудивительно, что очень хорошие книги остаются популярными на протяжении десятилетий - это показывает, насколько они хороши. Но я думаю, что могу сказать вам кое-что по каждому из перечисленных вами кандидатов:
Code complete: 2nd edition = may, 2004
На самом деле первое издание «Code complete» было выпущено в 1993 году, так что это действительно «классика». Речь идет о базовом стиле кодирования с использованием примеров, которые применимы практически ко всем языкам программирования семейства C, которые в настоящее время содержат самые популярные языки (C / C ++ / Java / C # / Objective-C / D / ...). Так что да, эта книга актуальна.
Introduction to algorithms (Cormen, Leiserson, Rivest, Stein)
Ну, на самом деле я не читал эту книгу (мой учебник по алгоритмам был из «Седжвика»), но изучение алгоритмов и построение алгоритмов действительно не зависит от языка. Конечно, это умение недооценивается в последние годы, так как в настоящее время вы найдете много базовых алгоритмов в стандартных библиотеках, но ИМХО каждый профессиональный программист должен иметь некоторые базовые знания в этой области.
The Pragmatic Programmer
Это очень хорошая книга о программировании как мастерстве. Не зависит от языка и очень, очень современно, поскольку программирование выполняется программистами как ручное задание с использованием текстовых редакторов, IDE, контроля версий и т. Д.
Structure and Interpretation of Computer Programs: = September 1, 1996
Это мой личный фаворит, хотя (или, возможно, потому что) книга использует Scheme, чтобы научить вас различать различные парадигмы программирования. Я не знаю ни одной другой книги, в которой так много внимания уделяется созданию абстракций. А построение абстракций - это ключевая способность, которая делает разницу между посредственным программистом и лучшим программистом - который не изменился за последние десятилетия, так что на самом деле эта книга вечна. Кроме того, функциональные языки и языковые элементы в последнее время стали более популярными, поэтому ИМХО идеи, представленные в этой книге, получили ренессанс.
The C Programming Language
Что ж, эта книга может быть не такой вечной, как остальные четыре. Но так как C - это что-то вроде «матери» всех тех популярных языков, которые я перечислил выше, было бы неплохо прочитать эту книгу - я не думаю, что есть некоторые современные книги на «C», которые действительно лучше. И если вам нужно заниматься программированием обслуживания кода C ++, написанного кем-то, кто знает C лучше, чем C ++, то эта книга обязательна.
Наконец, вы просили книги, в которых больше учитывается «текущая реальность», не будучи слишком специфичными для технологии. Так что же такое «текущая реальность» и что изменилось в «нетехнологической» части? Вот некоторые моменты последнего десятилетия, не говоря уже о том, что этот список полон или имеет правильные приоритеты.
- Существует больше унаследованного кода (особенно более унаследованного кода не только в Fortran и Cobol, но также в C ++ и Java).
- Модульное тестирование и TDD стали более любимыми.
- Доступно гораздо больше открытого исходного кода.
- ОО получил все больше и больше критиков
(Я не перечисляю здесь ничего о веб-разработке или разработке приложений, потому что я думаю, что эта технология специфична).
Существуют хорошие книги по темам 1 и 2, особенно «Чистый код» , выпущенный в 2008 году, и «Эффективная работа с унаследованным кодом» из 2004 года. Возможно, это некоторые из «новых» книг, которые вы ищете?