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的进一步发展。
分享到:
相关推荐
李航教授展望自然语言对话领域:现状与未来.pdf
一、自然语言处理的基础与挑战 1. 语言作为信息的载体:信息是现代社会发展的关键资源,而语言是信息传播和交流的核心工具。自然语言处理的研究旨在通过计算机技术对语言信息进行高效处理,包括信息的输入、输出、...
《幼儿园语言活动的现状、问题及策略》 在当今社会,幼儿教育愈发受到重视,而语言活动作为幼儿园教育的重要组成部分,对于儿童的语言能力发展起着至关重要的作用。本资料主要探讨了当前幼儿园语言活动的现状,存在...
硬件描述语言HDL的现状与发展.基于SystemC和Verilog软硬件协同验证.vhdl verilog system verilog systemc等
"幼儿园语言教学课堂提问的现状与策略"这一主题旨在深入探讨当前幼儿园语言教学中提问方式的运用情况,并提出有效的改进策略。文档《幼儿园语言教学课堂提问的现状与策略》详细分析了以下几个方面: 1. 当前课堂...
总的来说,大语言模型的发展和现状展示了人工智能在自然语言处理领域的巨大进步。从早期的规则系统到如今的深度学习模型,大语言模型正在不断拓展其应用范围,对社会经济、教育、科研等各个领域产生了深远影响。未来...
硬件描述语言HDL的现状与发展.docx
语言修饰集的研究现状与前景 语言修饰集是模糊逻辑领域中的一个重要概念,它提供了一种更为自然、符合人类语言习惯的方式来描述和处理不确定信息。在决策分析、情感分析、工程风险管理等多个领域,语言修饰集已经...
小学汉语言文学教育的现状与优化探究
【认知语言学在英语翻译领域的现状与启示】 认知语言学,作为一门20世纪80年代崛起的语言学科,近年来在英语翻译领域占据了重要的地位。它将语言与认知心理学、哲学和人类行为学等多个领域相结合,探究语言如何反映...
多媒体技术的应用现状与发展趋势
本文结合四川,云南,贵州,广西彝族人的发展现状,结合社会发展的需要,通过全国彝语专业术语标准化工作委员会的批准,并报请上级主管部门实施。实施“彝族通用语言标准计划”,并有效实施。 它探讨了谚语的现实...
2018年中国区块链现状及发展前景 2018年中国区块链现状及发展前景
和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关的细节,让程序员能够更好地表达意图。 三、计算机语言的发展趋势 计算机语言的发展趋势是朝着更加抽象、更加高级的方向发展...
语料库语言学研究发展现状浅析 本文概括了语料库语言学研究的发展现状,讨论了语料库语言学在外语教学和翻译教学方面的应用,并回顾了近年来语料库语言学研究所取得的成果。 一、语料库语言学研究的发展 语料库...
人工智能翻译的发展现状与前景分析 随着互联网的迅速发展,人工智能(AI)技术在各行各业的应用日益广泛。翻译行业作为重要的跨文化沟通工具,也在技术变革中面临新的挑战和机遇。本文将从机器翻译的原理、人工智能...
数据挖掘语言作为支撑该技术的核心,其应用现状自然成为关注焦点。本文将详细分析数据挖掘语言的应用现状,并探讨其在未来发展中的重要性。 数据挖掘是一种在海量数据中自动发现有用信息的过程,通常包括数据准备、...