D语言

原创 2007年10月10日 09:05:00
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  
垃圾回收                  是  否  否  是  是  
动态改变数组大小    是  否  否  否  否  
数组边界核对           是  否  否  是  否  
合并数组                  是  否  否  否  否  
别名                         是  是  是  否  否  
面向对象                  是  否  是  是  是  
接口                         是  否  是  是  是  
操作符重载               是  否  是  是  否  
模块                         是  否  是  是  是  
类的动态装载           否  否  否  是  是  
嵌套类                     是  是  是  是  是  
属性                         是  否  否  是  否  
嵌入汇编语言           是  是  是  否  否  
直接访问硬件           是  是  是  否  否  
模板                         是  否  是  否  否  
约束                         是  否  否  否  否   
 

用D语言解面试题6

原创的新算法,引入数学公式,提高效率1000倍以上,用D语言LDC编译器(64位)(基于LLVM3.6)把找下一个最大数的时间控制在200毫秒以内,(数值范围:1-200,000) (解题: 有一个整...
  • Iilovetopview
  • Iilovetopview
  • 2015年02月11日 23:30
  • 873

通过“D语言解析wav音频文件”来看C++向D代码的迁移

为抛砖引玉,本文浅谈一下“C++向D代码的迁移”。 看到两年前的一篇文章-wav文件解析:http://my.oschina.net/liusicong/blog/324078 关于wav音频文件...
  • Iilovetopview
  • Iilovetopview
  • 2016年04月24日 23:38
  • 559

c语言函数--D

函数名: delay 功 能: 将程序的执行暂停一段时间(毫秒) 用 法: void delay(unsigned milliseconds); 程序例: /* Emits a 440...
  • shuilan0066
  • shuilan0066
  • 2014年10月18日 10:58
  • 898

C语言格式符%d与%D的区别

在读此文之前,请先阅读《有符号整数与无符号整数》: http://blog.csdn.net/haishu_zheng/article/details/73104930   一、原码、反码、补码 数在...
  • haishu_zheng
  • haishu_zheng
  • 2017年06月12日 15:22
  • 10429

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

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

C语言中printf用%d输出float类型数据,或以%f输出int型数据的结果

C语言中printf用%d输出float类型数据,或以%f输出int型数据的结果 IEEE754标准 单精度(32位)/双精度(64位)浮点数解码 float double 有效位数...
  • abcdu1
  • abcdu1
  • 2017年07月15日 12:30
  • 2757

R语言之——正则表达式

定义正则表达式是对字符串操作的一种逻辑公式。作用对象正则表达式的作用对象是文本。作用*逻辑过滤 *精准抓取特点 灵活性、逻辑性和功能性非常强 可以迅速地、用极简单的方式达到字符串的复杂控制 语法规则...
  • u011402596
  • u011402596
  • 2015年03月21日 13:15
  • 2330

[C语言] 对于scanf()函数使用%d格式说明符无法读取字符的个人理解

#include int main(void) { int c; scanf("%d", &c); printf("%d", c);} 问题: 当我还是一个初学者的时候...
  • Ken_registered
  • Ken_registered
  • 2015年05月29日 09:56
  • 310

R语言正态性检验

R语言正态性检验 用R语言做正态分布检验 (2012-02-29 10:59:54)转载▼ 摘自:吴喜之:《非参数统计》(第二版),中国统计出版社,2006年10月:P164-165 1、ks....
  • Anne999
  • Anne999
  • 2017年03月24日 10:29
  • 250

python语言是动态语言、给类添加属性、方法、静态方法和类方法、__slots__()、python中的生成器、yield的用法

程序在查找变量的定义时遵循LEGB规则 LEGB规则: locals-->enclosing function-->globals-->builtins locals当前所在命名空间的变量 e...
  • yanhuatangtang
  • yanhuatangtang
  • 2017年07月17日 09:11
  • 169
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:D语言
举报原因:
原因补充:

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