Improve this page
Quickly fork, edit online, and submit a pull request for this page.
Requires a signed-in GitHub account. This works well for small changes.
If you'd like to make larger changes you may want to consider using
local clone.
Page wiki
View or edit the community-maintained wiki page associated with this page.
Features Overview
Navigate D's implementation of a few key programming language concepts.
- Garbage Collection
- Functions
- Arrays
- OOP
- Object Orientation
- Interfaces
- Single inheritance of implementation/multiple inheritance of interfaces
- Operator overloading
- Modules
- No built-in dynamic class loading
- Nested classes
- Inner (adaptor) classes
- Covariant return types
- Properties
- Performance
- Inline assembler
- Direct access to hardware
- Lightweight objects
- Explicit memory allocation control
- Independent of VM
- Direct native code gen
- Generic Programming
- Class Templates
- Function Templates
- Implicit Function Template Instantiation
- Partial and Explicit Specialization
- Value Template Parameters
- Template Template Parameters
- Variadic Template Parameters
- Template Constraints
- Mixins
- static if
- expressions
- typeof
- foreach
- Implicit Type Inference
- Reliability
- Compatibility
- C-like syntax
- Enumerated types
- Support for all C types
- 80 bit floating point
- Complex and Imaginary
- Direct access to C
- Use existing debuggers
- Struct member alignment control
- Generates standard object files
- Obviates need for a macro text preprocessor
- Other