D语言简述

D语言简述通过加入已经被证明的能够提高生产力的特性、调整语言特性以避免常见但耗费精力的bug的出现,至少减少软件开发成本10%

使代码易于在编译器之间、在机器之间、在操作系统之间移植

支持多种编程范式,也就是至少支持命令式、结构化、面向对象和范型编程范式

对于熟悉 C 或者 C++ 的人来说,学习曲线要短

提供必要的低级访问能力

要使 D 的编译器从根本上易于实现(相对于 C++ 来说)

要同本机的 C 语言应用程序二进制接口相兼容

语法要做到上下文无关

对编写国际化的应用程序提供便利的支持

同时支持契约式编程和单元测试方法论

能够构建轻量级的、独立的程序

粗看上去 D 就像 C 和 C++

这样一来学习D以及将代码移植到 D 并非难事,从 C/C++ 转向 D 很自然,程序员不必从头学起

使用 D 并不意味着程序员会如Java或者Smalltalk那样被严格限制在虚拟机上

D 没有虚拟机,编译器直接生成可连接的目标文件

D 如同 C 那样被直接连接到操作系统

通常那些你熟悉的工具如 make 同样适用于 D 的开发

D 将很大程度上保留 C/C++ 的 观感

它将使用相同的代数语法,绝大多数的相同表达式和语句形式,以及总体的结构

D 程序既可以采用 C 风格的 函数和数据 范式,也可以采用 C++ 风格的面向对象范式,或者它们两者的混合

编译/链接/调试 的开发模型将会被继承下来,但是把 D 编译成为字节码然后解释执行也不会有任何问题

异常处理越来越多的使用经验显示,异常处理是比 C 传统的“出错代码/全局errno变量”模型更为高级的错误处理模型

运行时类型识别 C++ 部分地实现了这个功能,而 D 更进一步

对运行时类型识别的完全支持将使垃圾收集运行的更好,会使调试器的功能更强,会使对自动持久化的支持更好等等

D 维持了同 C 调用惯例的兼容

这样就能够使 D 程序直接访问操作系统提供的系统API

程序员有关现有 API 和编程范例的知识和经验可以继续在使用 D 时使用而只需付出很少的努力

运算符重载D支持对运算符的重载,使用用户自定义的类型来扩展由基本类型构成的类型系统

模板 模板是实现范型编程的一种手段

其他的手段包括使用宏或者采用协变数据类型

使用宏已经过时了

协变类型很直接,但是低效且缺少类型检查

C++ 模板太复杂,与语言的语法不和谐,还有各种各样的类型转换和重载规则等等

D 提供了一种简单得多的使用模板的方法

RAII(资源获得即初始化) RAII 技术是编写可靠软件的重要方法之一

Down and dirty编程 D保留 down-and-dirty 编程的能力,而不用采用别的语言编写的外部模块

在进行系统编程时,有时需要将一种指针转换成另一种指针,或者使用汇编语言

D 的目标不是避免 down and dirty 编程,而是减少在进行普通程序设计时对它们的需要

以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。

相关