Write a Blog >>
Sun 20 - Tue 22 June 2021
co-located with PLDI 2021
Mon 21 Jun 2021 15:15 - 16:15 at HOPL - Monday Early Afternoon Chair(s): Yannis Smaragdakis, Roberto Ierusalimschy

As its name suggests, the initial motivation for the D programming language was to improve on C and C++ while keeping their spirit. The D language was to preserve those languages’ efficiency, low-level access, and Algol-style syntax. The areas D set out to improve focused initially on rapid development, convenience, and simplifying the syntax without hampering expressiveness.

The genesis of D has its peculiarities, as is the case with many other languages. Walter Bright, D’s creator, is a mechanical engineer by education who started out working for Boeing designing gearboxes for the~757. He was programming games on the side, and in trying to make his game Empire run faster, became interested in compilers. Despite having no experience, Bright set out in 1982 to implement a compiler that produced better code than those on the market at the time.

This interest materialized into a C compiler, followed by compilers for C++, Java, and JavaScript. Best known of these would be the Zortech C++ compiler, the first (and to date only) C++-to-native compiler developed by a single person. The D programming language began in 1999 as an effort to pull the best features of these languages into a new one. Fittingly, D would use the by that time mature C/C++ back end (optimizer and code generator) that had been under continued development and maintenance since 1982.

Between 1999 and 2006, Bright worked alone on the D language definition and its implementation, although a steadily increasing volume of patches from users was incorporated. The new language would be based on the past successes of the languages he’d used and implemented, but would be clearly looking to the future. D~started with choices that are obvious today but were less clear winners back in the 1990s: full support for Unicode, IEEE floating point, 2s complement arithmetic, and flat memory addressing (memory is treated as a linear address space with no segmentation). It would do away with certain compromises from past languages imposed by shortages of memory (for example, forward declarations would not be required). It would primarily appeal to C and C++ users, as expertise with those languages would be readily transferrable. The interface with C was designed to be zero cost.

The language design was begun in late 1999. An alpha version appeared in 2001 and the initial language was completed, somewhat arbitrarily, at version 1.0 in January 2007. During that time, the language evolved considerably, both in capability and in the accretion of a substantial worldwide community that became increasingly involved with contributing. The front end was open-sourced in April 2002, and the back end was donated by Symantec to the open source community in 2017. Meanwhile, two additional open-source back ends became mature in the 2010s: gdc (using the same back end as the GNU C++ compiler) and ldc (using the LLVM back end).

The increasing use of the D language in the 2010s created an impetus for formalization and development management. To that end, the D Language Foundation was created in September 2015 as a nonprofit corporation overseeing work on D’s definition and implementation, publications, conferences, and collaborations with universities.

Mon 21 Jun

Displayed time zone: Eastern Time (US & Canada) change

13:30 - 16:15
Monday Early AfternoonPapers at HOPL
Chair(s): Yannis Smaragdakis University of Athens, Roberto Ierusalimschy PUC-Rio
Thriving in a crowded and changing world: C++ 2006-2020
Bjarne Stroustrup Morgan Stanley
Origins of the D Programming Language
Walter Bright The D Language Foundation, Andrei Alexandrescu The D Language Foundation, Michael Parker The D Language Foundation