Questions Concepts
GitHub icon

D

D - Programming language

< >

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

#79on PLDB 22Years 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 · Search · Add Language · Features · Creators · Resources · About · Blog · Acknowledgements · Queries · Stats · Sponsor · Traffic · Traffic Today · Day 305 · feedback@pldb.com · Logout