Modern C++ Design, published in 2001, introduced the software engineering community to policy-based design implemented through template metaprogramming. This work established Andrei Alexandrescu as a technical authority, leading to the creation of the Loki library and the MOJO library, the latter of which implemented the move constructors concept for the C++ language.
Academic Foundation and Early Career
Born in Bucharest in 1969, Alexandrescu pursued his undergraduate studies at the Politehnica University of Bucharest, graduating with a Bachelor of Science in Electrical Engineering in July 1994. He later relocated to the United States, obtaining a Master of Science in 2003 and a Doctor of Philosophy in 2009, both in computer science from the University of Washington. His early professional path included roles as a program manager at Netzip, Inc. from April 1999, continuing into a development manager position at RealNetworks, Inc. following the company's acquisition of Netzip.
Twenty questions, eight minutes on the clock, and a percentile measured against everyone who has taken it. No sign-up.
Take the IQ test →Development of the D Language
Beginning in 2006, Alexandrescu collaborated with Walter Bright on the development of the D programming language. He authored the book The D Programming Language, published in 2010, and served as the primary maintainer of the standard library Phobos from 2007 through 2019. Beyond these duties, he founded the D Language Foundation to support the growth of the language and contributed the module ranges feature to its design.
Corporate Research and Technical Contributions
Alexandrescu's industry tenure includes over five years as a research scientist at Facebook, where he worked until August 2015. In January 2022, he joined Nvidia as a Principal Research Scientist. His technical portfolio is diverse, spanning the popularization of the scope guard idiom since 2000 and the development of the Expected template class for C++. The Expected class proposes a mechanism for error handling that associates errors with computational goals, allowing for improved exception management across thread boundaries.
Professional Outreach
Throughout his career, Alexandrescu has engaged with the programming community through various channels. He contributed articles to the C/C++ Users Journal under the byline "Generic<Programming>" starting in September 1998. He also co-hosted the annual C++ and Beyond technical conference alongside Herb Sutter and Scott Meyers between 2010 and 2014. He became a naturalized United States citizen in August 2014.
Fast facts
- Born: 1969, Bucharest
- Citizenship: Romania; United States
- B.S. Electrical Engineering: 1994, Politehnica University of Bucharest
- Ph.D. Computer Science: 2009, University of Washington
- Facebook employment: 2009-2015
- Nvidia employment: 2022
- Naturalized U.S. citizen: August 2014
Questions readers ask
What is policy-based design?
It is a programming technique implemented via template metaprogramming, detailed in the book Modern C++ Design.
What is the primary purpose of the Expected template class?
It provides a return value containing either a result or an exception, offering an alternative to traditional return codes and exception handling.
Achievements
- Affiliated with Facebook and Nvidia
- Educated at University of Washington and Politehnica University of Bucharest
- Worked as computer scientist, engineer and programmer


