D
C / C++ family · 2001Actively developedNative programming with templates, compile-time evaluation and optional garbage collection.
Procedural · Object-oriented
Links
- 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
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.