介绍一门新语言:D语言

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

简单地说,D语言是一门新的编程语言,包含了C++、C# 跟 Java的长处,补充了它们的不足。

D语言的作者 Walter Bright (就一个人哦,暴强!!!)是大名鼎鼎的Symantec C++ compiler的作者,所以这门语言还是值得期待的。

目前的版本是D 0.103,Oct 20, 2004. (关注中, 期待新版本...)

其主页上介绍的特性很多,在我看来,主要还是其垃圾回收机制:

与C++相比,D语言采用了垃圾回收机制(GC),将程序员从指针堆里解放出来;

与C#/Java相比,其垃圾回收机制不需要虚拟机,运行速度提高,依赖性降低;

是C/C++的高效性与JAVA的安全性之结合。

D语言与其他语言功能比较表:

http://www.digitalmars.com/d/comparison.html

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

Arrays

Lightweight arrays

Yes

Yes

Yes

No

No

Resizeable arrays

Yes

No

No

No

No

Arrays of bits

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

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

No

No

No

No

Yes

Covariant return types

Yes

No

Yes

No

No

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

Templates

Yes

No

Yes

No

No

Mixins

Yes

No

No

No

No

typeof

Yes

No

No

Yes

No

foreach

Yes

No

No

Yes

No

Constraints

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

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

No

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

D语言主页:

http://www.minddrome.com/produtos/d/

http://www.digitalmars.com/d/

C#与C、C++、D、Java 的性能比较(中文)

http://mag.vchelp.net/200312/fanyi.htm

OSNews.com的介绍:

http://www.osnews.com/story.php?news_id=6761

D语言编译器下载:

http://www.digitalmars.com/d/dcompiler.html

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航