论坛首页 编程语言技术论坛

D语言编译器DMD开源了!

浏览 14462 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-03-05   最后修改:2009-03-05

  自从1999年12月,Walter设计开发D语言以来,D语言的编译器DMD因为不开源,成了业界的诟病。Walter曾经承诺,将开放源代码。

   伟大的Walter Bright在今天2009年3月5日下午18点40分(中国时间) 释放出了D1和D2的前端和后端的源代码!!开源协议为GPL1.0或者Artistic license。后端协议看了看,有Digital Mars和SYMANTEC的版权。后端是单一用户协议,不允许再次发布。

Walter兑现了他的承诺!

感谢Walter所做的工作!

可以使用DMC(Digital Mars C++ compiler)进行编译。

分为Win32,Mac,Linux三个版本。


http://www.digitalmars.com/d/1.0/changelog.html
http://ftp.digitalmars.com/dmd.1.041.zip


http://www.digitalmars.com/d/2.0/changelog.html
http://ftp.digitalmars.com/dmd.2.026.zip


经过试验,我已经在WindowsXP Sp2下成功编译出DMD的Release版本!D前端后端约205个文件!用C语言编写。感叹Walter的独具匠心,巧夺天工。

D将越来越好!

   发表时间:2009-03-05  
经过试验,我已经在WindowsXP Sp2下成功编译出DMD. Release版本!   
1 请登录后投票
   发表时间:2009-03-06  
小弟不懂,预测下D开源后的,发展趋势是怎么样呢?
1 请登录后投票
   发表时间:2009-03-06  
mzfhhhh 写道

小弟不懂,预测下D开源后的,发展趋势是怎么样呢?


简述下:
1.将有更多的大牛帮助开发和测试D。
2.你自己也可以编译自己的DMD。
3.D更符合当前流行趋势,符合GPL开源精神,得到开源社区支持。
4.看到源代码后,你发现没有任何后门,木马,让你用的更加放心。
5.D社区将迎来春天!!!
0 请登录后投票
   发表时间:2009-03-06  
这个要顶,,,,,强顶! DMD终于开源了, 大伙们都等的心痛啊! 以后D语言会越来越强! 加油!
0 请登录后投票
   发表时间:2009-03-06  
很好, 历史的必然, 个人力量总是有限的!
0 请登录后投票
   发表时间:2009-03-06  
突然想到:为什么不用D来写DMD呢?
0 请登录后投票
   发表时间:2009-03-06  
D语言的时代终于到来了
0 请登录后投票
   发表时间:2009-03-06  
night_stalker 写道
突然想到:为什么不用D来写DMD呢?


呵呵,你太有才了,还真有这样的项目:Dil,在Google Code呢.兼容D1,D2.
0 请登录后投票
   发表时间:2009-03-06   最后修改:2009-03-06
night_stalker 写道
突然想到:为什么不用D来写DMD呢?

这应该是潮流和趋势吧。会有的,虽然现在Google Code上的版本还不够成熟。
不太清楚Walter的考虑是怎样的,不过大致可以猜测有两点:
1、在编写D编译器时尚未有可用的D编译器,而写好这个编译器时代码量已经很大,没必要就不想重新写;
2、D的语言特性没有完全冻结,用一个快速变化中的语言来写代码的维护成本比较高。
要我说的话第一点的因素或许大些?第二点毕竟有D1是相对稳定的。

想起C#的编译器。微软当初实现C#编译器的时候,C#还不存在,自然只能用已有的语言来写;于是当时微软是用C++来写C#编译器的。编译器代码成熟之后,代码量已经非常大了,性能也还可以;加上当时没有立即的需求要用C#来重写编译器,所以一直到Visual Studio 2008/.NET Framework 3.5 SP1的C#编译器都是从开始的那个C++版本进化而来的。

而Mono计划在启动阶段的时候已经有C#编译器了,微软那个。Miguel为了学习C#而用C#写了Mono的第一个C#编译器。后来经过大量的修改,多年的进化,现在性能也还不错,能支持C# 3.0的新语法。
不仅如此,Mono在2.2正式将它的C#编译器开放为一个服务,可以在自己的程序里调用它来解析和编译C#代码。

微软的C# 5.0路线图的其中一点正好也是将C#编译器用C#重新实现一遍,并将编译器作为服务开放出来。这点反而让Mono走在了前面,着实有趣。在Visual Studio 2010 CTP里,.NET 4.0的System.Core.dll里已经有一个半成品的C#编译器了;它目前是用于支持C# 4.0的dynamic特性的。有兴趣的话也可以去看看。
1 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics