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 non è una sorpresa che libri molto buoni restino popolari per decenni - questo dimostra quanto siano buoni. Ma penso di poterti dire qualcosa per ognuno dei candidati che hai elencato:
Code complete: 2nd edition = may, 2004
In realtà la prima edizione di "Code complete" era del 1993, quindi questa è davvero una "classica". Riguarda lo stile di codifica di base, utilizzando esempi che si applicano a quasi tutti i linguaggi di programmazione della famiglia C, che contiene al giorno d'oggi le lingue più diffuse (C / C ++ / Java / C # / Objective-C / D / ...). Quindi sì, questo libro è aggiornato.
Introduction to algorithms (Cormen, Leiserson, Rivest, Stein)
Beh, in realtà non ho letto quel libro (il mio libro degli algoritmi era di "Sedgewick"), ma l'algoritmo di apprendimento e la costruzione dell'algoritmo sono davvero indipendenti dal linguaggio. Ovviamente, questo mestiere sta diventando molto sottovalutato negli ultimi anni, dal momento che oggi si trovano molti algoritmi di base nelle librerie standard, ma IMHO ogni programmatore professionista dovrebbe avere alcune conoscenze di base in questo campo.
The Pragmatic Programmer
Questo è un ottimo libro sulla programmazione come artigianato. Agnostico linguistico e molto, molto aggiornato, purché la programmazione sia eseguita dai programmatori come compito manuale, utilizzando editor di testo, IDE, controllo di versione ecc.
Structure and Interpretation of Computer Programs: = September 1, 1996
Questo è il mio preferito, anche se (o forse perché) il libro usa Scheme per insegnarti le differenze tra i diversi paradigmi di programmazione. Non conosco nessun altro libro che abbia una così strong concentrazione sulla costruzione di astrazioni. Costruire astrazioni è un'abilità chiave che fa la differenza tra un programmatore mediocre e un programmatore di punta - che non è cambiato negli ultimi decenni, quindi, davvero, questo libro è senza tempo. Inoltre, le lingue e gli elementi linguistici funzionali sono diventati più popolari di recente, quindi IMHO le idee presentate in questo libro hanno avuto una rinascita.
The C Programming Language
Bene, questo libro potrebbe non essere così senza tempo come gli altri quattro. Ma dal momento che C è qualcosa come la "madre" di tutte quelle lingue popolari che ho elencato sopra, potrebbe essere una buona idea leggere questo libro - non penso che ci siano dei libri "C" moderni che sono davvero migliori. E se devi fare una programmazione di manutenzione del codice C ++ che è stata scritta da qualcuno che conosceva meglio C in C ++, allora questo libro è un must.
Infine, stavi chiedendo libri che prendessero in considerazione la maggior parte della "realtà attuale", senza essere troppo specifici della tecnologia. Quindi qual è la "realtà attuale" e cosa è cambiato sul lato "non tecnologico"? Ecco alcuni punti dell'ultimo decennio, senza dire che questa lista è completa o con le giuste priorità.
- Esiste più codice legacy (specialmente più codice legacy non solo in Fortran e Cobol, ma anche in C ++ e Java).
- Test delle unità e TDD è diventato più preferito.
- C'è molto più codice open source disponibile.
- OO ha ottenuto sempre più critiche
(Non elencherò qui nulla sullo sviluppo di Web o App, perché penso che questa tecnologia sia specifica).
Esistono buoni libri per gli argomenti 1 e 2, in particolare " Pulisci codice ", che è del 2008, e " Lavorare efficacemente con legacy codice " del 2004. Forse questi sono alcuni dei libri" più recenti "che stai cercando?