Generic Programming Galore using D

Location: Portland 256 Level: Expert
Average rating: ***..
(3.78, 9 ratings)

Generic programming holds great promise – ultimate reuse, unprecedented flexibility, and never a need to reimplement an algorithm from scratch due to abstraction penalties.

Unfortunately, the shiny city on the hill is difficult to reach. The modeling power of C++ has effectively reached a plateau – anything but the simplest generic constructs quickly turn an exponential complexity/benefit elbow. C++11 fails to be a strong sequel in the generic programming arena, and many other languages don’t seem to “get” genericity properly at all. The D programming language is a definite exception from this trend.

D makes short work of the most formidable generic programming tasks achievable with C++ and makes virtually impossible tasks readily doable. It also reduces the relevance of “Modern C++ Design” to that of an introductory brochure (much to the dismay of that book’s author).

This talk has a simple structure. It will pose a few generic programming tasks that seem difficult or impossible with current language technology, and then will show solutions in D that solve said problems.

Photo of Andrei Alexandrescu

Andrei Alexandrescu


Andrei Alexandrescu is a Research Scientist at Facebook and coined the colloquial term "modern C++ ", used today to describe a collection of important C++ styles and idioms. His eponymous book on the topic, Modern C++ Design (Addison-Wesley, 2001), revolutionized C++ programming and
produced a lasting influence not only on subsequent work on C++, but also on other languages and systems. With Herb Sutter, Andrei is also the
coauthor of C++ Coding Standards (Addison-Wesley, 2004).

Through Andrei’s varied work on libraries and applications, as well as his research in
machine learning and natural language processing, he has garnered a solid reputation in both industrial and academic circles. Andrei has also been
the key designer of many important features of the D programming language and has authored a large part of D’s standard library, positioning him to
write an authoritative book on the new language, appropriately entitled The D Programming Language (Addison-Wesley, 2010).

Andrei holds a PhD in Computer Science from the University of Washington and a BS in Electrical Engineering from University “Politehnica” Bucharest.

Comments on this page are now closed.


Picture of Andrei Alexandrescu
Andrei Alexandrescu
07/24/2012 8:40am PDT


Reddit discussion on slides:

Liang Shouqing
07/24/2012 8:31am PDT

can you share the slides?


For information on exhibition and sponsorship opportunities at the conference, contact Sharon Cordesse at (707) 827-7065 or

View a complete list of OSCON contacts