I 15 libri che ogni programmatore dovrebbe leggere
I libri per il programmatore efficiente non devono necessariamente essere tomi di un migliaio di pagine in cui si parla solo ed esclusivamente di codice, ma anzi dovrebbero dare informazioni generali, che aiutino ogni sviluppatore a creare script puliti in maniera logica e funzionale.
A tal proposito ecco una selezione di 15 testi che possono veramente contribuire alla formazione di ogni programmatore, sia esso fresco di università o già esperto professionista del settore informatico.
Libri per il programmatore di utilità generale
Di seguito troviamo libri che trattano vari argomenti, tutti utili alla formazione del cosiddetto pensiero computazionale del programmatore (strumento fondamentale per la risoluzione dei problemi logici legati al coding):
- Clean Code: A Handbook of Agile Software Craftsmanship: questo primo testo, scritto da Robert C. Martin e disponibile solo in inglese, è di fondamentale importanza, poiché insegna alcuni utili design pattern di programmazione, focalizzandosi sull’importanza della pulizia del codice attraverso esempi e casi studio reali;
- The Lean Startup: How Constant Innovation Creates Radically Successful Businesses: anche se apparentemente il testo si discosta un po’ dall’ambito informatico, il pensiero che sta alla base è estremamente valido anche per i programmatori. L’autore Eric Ries usa infatti molti esempi di startup legate all’informatica e le metodologie qui descritte, se ben applicate, possono portare enormi vantaggi;
- Code Complete 2nd Edition: un libro che potremmo definire “evergreen”, poiché gli argomenti in esso contenuti sono validi a prescindere dal linguaggio di programmazione utilizzato. Qui troviamo accorgimenti, metodologie di lavoro e problemi che qualunque programmatore affronta quotidianamente. Non a caso si tratta di un testo scritto da Steve McConnell molto usato anche nelle Università;
- The Pragmatic Programmer: From Journeyman to Master: il testo proposto da Andrew Hunt che fa scuola da ormai diversi anni e che si focalizza principalmente sull’insegnamento di metodi efficaci per la risoluzione dei problemi legati al coding;
- Software Architecture in Practice: un libro pluripremiato, scritto da Len Bass, Paul Clements e Rick Kazmanche, che parla dell’architettura software e dell’importanza della creazione di un codice facilmente riutilizzabile, così da ottimizzare le tempistiche produttive;
- Continuous Consegna: qui l’autore Jez Humble da importanti linee guida al programmatore, aiutandolo non solo durante lo sviluppo di un software, ma anche nella sua fase di testing e consegna;
- Working Effectively with Legacy Code: utile libro di Michael Feathers sulla programmazione in team o aziendale, perfetto per chi si trova a dover lavorare su un codice già esistente;
- Code: Il linguaggio nascosto di Computer Hardware e Software: il rapporto hardware – software viene spesso omesso durante la fase di formazione di un programmatore, poiché al giorno d’oggi esistono librerie e altre utilità che si occupano della compatibilità. Qui Charles Petzold spiega nel dettaglio questo rapporto;
- The Art of Computer Programming: un’interessante storia sullo sviluppo della programmazione e le sue basi scritta da Donald Knuth.
Libri dedicati al Design Patterns
Grazie a questa categoria di libri il programmatore imparerà a conoscere i diversi e più diffusi design patterns, così da avere un’idea generale di come ottimizzare il proprio codice e renderlo più funzionale:
- Design Patterns (Gamma);
- Design Patterns: Elements of Reusable Object-Oriented Software (Addison-Wesley);
- Domain-Driven Design: Tackling Complexity in the Heart of Software (Eric Evans).
Libri sul Web Design
Conoscere elementi di web design per un programmatore che solitamente si trova a lavorare solo sul codice, è un plus alla sua formazione professionale, poiché gli fornisce dati concreti sulla User Experience, aiutandolo nell’ottimizzazione:
- The Principles of Beautiful Web Design Third Edition (Jason Beaird e James George);
- CSS Secrets, Better Solutions To Everyday Web Design Problems (Lea Verou);
- CSS, The Missing Manual (David Sawyer McFarland).
La lettura dei testi qui consigliati fornisce allo sviluppatore un pacchetto culturale non indifferente, perfetto per migliorarne le prestazioni professionali e non solo.
