我为何不看好D语言

最近发现关于D语言的消息不少,看来他也在逐步被人关注。我第一次接触到D语言的时候是在大约5年前,差不多和我接触到Lua语言同时,我当时对Lua语言下结论是这个是好东西,将来有前途,所以我翻译了Lua的手册;当时我认为D语言也绝对是个强劲的工具:

D语言是由Digital Mars公司开发的编程语言,起因是为了改进C++。它与C二进制兼容(不完全),可编译为本地码,有GC也可手动管理内存,语法上借鉴多种语言,模板则在C++的基础上做了相当大的扩充。D 语言既有 C 语言的强大威力,又有 Python 和 Ruby 的开发效率。它是一种集垃圾回收、手工内存操作、契约式设计、高级模板技术、内嵌汇编、内置单元测试、Mixin 风格多继承、包管理机制、内置同步机制、内建基本运行时信息的系统级编程语言。 (( 百度百科 D语言 http://baike.baidu.com/view/701266.htm ))

然而我却觉得D语言没有太大的生命力。原因并非在于D语言本身不好,很可能这些因素将导致D语言不能最终流行:

首先看D语言背后公司Digital Mars(以下简称DM),虽然DM在C/C++编译器方面有着很久的经验,但是DM并不是一个具有很大影响力的公司。Java当年的流行很大程度上是拜IBM所赐,当然本身Sun也是非常有影响力的公司。C#在微软的推动下,一下就非常流行。然而DM则没有这种实力,除非被哪个IT贵人看上。同时DM甚至不是一个上市公司,我虽然不能推断DM的赢利能力,但根据DM的网站看出来,DM的主要产品就是Digital Mars C/C++编译器加上一些书籍。编译器这个市场我不了解,不过我清楚竞争者很多,微软、Borland、Intel、IBM、SUN、Apple都有自己的编译器,微软还有强悍的整套IDE、Visual Studio。Borland这么历史悠久做开发工具的,现在被贱卖了,Intel的C/C++编译器对Intel芯片最最好的优化。过去DM卖这个开发工具,现在所有的东西都可以在其网上下载了,所以Digital Mars的C/C++编译器只能是小范围的应用,不可能有太多的利润。编译器和语言开发工具这些个东西,由于市场问题,小公司很难搞大——他们的客户是开发者,而开发者限于项目的要求,一般不会使用不成熟的工具,同时很多工具的应用往往由一些不懂技术的人(老总)来拍板,他们往往看哪些东西比较流行,而小公司限于其规模,推广这些东西很困难,需要很长的周期。

既然DM不是一个大公司,自己没有十足的能力去把D语言做大,那么还有一条路子可走,那就是开放。GCC也是一个相当不错的编译器,Linux和FreeBSD等一系列*nix操作系统都是构建于其上,而它却是一个自由开放的工具。现在相当多的流行的编程语言,如PHP、Python、Ruby,都是开放的,仅仅在几个人创始人的手中,以很小初始的成本,就走到了今天,获得了巨大的成功。而D语言却是封闭的,仅仅只做了一个语言标准,如果D语言打算像Java那样,必须有大公司支持——然而Java现在也逐步开源了。虽然D语言已经有了一个开源的实现Dgcc,然而由于D语言不开放,标准由DM一家控制,也是非常危险的,未来开源的版本势必落后于商业版本。

希望D语言能真正走上开放自由的道路,开放的才是有生命力的。

“我为何不看好D语言”的7个回复

  1. Ruby可不一样,Ruby还是有几个比较有影响力的公司在支持的,比如Thoughtworks、37Signals等,Thoughtworks在业界的影响力不容小视(大牛Martin Flower啊),37Signals开发了杀手级应用框架Rails,其思想也影响了很多其他东西,37Signals本身也是一个典型的新兴Web2.0公司,忽悠钱也比Digital Mars这种中古编译器公司要容易得多。

    另外因为Ruby是开放的,开放的东西容易吸引自由开发者,容易产生良好的社区,这比一家商业小公司来控制语言标准好得多。

    Rails的商业应用还是不少的,而D语言成熟的商业应用却寥寥

    再比如Ruby也得到了大公司的支持,Sun就支持了JRuby,这是一个好兆头

    最后,Ruby是一个脚本语言,而脚本语言是应用级别开发未来的必然趋势,虽然编译型的语言并不会消失,只不过会转而到幕后,到了幕后,追求性能的话,还是C/C++更强。

    所以我认为Ruby的前景是不错的。

发表评论

电子邮件地址不会被公开。 必填项已用*标注