Prendendo spunto da una segnalazione di
Danilo Cicerone, ho deciso di scrivere questo breve pezzo sulle
cinque liste di cinque elementi edita da
Scott Meyers, uno dei più attivi mentori del linguaggio C++. Mi permetto di usare il termine mentore, perché Meyers nella sua ventennale carriera non ha mai scritto un programma in C++, tanto che lui stesso non osa definirsi un
vero programmatore. So che a molti può sembrare paradossale, ma è davvero difficile coniugare l'attività di consulente con quella di sviluppatore. Non si ha il tempo di documentarsi, scrivere articoli e libri, lavorando anche su qualche progetto complesso. E' vero che esistono delle eccezioni, ma generalmente chi sceglie di fare il divulgatore difficilmente matura un'esperienza diretta sul campo.
"
A Pause to Reflect: Five Lists of Five" è una serie di cinque articoli sui cinque soggetti più importanti del C++. Il primo della serie cataloga quelli che secondo l'opinione dell'autore sono i cinque (scusatemi l'ennesina ripetizione) libri più significativi che hanno come argomento C++. Quali sono? Ovviamente
The C++ Programming Language di
Bjarne Stroustrup, il filosofo, autore del C++, poi il suo
Effective C++ (suo di Meyers), il mitico
Design Patterns, insieme con
INCITS/ISO/IEC 14882-2003 ed ancor prima il documento del 1998, e
Modern C++ Design di
Andrei Alexandrescu. Io aggiungerei anche
STL Tutorial and Reference Guide di
David R. Musser e
Atul Saini.
Dopo i libri Meyers elenca quelle che secondo lui sono
le più importanti pubblicazioni della storia del C++, che non siano apparse sotto forma di libri: si tratta sostanzialmente di articoli apparsi su riviste specializzate. Se almeno un paio di libri tra quelli elencati da Meyers, più quello su STL che ho personalmente recensito, li ho letti, degli articoli segnalati ignoravo invece l'esistenza. Sarà anche perché non scrivo una riga in C++ da quando avevo più o meno 20 anni. Ma andiamo avanti.
Nel
terzo articolo della serie, Meyers menziona quelli che a suo avviso sono i software più importanti nella storia del C++. In primis tre compilatori:
Cfront, il
GCC e
Microsoft Visual C++; poi quello che secondo me è stato il più grande contributo all'ANSI C++, ovvero la
Standard Template Library, opera del matematico
Alexander A. Stepanov; infine le
Boost C++ Libraries, ben conosciute da chi programma in C++.
Vengono poi citati
i personaggi di maggiore influenza nel mondo del C++: oltre al già citato Stroustrup, Meyers annovera sé stesso;
Andrew Koenig, ex Project Editor del comitato di standardizzazione ISO/ANSI per il C++;
Herb Sutter, prolifico autore, già capo editore del, mi pare defunto, C++ Report, e per finire il già citato
Andrei Alexandrescu. Non mi trovo propriamente d'accordo con questa classifica, poiché non ne fa parte Alexander Stepanov, senza il quale C++ non sarebbe quello che è. Debbo dire che Scott è alquanto immodesto, visto che pensa d'essere più importante di Stepanov.
Meyers conclude raccontando
cinque ricordi personali che riguardano il suo rapporto con il C++. Una serie interessante, che fa venire voglia di programmare in C++. Grazie a Danilo per avermela segnalata.