D语言是被设计用来取代C/C++进行系统级开发的语言,由著名的C/C++编译器大牛Walter Bright设计和实现。D语言借鉴了C、C++、Java和C#等静态类型语言以及LISP、Python和Ruby等动态类型语言的优点,具有一系列非常吸引人的特性:它具有C/C++语言的进行底层开发的能力(能够直接嵌入汇编),又具有大量Java和C#的开发特性(比如自动垃圾回收,delegate等),还可以进行函数式编程,同时在语言级别支持一些数据结构(比如哈希字典,复数和元组等),软件工程方面的契约编程和单元测试等也引入其中。这种种特性让D语言看起来非常吸引人,仿佛看到了系统开发的救世主,很多厌烦了C++和Java等的程序员投入到它的社区中,创立了很多相关的项目,主要是把C/C++的库移植到D语言中来,也有人进行正式的项目开发。
D语言的是由Walter Bright一个人设计和实现的,它的编译器DMD只开放了前端部分的源代码,可能是因为后端部分是他认为最后技术含量的部分,毕竟是从十几年的C/C++编辑器开发中积累起来的。D语言规范和DMD实现是典型的个人项目,一条单一的开发主线,版本好不停往上涨,变化频繁。他在2007年年初的时候发布了1.0版,本以为会是一个里程碑似的版本,给D语言的发展注入新的活力。可在1.0发布之后又在快速更新,现在已经更新到1.013版,从更新日志来看,语言本身的变化依然非常频繁,甚至关键字和操作符的变化都很快。
由于D语言本身和DMD编译器的过于不稳定,让一些热心的D语言开发者很郁闷,为了解决某个Bug而跟新编译器后,却使得原本在1.0下能够编译通过的代码在新版本的DMD下不能编译。3月11日,D语言的长期用户Chris Miller不得不再次在D语言的新闻组中发言要求DMD和D语言规范增加分支(DMD needs branches),以获得一个相对稳定的D语言版本,引来大水滔天,几乎所有人都支持这个请求。可Walter这个老顽固却死活不开窍,坚持使用他传统的C/C++项目开发方式,以为只要每次发布前都保证通过所有测试用例可以保证版本的向前兼容,甚至使用了-v1参数来获得一个相对稳定的1.0版本支持,其事实上效果相当差,还会给代码维护带来很大问题。为了让他明白创建分支的好处,很多人跳出来动之以情晓之以理,而他总是抱着解决某几个Bug就能解决稳定性的思路来回答。无奈决定权掌握在他一个人手里,大伙只能干着急,甚至有人提出了要单立门户的想法,可是没有后端部分的源代码,同时还要受到版权的限制,只能放弃。
Walter Bright是编译器的高手,这一点毋庸置疑,可他单枪匹马想独自一人创立一个被广泛使用的语言,还是相当难的,尤其是现在这种半开放源码方式和一根筋的不合作作风,要想D语言盛行几乎不可能。回想一下当前一些非常成功的项目,比如Linux和Python等,虽然当初只是一个人的创意,后来的发展也主要由创始人来把握方向,但它们在已开始就是一种完全开放的姿态,很快的吸引到大量的志同道合之式来合作开发,形成庞大的社区,最后走向了成功。
D语言本是非常有前途的,C/C++和Java等的众多弊病注定了需要一个新的更好的语言来取代,可由于Walter Bright的个人因素会导致他终究只能是少部分人的玩具,难以大面积推广应用。另外,随着JIT(实时编译)等优化技术的发展,并非要将静态类型语言编译成本地可执行代码才能够获得足够高的执行效率,动态语言同样可以用来进行对性能要求较高的系统开发,就更没有D语言的生存空间了,将是Python等动态语言的天下,非常看好和期待PyPy的进一步发展。
分享到:
相关推荐
自然语言处理的现状与未来PPT课件.pptx
李航教授展望自然语言对话领域:现状与未来.pdf
幼儿园语言活动的现状、问题及策略.zip
硬件描述语言HDL的现状与发展.基于SystemC和Verilog软硬件协同验证.vhdl verilog system verilog systemc等
本次会议主要关注生成式大语言模型的发展与现状。文档介绍了自然语言处理(NLP)在人工智能皇冠上的“明珠”,并探讨了语义消歧、抽象语义表示分析、语义角色标注、词汇/句子/段落向量表示框架、框架语义分析、一阶...
幼儿园语言教学课堂提问的现状与策略.zip
随 着软件 体 系结 构在 软件 开发 中 作 用 的 不 断提 高 和 近 期来软 件 体 系 结构 概念 的 明 确 提 出 ,要 求为 其表 示 和分 析 开发专 门 支 持 工 具 和 环 境 的需 求也越来 越 迫切。
硬件描述语言HDL的现状与发展.docx
语言修饰集的研究现状与前景.pdf
微服务技术发展的现状与展望
多媒体技术的应用现状与发展趋势
通过对高新技术企业R&D(Research and Development)税收激励政策现状与问题的分析和总结后,发现现有税收政策体系与高新技术企业R&D活动特点结合不够,是造成税收激励政策体系散乱、激励力度不够和研发税收实务操作难等...
本文结合四川,云南,贵州,广西彝族人的发展现状,结合社会发展的需要,通过全国彝语专业术语标准化工作委员会的批准,并报请上级主管部门实施。实施“彝族通用语言标准计划”,并有效实施。 它探讨了谚语的现实...
2018年中国区块链现状及发展前景 2018年中国区块链现状及发展前景
自动导引车导引技术研究现状与发展趋势pdf,提供“自动导引车导引技术研究现状与发展趋势”资料下载,资料主要介绍了自动导引车导引技术的现状以及未来的发展趋。
语料库语言学研究发展现状浅析 本文概括了语料库语言学研究的发展现状,讨论了语料库语言学在外语教学和翻译教学方面的应用,并回顾了近年来语料库语言学研究所取得的成果。 一、语料库语言学研究的发展 语料库...
认知语言学在英语翻译领域的现状与启示.docx
数据挖掘系统需要的一个功能是支持临时和交互式数据...可以设计数据挖掘查询语言来支持这一功能,除了数据挖掘查询语言,数据挖掘语言也包括数据挖掘建模语言与通用数据挖掘语言,文章将分别阐述它们的特点,并进行比较。
SAAS业务发展现状与趋势SAAS业务发展现状与趋势SAAS业务发展现状与趋势
国内外电子商务的发展现状与趋势.pptx