D语言编译器
发现一个新生事物-D语言,出来似乎有段时间了,但我比较少关心这些“基础设施”,所以还觉得好新鲜,其它不必多说,看看文后这个D语言和其它各大语言的对比表你就很有冲动学一下了,希望不是昙花一现呀!
两个免费编译器:
D Front End for GCC
Compiler for D Programming Language
中文文档:
D语言的中文文档
以下为对比表格:
| 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 |
About this entry
You’re currently reading “D语言编译器,” an entry on E.I.Art
- Published:
- 01.09.07 / 9am
- Category:
- Software
-
Total Visited: 4280 | Today Visited: 3 | Last Time: 08.09.2008 - 11:14
No comments
Jump to comment form | comments rss [?] | trackback uri [?]