Systems and low-level
Combine systems performance with expressive compile-time features.
import std.stdio;
void main() { writeln("Hello from D"); }COURSE CURRICULUM
Finish one section at a time or jump directly to a concept you need.
Learn how d compilers, modules, and project setup works in D, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how declarations, expressions, and attributes works in D, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how variables, immutability, and scope works in D, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how built-in types, structs, classes, and slices works in D, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how operators, properties, and aliasing works in D, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how conditionals, final switch, and contracts works in D, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how ranges, foreach, and lazy iteration works in D, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how functions, delegates, templates, and constraints works in D, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how arrays, associative arrays, ranges, and ownership works in D, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how strings, unicode, and formatted output works in D, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how exceptions, scope guards, and contracts works in D, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how modules, packages, dub, and conditional compilation works in D, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how classes, structs, mixins, and compile-time reflection works in D, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how files, fibers, tasks, and shared state works in D, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.
Learn how unit tests, contracts, and memory checks works in D, why the underlying model matters, and how to apply it in a small program without hiding important trade-offs.