D语言介绍(转)

简介:


整理了有关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




本文转自钢钢博客园博客,原文链接http://www.cnblogs.com/xugang/archive/2007/09/22/902856.html,如需转载请自行联系原作者


相关文章
|
7月前
|
程序员 编译器 Linux
V 语言
V 是一门通用的编程语言,也可以作为系统语言,其网站说它非常简单,你可以在一个周末学会,它还说 Go 程序员会对该语言非常熟悉,因为 V 语言在很多方面借鉴了 Go。
108 2
|
SQL 关系型数据库 MySQL
msq语言
控制语言,定义语言,操纵语言
272 0
|
Java 开发者
快速掌握一个语言最常用的50%
现在的开发工作要求我们能够快速掌握一门语言。一般来说应对这种挑战有两种态度:其一,粗粗看看语法,就撸起袖子开干,边查Google边学习;其二是花很多时间完整地把整个语言学习一遍,做到胸有成竹,然后再开始做实际工作。
929 0
|
Java 关系型数据库 C#
什么语言才是世界上最好语言 ?
XXX语言是世界上最好语言 前言一个好的编译器/解释器决定一个语言的命运。我们常常看到有人会在网络上谈论一个语言的好坏,从而引起社区口水战,在这些话题中性能占了很大的比例,很少会有人辩论语言的语法合理性,语言的设计缺陷。
1937 0
P4语言
官网:https://p4.org/ github:https://github.com/p4lang/tutorials   相关文章: P4语言编程快速开始:https://www.sdnlab.com/18072.
1491 0
|
JavaScript 开发工具 前端开发
|
Java API C#
七天七语言
七天七语言 Kotlin Go C# Java Scala Python JavaSript hello,world 基本数据类型与类型系统 关键字与操作符 循环与分支 字符串与数组 集合类 面向对象编程 函数式编程 文件IO 正则表达式 多线程 J...
1034 0
|
程序员
《领域特定语言》一导读
我写这本书就是为了改变这个现状。我希望通过本书介绍的大量DSL技术,让你有足够的信息来做出决策:是否在工作中使用DSL,以及选择哪一种DSL技术。
1235 0