内存安全
默认支持基于垃圾回收的内存管理模式,使编程更加简单,内存更加安全,程序更加稳定。此外,还可以根据需要选择手动管理关键内存资源。借助scope语句,可以很好地控制内存资源的申请和释放点。D语言内部有一套核心类型定义和实现,是D语言的子集,也称为SafeD,用于保护内存的安全。
模块化编程
d语言的每个源文件都被定义为模块(module),源文件之间的依赖反映了模块之间的依赖。同一目录下的多个模块可以组成一个包(package)。基于模块的代码使项目的逻辑更加清晰,也为项目的构建和编译提供了支持。
其它语言交互
ABI与C语言完全兼容,因此它还具有很好的与C、C++和Objective-C等语言互动的能力。D语言甚至支持直接嵌入汇编语言,一些性能关键的代码可以直接使用汇编语言。D语言的BetterC特征是D语言的一个子集,可以完全消除GC依赖,用更好的C语言代替C语言编程,可以胜任C语言的大部分工作。通过Windows平台,COM接口可以实现与其它语言的交互。
基于包的应用构建
这不属于D语言本身的特点,但在D语言的发展生态中,它是一种非常重要和方便的D语言应用构建方法。dub是D语言的应用构建工具,可以很好地管理应用包之间的依赖关系,构建D语言应用。