Dr. Carlo Pescio
Recensione: Advanced Windows NT


Scheda Libro
Autore: Jeffrey Richter Titolo: Advanced Windows NT
Editore: Microsoft Press ISBN: 1-55615-567-0
Lingua: Inglese Anno: 1994 Pagine: 700 circa Allegati: floppy disk con sorgenti

Commenti
Va detto come prima cosa che l’edizione del libro qui discussa è la prima, ma recentemente è uscita la terza, la cui recensione sostituira' la presente appena possibile. Advanced Windows NT è un ottimo testo di programmazione di sistema, ed indubbiamente, se potete acquistare un solo volume sull'argomento, questo è il libro da scegliere. Richter discute nei dettagli la programmazione multitasking e multithreading, affrontando nei diversi capitoli i processi ed i thread, la gestione della memoria, i memory mapped file, la sincronizzazione tra thread, le differenze di sistema con Windows 3.x, le DLL, il file system, la gestione strutturata delle eccezioni ed altro ancora. Nessun riferimento, quindi, alla programmazione dell’interfaccia utente, per la quale esistono molti testi di vario livello, ma uno sguardo approfondito alla programmazione di sistema. Se le vostre applicazioni vanno oltre la semplice interfaccia utente verso un motore di database, e coinvolgono processi e thread multipli, potrete sicuramente beneficiare dalla lettura di questo libro.

Pro
Il testo completa la descrizione delle diverse funzionalità con dei listati di esempio, scritti bene e talvolta utilizzabili come scheletri sui quali costruire le proprie applicazioni. L’autore riesce a mantenere una prosa leggibile anche quando affronta argomenti complessi, ed in più di una occasione rivela come alcuni particolari della progettazione del sistema operativo (ad esempio la portabilità su piattaforme hardware diverse) abbiano influito anche sulle API e la programmazione di ogni giorno, migliorando la comprensione del sistema ad ogni livello.

Contro
Alcune parti, come la gestione della memoria cui vengono dedicati ben due capitoli, sono di scarsa utilità per la maggior parte dei programmatori, interessando più che altro chi scrive le librerie run-time dei compilatori. Stranamente, manca completamente la discussione delle named pipe, che sono invece tra i meccanismi di interprocess communication più utili. In effetti, l’intero interprocess communication riceve scarsa attenzione, mancando ogni riferimento anche a remote procedure call, socket programming, eccetera. Fortunatamente, esistono altri testi che possono compensare queste mancanze.