Andrei Alexandrescu

Romanian computer scientist and author

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.

THE FREE TEST
How high is yours?

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

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

Compare with the greats

Elon Musk vs Pyotr Ilyich TchaikovskyAda Lovelace vs Friedrich NietzscheCharles Babbage vs David HumeJohn Locke vs Sigmund Freud
See the IQ Rankings →All comparisons →

Child prodigies

Kim Ung-yongKim Ung-yongTested IQ 210 — Guinness Record Holder, NASA Engineer at 8, PhD…Anna PaquinAnna PaquinWon an Academy Award at eleven on her very first acting roleMomiji NishiyaMomiji NishiyaFirst Olympic women's street champion, winning gold at age 13Emily BearEmily BearPlayed the White House at six, won a Grammy at twenty, scored a…
Child prodigies →

Play & come back tomorrow

Daily Genius Challenge · Guess the genius
Scottish physicist who unified electricity, magnetism and light into one set of equations.
Tap your answer ↓
Which Genius Are You? Free IQ Test