Top 1K Features Creators Events Podcasts Books Extensions Interviews Blog Explorer CSV

D

< >

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

#56on PLDB 23Years Old 13kRepos
Homepage · REPL · Try It Online · Download · Blog · Wikipedia · Twitter · FAQ · Release Notes · Docs

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 Example Token
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 · Add · About · Search · Keywords · Livestreams · Labs · Resources · Acknowledgements · Part of the World Wide Scroll