Top 1,000 Features Creators Resources Blog Explore Download
GitHub icon

D

< >

D is a programming language created in 2001 by Walter Bright and Andrei Alexandrescu.

#67on PLDB 23Years Old 13kRepos

Try now: Riju ยท TIO

The D programming language is an object-oriented, imperative, multi-paradigm system programming language created by Walter Bright of Digital Mars and released in 2001. Bright was joined in the design and development effort in 2007 by Andrei Alexandrescu. Though it originated as a re-engineering of C++, D is a distinct language, having redesigned some core C++ features while also taking inspiration from other languages, notably Java, Python, Ruby, C#, and Eiffel. Read more on Wikipedia...


Example from Compiler Explorer:
// Type your code here, or load an example. int square(int num) { return num * num; }
Example from Riju:
import std.stdio; void main() { writeln("Hello, world!"); }
// Hello World in D import std.stdio; void main() { writefln("Hello World!"); }
Example from Linguist:
unittest { }
Example from Wikipedia:
1 import std.stdio, std.algorithm, std.range, std.string; 2 3 void main() 4 { 5 dstring[][dstring] signs2words; 6 7 foreach(dchar[] w; lines(File("words.txt"))) 8 { 9 w = w.chomp().toLower(); 10 immutable key = w.dup.sort().release().idup; 11 signs2words[key] ~= w.idup; 12 } 13 14 foreach(words; signs2words) 15 if(words.length > 1) 16 writefln(words.join(" ")); 17 }

Language features

Feature Supported Token Example
Binary Literals โœ“
// 0[Bb][01_]+
Integers โœ“
// (0|[1-9][0-9_]*)([LUu]|Lu|LU|uL|UL)?
Floats โœ“
// 0[xX]([0-9a-fA-F_]*\.[0-9a-fA-F_]+|[0-9a-fA-F_]+)[pP][+\-]?[0-9_]+[fFL]?[i]?
Hexadecimals โœ“
// 0[xX][0-9a-fA-F_]+
Octals โœ“
// 0[0-7_]+
Strings โœ“ "
"Hello world"
MultiLine Comments โœ“ /+ +/
/+ A comment
+/
Print() Debugging โœ“ printf
Line Comments โœ“ //
// A comment
Templates โœ“
template TCopy(T)
{
    void copy(out T to, T from)
    {
        to = from;
    }
}
int i;
TCopy!(int).copy(i, 3);
Type Inference โœ“
Operator Overloading โœ“
Comments โœ“
Pointers โœ“
Case Insensitive Identifiers X
Semantic Indentation X

View source

- Build the next great programming language ยท About ยท Acknowledgements ยท Extensions ยท Day 624 ยท feedback@pldb.io