← All languages

D

C / C++ family · 2001Actively developed

Native programming with templates, compile-time evaluation and optional garbage collection.

Procedural · Object-oriented

Homepage
https://dlang.org/
Reference / standard
https://dlang.org/spec/spec.html
D forum
https://forum.dlang.org/
Wikipedia (English)
https://en.wikipedia.org/wiki/D_(programming_language)

Tracked release

Version
2.113.0
Artifact
DMD compiler release
Published
Date not verified
Source checked
2026-10-22
https://dlang.org/

Use & ecosystem

Suited for
Systems programming, Web backends, CLI tools / automation
Family / tradition
C-style
Maturity
Stable niche
Ecosystem breadth
Focused

Stable implementations and long-lived users support Stable niche. The smaller independent library ecosystem does not warrant Broad despite extensive metaprogramming facilities.

Industry & practical use

Native utilities, systems components and services are practical uses. Projects need to check whether chosen libraries support their memory-management and runtime constraints.

Compilers, libraries & tooling

DMD, LDC and GDC offer different compiler backends. DUB distributes packages; templates, compile-time evaluation and mixins provide code generation.

Platforms & deployment

General toolchains
Linux, Windows, macOS
Specialized tooling
None catalogued
Native cross-compilation
Restricted / involved

Major native desktop/server targets are available, with architecture coverage differing among DMD, LDC and GDC.

LDC/GDC can support cross-builds, but compatible runtimes, linkers and dependencies need target-specific setup.

Project health & support

The D Language Foundation and compiler communities maintain the language and implementations. Backend support and package maintenance vary.

Use, ecosystem & platform assessment reviewed 2026-10-22 · Sources below

History & origin

Walter Bright introduced D in 2001. D2, shaped with substantial contributions from Andrei Alexandrescu, developed a distinct language with ranges, compile-time programming and several memory-management options.

Creators
Walter Bright, Andrei Alexandrescu
Origin
2001 — First public release.

Influences & descendants

Influenced by

  • Not yet documented in this catalogue.

Influenced in this catalogue

  • No linked entries yet.

Language features

Typing
Static
Execution
AOT
Block structure
Explicit delimiters
Semicolons
Required
Lexical closures
Yes
Namespaced modules
Yes
Pattern matching
No
Macro system
String mixins (source generation), not AST macros

Implementation notes

  • String mixins generate source rather than providing a general hygienic AST macro system, so syntax metaprogramming is marked Partial.
  • GC-free code is possible, but not every library is usable without the runtime or collector.

Sources & references

Project overview
https://dlang.org/
Language / implementation reference
https://dlang.org/spec/spec.html

Use, ecosystem & platform sources

Project overview
https://dlang.org/
Language / implementation reference
https://dlang.org/spec/spec.html

See the classification definitions for implementation-dependent features. Influence links cover the entries documented here.