Andrei Alexandrescu

Registered user since Sun 8 Jul 2018

Name:Andrei Alexandrescu

Romanian-born Computer Scientist Andrei Alexandrescu is an expert in a broad range of topics including software systems design and implementation, programming language design, library design, all aspects of the C++ and D programming languages, Machine Learning, and Natural Language Processing.

Andrei started publishing as a contributor to C/C++ Users Journal. His interests gravitated around devising simple, flexible design artifacts by using the generative capabilities of templates in the C++ programming language. Soon thereafter, following seminal discussions with Scott Meyers and the late John Vlissides, Andrei embarked on writing his first book, Modern C++ Design. The book, published in 2001 by Addison Wesley, coined the term “policy-based design”. Andrei’s second book, C++ Coding Standards (2004) established itself as the ultimate collection of guidelines for writing high-quality, industrial-software C++ code. The book won the Jolt Productivity Award at the Software Development Conference in 2005.

The late 2000s witnessed a shift of interest towards other fields. Andrei’s doctoral research, completed in 2009, is in Machine Learning applied to large-scale tasks in Natural Language Processing. His doctoral dissertation includes one theorem of importance to scaling graph-based methods to large learning tasks, and an original algorithm DynTrie that combines dynamic programming and the trie data structure to the end of optimizing large string similarity computations.

Simultaneously with his doctoral work, Andrei became a contributor to the D programming language, in which he recognized a potentially superior vehicle for furthering the ideas pioneered by Modern C++ Design. Since 2006 he became co-designer of the language together with Walter Bright and the main designer of D’s standard library. Andrei introduced new language features and a host of highly generic implementations of classic algorithms. His library design introduced the cross-linguistic concept of range, which combines the expressiveness of iterators as defined in C++’s Standard Template Library with the safety and convenience of the Iterator design pattern. Andrei’s third book The D Programming Language (2010) is an authoritative guide to the language.

Country:United States
Affiliation:D Language Foundation
Personal website:
Research interests:C++, D, languages