D语言介绍

转载 2007年09月22日 08:44:00

整理了有关D语言的介绍,如下:

     (邵东好Blog):

简单地说,D语言是一门新的编程语言,包含了C++、C# 跟 Java的长处,补充了它们的不足。(我想名字的由来可能是比C语言进一步^_^)

D语言的作者 Walter Bright (就一个人哦,暴强!!!)是大名鼎鼎的Symantec C++ compiler的作者,所以这门语言还是值得期待的。
目前的版本是D 0.167,Sep 18, 2006. (关注中, 期待新版本...)

其主页上介绍的特性很多,在我看来,主要还是其垃圾回收机制:
与C++相比,D语言采用了垃圾回收机制(GC),将程序员从指针堆里解放出来;
与C#/Java相比,其垃圾回收机制不需要虚拟机,运行速度提高,依赖性降低;
是C/C++的高效性与JAVA的安全性之结合。

目 前,d语言缺少像java或是.net 丰富的类库,社区也不够活跃,个人感觉这只是了解的人不多而已。就语言特性而言,应该是相当丰富的,由于开源社区有mono和gnu classpath,加之d编译器已经有gnu 版本,前途是不可估量的。Shawn Liu 也对swt 的移植说明了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  

D语言安装及使用

下载dmd.zip/dmc.zip ,解压到磁盘目录,把dmd/bin和dm/bin追加到环境变量path中即可

使用dmd 编译d源代码,如

1. hello.d

void main(){
 printf("hello, world!");
}

2. dmd hello.d

3. hello

 

D语言介绍

整理了有关D语言的介绍,如下:     (邵东好Blog): 简单地说,D语言是一门新的编程语言,包含了C++、C# 跟 Java的长处,补充了它们的不足。(我想名字的由来可能是比C语言进一步^_^)...
  • cai066
  • cai066
  • 2007年09月21日 14:57
  • 450

C++后继有人——D语言

  D语言是什么?  D语言是由Digital Mars公司开发的编程语言,起因是为了改进C++。它与C二进制兼容(不完全),可编译为本地码,有GC也可手动管理内存,语法上借鉴多种语言,模板则在...
  • sidely
  • sidely
  • 2014年10月16日 10:28
  • 586

D语言介绍

整理了有关D语言的介绍,如下:     (邵东好Blog): 简单地说,D语言是一门新的编程语言,包含了C++、C# 跟 Java的长处,补充了它们的不足。(我想名字的由来可能是比C语言进一步^_^)...
  • rableoko
  • rableoko
  • 2007年08月25日 01:58
  • 11922

D语言中的函数

 函数虚函数所有的非静态非私有函数都是虚函数。这听起来也许低效,但是因为D编译器在生成代码时知道所有的类层次结构,所有未被重载的函数可以被优化为非虚函数。事实上,因为 C++ 程序员倾向于“在不确定时...
  • uframer
  • uframer
  • 2005年02月14日 01:21
  • 3108

D语言中的数组(一)

数组有四种数组: int* p; 指向数据的指针 int[3] s; 静态数组 int[] a; 动态数组 int[char[]] x; 关联数组 指针 int* p; 这是最简单的指向数据的指针,等...
  • uframer
  • uframer
  • 2005年02月21日 19:25
  • 3079

D语言学习笔记(1)——编译和运行环境以及“Hello World”

最近在CSDN上看到有提到一个D语言,仔细看了一下网上的资料之后,发现这个确实是个好东西! 这个语言集合了C、java和一些脚本语言如ruby的很多优点,同时抛弃了很多C++的缺点。感觉最直接的,一个...
  • yyquick
  • yyquick
  • 2007年10月23日 17:38
  • 585

从D语言看C++ Template语法

从D语言看C++ Template语法许式伟 (版权声明)2007-5-2D语言是一门新兴的语言,它试图结合C/C++性能上的高效,同时又象Python、Ruby等“现代”语言那样具备高效的生产力。C...
  • xushiweizh
  • xushiweizh
  • 2007年05月02日 21:53
  • 11088

D语言真相

D语言真相Andrei Alexandrescu 著 ideage,Colorful 译 译的不好,请大家指正!06月18日 00:3806月19日 23:45 让我们看看为什么D语言是值得认真研究的...
  • ideage
  • ideage
  • 2009年06月19日 01:33
  • 842

D语言中的枚举类型

枚举类型 枚举声明: enum 标志符 枚举体 enum 枚举体 enum 标志符 : 枚举基本类型 枚举体 enum 枚举基本类型 : 枚举体 枚举基本类型: 类型 枚举体: ; { ...
  • uframer
  • uframer
  • 2005年02月21日 21:02
  • 3225

看图配置D语言集成开发环境(IDE),使用Poseidon

D语言是个具有很多高级特性的编译型的语言,这篇文章教大家配置一个集成编程环境。write by DKink|棼紫进这个站点http://www.digitalmars.com/找到DownLoads下...
  • dkink
  • dkink
  • 2007年10月24日 15:41
  • 8583
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:D语言介绍
举报原因:
原因补充:

(最多只允许输入30个字)