D 语言(D Programming Language)是一种通用的、多范式系统编程语言,由 Walter Bright 于 2001 年创建,后来由 Andrei Alexandrescu 共同设计。D 语言的目标是成为 C++ 的现代化替代品——保留 C++ 的性能,但解决其复杂性和历史包袱。
D 语言的核心定位是 高性能 + 高生产力。它提供了:
Walter Bright 是 C++ 编译器(Zortech C++)的开发者,他对 C++ 的复杂性感到不满。2001 年,他开始设计一门新语言——D 语言。D 语言吸收了 C、C++、Java、Python 等语言的优点,目标是成为 系统编程的现代化语言。
const/immutable、纯函数、模块系统@safe 和 @trusted,加强内存安全import 增强,更好的工具链支持void main()int x = 10;(类型后置)auto x = 10;//、/* */、/** */(文档注释);module main; 定义模块int、long、short、byteuint、ulong、ushort、ubytefloat、double、real(80 位 x87)char(UTF-8)、wchar(UTF-16)、dchar(UTF-32)boolvoidint[] arr = [1, 2, 3];(动态数组)int[3] arr = [1, 2, 3];arr[0..2](左闭右开)int[string] map = ["key": 42];struct Point { int x; int y; }class Person { string name; int age; }enum Color { RED, GREEN, BLUE }@nogc 函数标注——保证不触发 GCscope 分配器——栈上分配malloc / free——C 风格内存管理class Animal { ... }interface Flyable { void fly(); }abstract class Shape { ... }this()、~this()(析构函数)static this()(模块初始化)auto add(T)(T a, T b) { return a + b; }class Stack(T) { ... }auto add(T)(T a, T b) if (isNumeric!T)auto sum(T...)(T args)pure int add(int a, int b) { return a + b; }immutable int x = 10;auto square = (int x) => x * x;a.foo(b) 等同于 foo(a, b)parallel、task)spawn、send、receive)shared 关键字标记共享数据__traits 获取类型信息// 编译期计算阶乘
int factorial(int n) {
static if (n <= 1)
return 1;
else
return n * factorial(n - 1);
}
// 编译期执行
static assert(factorial(5) == 120);
std.stdio:标准 I/Ostd.array:数组操作std.string:字符串处理std.range:范围操作(惰性计算)std.algorithm:算法(排序、查找、映射)std.concurrency:并发编程std.parallelism:并行计算std.regex:正则表达式std.json:JSON 解析std.xml:XML 解析D 语言既有 GC 的便利性,也支持 @nogc 和手动内存管理。你可以在同一个项目中混合使用两种方式——快速开发用 GC,性能关键部分用手动管理。
D 语言可以直接调用 C 函数,无需包装器。D 的 extern(C) 链接方式让 C 库调用零开销。
D 语言的函数可以在编译期执行,这在 C++ 中需要复杂的模板元编程才能实现。CTFE 让元编程变得简单直观。
a.foo(b) 和 foo(a, b) 是等价的。这使得方法链式调用更加自然,也方便扩展已有类型。
python script.py)与 C++ 相比,D 语言的语法更一致、规则更少。Python 程序员可以快速上手 D 语言,然后逐步深入底层。
安装 D 编译器、DUB、基础语法、数据类型、控制流、函数
模块系统、类与继承、模板、范围(Ranges)、UFCS
CTFE、元编程、并发编程、@nogc、BetterC 模式
使用 Vibe.d 构建 Web 应用、命令行工具、游戏开发
D 语言是系统编程领域被严重低估的宝藏语言。
它吸收了 C++ 的性能、Python 的简洁、Rust 的安全性(可选)、C# 的生产力,形成了一个独特的语言设计。D 语言可能不是最热门的语言,但它是 系统编程中最平衡的选择——既有性能,又有开发效率。
如果你厌倦了 C++ 的复杂性,又觉得 Rust 的学习曲线太陡,那么 D 语言值得你认真考虑。
"D 语言是我见过的最被低估的系统编程语言。" 💎