All those books seem very, very, very old. Don't you think there's a difference between nowadays and when those book were written?
IMHO não é uma surpresa que livros muito bons se mantenham populares ao longo de décadas - isso mostra quão bons eles são. Mas acho que posso dizer algo para cada um dos candidatos que você listou:
Code complete: 2nd edition = may, 2004
Na verdade, a primeira edição de "Code complete" foi de 1993, então este é realmente um "clássico". Trata-se de estilo básico de codificação, usando exemplos que se aplicam a quase todas as linguagens de programação da família C, que contém as linguagens mais populares atualmente (C / C ++ / Java / C # / Objetivo-C / D / ...). Então, sim, este livro está atualizado.
Introduction to algorithms (Cormen, Leiserson, Rivest, Stein)
Bem, eu realmente não li esse livro (meu livro de texto de algoritmos era de "Sedgewick"), mas algoritmos de aprendizado e construção de algoritmos são realmente agnósticos. Claro, este ofício está recebendo alguns underrating nos últimos anos desde que você encontra muitos algoritmos básicos hoje em dia em bibliotecas padrão, mas IMHO cada programador profissional deve ter algum conhecimento básico neste campo.
The Pragmatic Programmer
Este é um livro muito bom sobre programação como artesanato. Linguagem agnóstica e muito, muito atualizada, desde que a programação seja feita por programadores como uma tarefa manual, usando editores de texto, IDEs, controle de versão, etc.
Structure and Interpretation of Computer Programs: = September 1, 1996
Este é o meu favorito pessoal, embora (ou talvez porque) o livro use Scheme para ensinar as diferenças entre os diferentes paradigmas de programação. Eu não conheço nenhum outro livro que tenha um foco tão strong na construção de abstrações. E construir abstrações é uma habilidade fundamental que faz a diferença entre um programador medíocre e um programador de topo - que não mudou nas últimas décadas, então, realmente, este livro é atemporal. Além disso, linguagens funcionais e elementos de linguagem se tornaram mais populares recentemente, então IMHO as ideias apresentadas neste livro tiveram um renascimento.
The C Programming Language
Bem, este livro pode não ser tão intemporal quanto os outros quatro. Mas como C é algo como a "mãe" de todas as linguagens populares que listei acima, pode ser uma boa idéia ler este livro também - eu não acho que há alguns livros "C" modernos que são realmente melhores. E se você tem que fazer programação de manutenção de código C ++ que foi escrito por alguém que sabia que C melhor que C ++, então este livro é uma obrigação.
Por fim, você estava pedindo livros que levem em consideração mais a "realidade atual", sem ser específico demais em tecnologia. Então, qual é a "realidade atual" e o que mudou no lado "não-tecnológico"? Aqui estão alguns pontos da última década, sem dizer que esta lista está completa ou tendo os priorites corretos.
- Existe mais código legado (especialmente mais código legado não apenas em Fortran e Cobol, mas também em C ++ e Java).
- O teste de unidade e o TDD se tornaram mais favoritos.
- Há muito mais código aberto disponível.
- OO tem recebido mais e mais críticas
(Eu não listo aqui nada sobre desenvolvimento Web ou App, porque eu acho que essa tecnologia é específica).
Existem bons livros para os tópicos 1 e 2, especialmente " Código Limpo ", que é de 2008, e " Trabalhando efetivamente com o legado código " de 2004. Talvez esses sejam alguns dos livros" mais recentes "que você está procurando?