D语言编译器

发现一个新生事物-D语言,出来似乎有段时间了,但我比较少关心这些“基础设施”,所以还觉得好新鲜,其它不必多说,看看文后这个D语言和其它各大语言的对比表你就很有冲动学一下了,希望不是昙花一现呀!

两个免费编译器:
D Front End for GCC
Compiler for D Programming Language

中文文档:
D语言的中文文档

以下为对比表格:

D Language Feature Comparison Table
Feature D
C C++ C# Java
Garbage Collection Yes No No Yes Yes
Functions
Function delegates Yes No No Yes No
Function overloading Yes No Yes Yes Yes
Out function parameters Yes Yes Yes Yes No
Nested functions Yes No No No No
Function literals Yes No No No No
Dynamic closures Yes No No No No
Typesafe variadic arguments Yes No No Yes Yes
Lazy function argument evaluation Yes No No No No
Arrays
Lightweight arrays Yes Yes Yes No No
Resizeable arrays Yes No No No No
Built-in strings Yes No No Yes Yes
Array slicing Yes No No No No
Array bounds checking Yes No No Yes Yes
Array literals Yes No No Yes Yes
Associative arrays Yes No No No No
Strong typedefs Yes No No No No
String switches Yes No No Yes No
Aliases Yes Yes Yes No No
OOP
Object Oriented Yes No Yes Yes Yes
Multiple Inheritance No No Yes No No
Interfaces Yes No Yes Yes Yes
Operator overloading Yes No Yes Yes No
Modules Yes No Yes Yes Yes
Dynamic class loading No No No Yes Yes
Nested classes Yes Yes Yes Yes Yes
Inner (adaptor) classes Yes No No No Yes
Covariant return types Yes No Yes No Yes
Properties Yes No No Yes No
Performance
Inline assembler Yes Yes Yes No No
Direct access to hardware Yes Yes Yes No No
Lightweight objects Yes Yes Yes Yes No
Explicit memory allocation control Yes Yes Yes No No
Independent of VM Yes Yes Yes No No
Direct native code gen Yes Yes Yes No No
Generic Programming
Class Templates Yes No Yes Yes Yes
Function Templates Yes No Yes No Yes
Implicit Function Template Instantiation Yes No Yes No No
Partial and Explicit Specialization Yes No Yes No No
Value Template Parameters Yes No Yes No No
Template Template Parameters Yes No Yes No No
Variadic Template Parameters Yes No No No No
Mixins Yes No No No No
static if Yes No No No No
is expressions Yes No No No No
typeof Yes No No Yes No
foreach Yes No No Yes Yes
Implicit Type Inference Yes No No No No
Reliability
Contract Programming Yes No No No No
Unit testing Yes No No No No
Static construction order Yes No No Yes Yes
Guaranteed initialization Yes No No Yes Yes
RAII (automatic destructors) Yes No Yes Yes No
Exception handling Yes No Yes Yes Yes
Scope guards Yes No No No No
try-catch-finally blocks Yes No No Yes Yes
Thread synchronization primitives Yes No No Yes Yes
Compatibility
C-style syntax Yes Yes Yes Yes Yes
Enumerated types Yes Yes Yes Yes Yes
Support all C types Yes Yes No No No
80 bit floating point Yes Yes Yes No No
Complex and Imaginary Yes Yes No No No
Direct access to C Yes Yes Yes No No
Use existing debuggers Yes Yes Yes No No
Struct member alignment control Yes No No No No
Generates standard object files Yes Yes Yes No No
Macro text preprocessor No Yes Yes No No
Other
Conditional compilation Yes Yes Yes Yes No
Unicode source text Yes Yes Yes Yes Yes
Documentation comments Yes No No Yes Yes