开源的系统级编程利器:D语言

小卒过河
 小卒过河
发布于 2011年10月11日
收藏 7

Digital Mars公司的D语言首 页上,放置着这样一段话“计算机编程语言门类众多,其来源大致可分为两种途径。一类新语言来自于极具创新精神的学术界;而一类则源于关注研发结合和互联网 的新技术公司。目前正是在实现编译器的实践经验中诞生一门新语言了。”在九月份的TIOBE语言流行度排行榜中,正是这门支持内嵌汇编的D语言,以其系统 级编程的特性而被越来越多的开发者选用而重新入围了排行榜前二十位。

D语言是由Digital Mars公司开发的面向对象、指令式、多范型的系统级编程语言。诞生于1999年的D语言,在其设计开发十年后的2009年开放了D编译器DMD的源代码,包括D 1.0和D 2.0的编译器前端和后端源代码,分为Windows,Mac和Linux三个版本。编译器前端以GUN GPL和Artistic开源协议授权。

可以说,D语言是由数十年来实现多种语言编译器的经验积累而形成,源自C++,并为改进和超越C++而生。D语言对C++的部分特性进行了重新设 计,其模板在C++的基础上做了扩充,并在语法设计上借鉴了Java、C#等多种流行语言的优点。D语言在提供C++这样强大能力的同时,又具备与动态语 言相媲美的开发效率。

C++应用广泛的一个重要原因是C++进行操作系统底层编程的能力。D语言同样也提供了底层编程的特性,并加入了完善的内嵌汇编支持。内嵌汇编的特 性让系统级开发者能够在标准D语言代码中嵌入目标平台的汇编指令,来完成高级语言难以实现的工作。这些处理任务包括底层驱动程序开发、获取任务堆栈信息、 获取SP或RA等寄存器的状态、视频解码等各个层面。除此之外,在某些特定的数值运算中,如带进位加法运算,开发者常嵌入汇编指令来增强程序代码执行的效 率。

D语言的系统级编程特性,成为D语言区别于Java、C#等其他高级语言的主要特性。如Java语言在语法级别上不提供内嵌汇编的支持,如需在代码中嵌入汇编指令,只能借助于JNI的Java本地调用,通过引用C/C++代码来间接嵌入汇编指令。而D语言则可以直接与只接受汇编指令的处理器进行交互,直接执行汇编指令集来保证操作的精确性和原子性。

尽管现代的高级语言编译器已在编译优化上做了足够大的功夫,但高级语言编译器为了保证通用性,往往只编译生成通用指令集,没有针对特定处理器的专用 指令集进行优化,且无法生成新型处理器增加的高性能操作指令集。无疑,D语言将是内嵌汇编的最佳语言,它带来的便利让开发者撰写最高性能代码来充分发挥硬 件潜力变得触手可及。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:开源的系统级编程利器:D语言
加载中

最新评论(21

mj4738
mj4738
啥时候发布E语言
ifsc01
ifsc01
求x语言
寻梦
寻梦
坑爹的货啊……玩玩可以
黄金小瓜
黄金小瓜

引用来自“gamespoerleveling”的评论

求sb语言

sx语言
蟋蟀哥哥
蟋蟀哥哥
求sb语言
蟋蟀哥哥
蟋蟀哥哥
在使用中的有:apache nginx and litespeed
開源中國外交部長
開源中國外交部長
呵呵,如果是在中国找工作,就别学它了,如果是为爱好的,倒是可以学D的^^
FreeZ
FreeZ
10楼的笑话很有趣,我07年开始接触D,只能说这货太坑爹,玩玩可以,千万别认真。
晒太阳的小猪
晒太阳的小猪
:-)什么时候D语言也能加入函数式编程语言的东西。
返回顶部
顶部