D语言
D 是一种通用的系统和应用编程语言。它是比 C++ 更高级的语言,同时还保持了生成高效代码以及直接访问操作系统API和硬件的能力。D 很适合于编写从中等规模到那些由团队合作完成、数百万行代码规模的各种程序。D 易于学习,为编程者提供了很多便利,并且适用各种野心勃勃的编译器优化技术。
D 不是脚本语言,也不是一种解释型语言。它不需要虚拟机、宗教、或者高于一切的哲学。它是给实际的编程者使用的实际的语言,它帮助编程者快速、可靠的完成易于维护、易于理解的代码。 D 是数十年来实现多种语言编译器的经验的积累,是用那些语言构造大型工程的尝试的积累。D 从那些语言(主要是 C++ )那里获得了灵感,并将 使用经验和现实世界中的实用性来驯服它。 自从2004年开始,D语言才开始开发,现在已经推出第一个正式版本V1.0。可能正是由于D语言是Walter Bright这位C++大师一个人开发的,因此,它才会受到如此的关注。从一般的经验来讲,越是后面出的语言,在功能上就会吸取以前各种语言的优势,并且尽量弥补它们的不足。 有很多人经常拿C++、C#和Java来进行比较。在使用感觉上,可能后两种语言会使程序员更舒服一些,但在效率上C++会更胜一筹。这在有时会形成两难的选择。在D语言诞生之前是不可能在效率和易用性兼得的。但如果看一下D语言的介绍之后,心中会怦然一动,“Great, just what I need.”。 D语言正是结合了C#、Java和C++以及PHP、Python等动态语言的特性于一身。尤其是它提供的垃圾收集器并不同于Java和C#的垃圾回收。它的垃圾回收器并不依赖于虚拟机,而是作为可执行程序单独来运行的。这样它的效率非常高。这也意味着这个类似C++语法的计算机语言再也不用释放内存了,只要按需来分配内存即可。 下面是D语言和C/C++、C#和Java的部分特性比较,从中可以看出,D语言中和了这些语言中几乎所有的特性,而且还有一些新特性,如合并数组,是其他语言都不具备的。 特性 D C C++ C# Java 垃圾回收 是 否 否 是 是 动态改变数组大小 是 否 否 否 否 数组边界核对 是 否 否 是 否 合并数组 是 否 否 否 否 别名 是 是 是 否 否 面向对象 是 否 是 是 是 接口 是 否 是 是 是 操作符重载 是 否 是 是 否 模块 是 否 是 是 是 类的动态装载 否 否 否 是 是 嵌套类 是 是 是 是 是 属性 是 否 否 是 否 嵌入汇编语言 是 是 是 否 否 直接访问硬件 是 是 是 否 否 模板 是 否 是 否 否 约束 是 否 否 否 否 |