Report a bug
		
				If you spot a problem with this page, click here to create a Bugzilla issue.
		
			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
			a local clone.
		
	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
        - Implicit Type Inference
- foreach
- Ranges
- Algorithms
- Aliases
-                 Templates
                - Aggregate Templates
- Function Templates
- Implicit Function Template Instantiation
- Partial and Explicit Template Specialization
- Value Template Parameters
- Alias Template Parameters
- Variadic Template Parameters
- Template Constraints
 
- typeof
 
- Metaprogramming
- Reliability
- Concurrency & Parallelism
- Types
-         Compatibility
        - C-like syntax
- Support for all C types
- if, while, do, for, switch, goto
- Direct access to C
- Import C code
- Better C subset
- Use existing debuggers
- Struct member alignment control
- Generates standard object files
- Obviates need for a macro text preprocessor
 
- Other
Copyright © 1999-2025 by the D Language Foundation | Page generated by
Ddoc on Mon Mar 31 10:28:07 2025