無意中聽說了還有一種D語言,發(fā)現(xiàn)這D還真不賴,簡直一個(gè)改良的C++高級(jí)語言版,兼具C++和Java的優(yōu)點(diǎn),比那遙遙無期的C++0X 要爽得多。
花了一個(gè)晚上,粗淺得了解了一下,感覺最強(qiáng)烈的有以下幾點(diǎn):
(1)超快的編譯速度:編譯幾百個(gè)文件,只要3,4秒,估計(jì)C++要半個(gè)小時(shí)吧。這是因?yàn)樗腗odule機(jī)制實(shí)在是比C++的include機(jī)制強(qiáng)太多了。
(2)與C兼容策略:只與C接口兼容,這樣既能利用現(xiàn)有的C資源,又不引入C的低級(jí)特征。這一點(diǎn)要比C++的完全兼容策略好多了。這樣,Linus大牛也不用叫喊:“你們這些搞C++的家伙不要往我這C陣營里擠”。弄得好多人馬上說C++高不成低不就什么的。
(3)完美的宏替代者:Mixin
(4)對(duì)象既可以由gc管理,也可以手動(dòng)管理,倒是和C++0x有些像。 所以還可以結(jié)合析構(gòu)函數(shù)實(shí)現(xiàn)RAII,這一點(diǎn)JAVA是沒有辦法的(Java只能用丑陋的try catch塊來解決這個(gè)問題)。
(5)很多新的特征:unittest, 不變式,contract programming, 簡單的模板用法。。。
說了這么多好處,再說一下D現(xiàn)在的最大問題:
對(duì)于現(xiàn)在D語言的發(fā)展,既沒有一家成熟的商業(yè)公司支持,也沒有一個(gè)有效的開源社區(qū)維護(hù),它的設(shè)計(jì)完全掌握在設(shè)計(jì)者一個(gè)人手中,它的核心代碼也沒有完全開源,這使它的前景呈現(xiàn)出一些不穩(wěn)定的因素。如果要用它進(jìn)行商業(yè)開發(fā)的話,還是有點(diǎn)為時(shí)過早。
想起了Borland和CodeGear,與其弄什么Turbo C++,還不如去支持這個(gè)D。。。
又開始YY了,睡了。。。