Modern C++ Design, pubblicato nel 2001, ha introdotto la comunità dell'ingegneria del software alla progettazione basata su policy implementata tramite la metaprogrammazione a modelli (template). Quest'opera ha consacrato Andrei Alexandrescu come autorità tecnica, portando alla creazione della libreria Loki e della libreria MOJO, quest'ultima responsabile dell'implementazione del concetto di costruttori di spostamento (move constructors) per il linguaggio C++.
Fondamenti accademici e primi anni di carriera
Nato a Bucarest nel 1969, Alexandrescu ha compiuto i suoi studi universitari presso l'Università Politecnica di Bucarest, laureandosi in Ingegneria Elettrica nel luglio del 1994. Si è successivamente trasferito negli Stati Uniti, conseguendo un Master of Science nel 2003 e un dottorato di ricerca (Ph.D.) nel 2009, entrambi in informatica presso l'Università di Washington. Il suo percorso professionale iniziale ha incluso ruoli come program manager presso Netzip, Inc. a partire dall'aprile 1999, proseguendo come development manager presso RealNetworks, Inc. in seguito all'acquisizione di Netzip da parte di quest'ultima.
Sviluppo del linguaggio D
A partire dal 2006, Alexandrescu ha collaborato con Walter Bright allo sviluppo del linguaggio di programmazione D. È autore del libro The D Programming Language, pubblicato nel 2010, e ha ricoperto il ruolo di manutentore principale della libreria standard Phobos dal 2007 al 2019. Oltre a questi incarichi, ha fondato la D Language Foundation per sostenere la crescita del linguaggio e ha contribuito alla sua progettazione introducendo la funzionalità degli intervalli (ranges) di moduli.
Ricerca aziendale e contributi tecnici
La carriera industriale di Alexandrescu comprende oltre cinque anni come ricercatore scientifico presso Facebook, dove ha lavorato fino all'agosto 2015. Nel gennaio 2022 è entrato in Nvidia come Principal Research Scientist. Il suo portfolio tecnico è variegato e spazia dalla popularizzazione dell'idioma di protezione dello scope (scope guard) a partire dal 2000 allo sviluppo della classe template Expected per C++. La classe Expected propone un meccanismo di gestione degli errori che associa gli errori agli obiettivi computazionali, consentendo una gestione migliorata delle eccezioni attraverso i confini dei thread.
Venti domande, otto minuti di orologio e un percentile misurato su tutti quelli che l’hanno fatto. Senza registrazione.
Fai il test del QI →Divulgazione professionale
Nel corso della sua carriera, Alexandrescu si è interfacciato con la comunità di programmazione attraverso vari canali. Ha scritto articoli per il C/C++ Users Journal sotto lo pseudonimo "Generic<Programming>" a partire dal settembre 1998. Ha inoltre co-condotto la conferenza tecnica annuale C++ and Beyond insieme a Herb Sutter e Scott Meyers tra il 2010 e il 2014. È diventato cittadino statunitense naturalizzato nell'agosto del 2014.
Informazioni principali
- Nato: 1969, Bucarest - Cittadinanza: Romania; Stati Uniti - Laurea in Ingegneria Elettrica: 1994, Università Politecnica di Bucarest - Dottorato in Informatica: 2009, Università di Washington - Occupazione presso Facebook: 2009-2015 - Occupazione presso Nvidia: 2022 - Cittadino statunitense naturalizzato: agosto 2014
Domande frequenti
### Cos'è la progettazione basata su policy?
È una tecnica di programmazione implementata tramite la metaprogrammazione a modelli, descritta in dettaglio nel libro Modern C++ Design.
### Qual è lo scopo principale della classe template Expected?
Fornisce un valore di ritorno contenente un risultato o un'eccezione, offrendo un'alternativa ai codici di ritorno tradizionali e alla gestione delle eccezioni.


