原來還有D語言。。。

原來還有D語言。。。

D語言(Dlang)是由Digital Mars公司開發的編程語言,起因是爲了改進C++。它與C二進制兼容(不完全),可編譯爲本地碼,有GC也可手動管理內存,語法上借鑑多種語言,模板則 在C++的基礎上做了相當大的擴充。D 語言既有 C 語言的強大威力,又有 Python 和 Ruby 的開發效率。它是一種集垃圾回收、手工內存操作、契約式設計、高級模板技術、內嵌彙編、內置單元測試、Mixin 風格多繼承、類 Java 包管理機制、內置同步機制、內建基本運行時信息的系統級編程語言。

D語言是一種通用的系統和應用編程語言。它是比 C++ 更高級的語言,同時還保持了生成高效代碼以及直接訪問操作系統API和硬件的能力。D 很適合於編寫從中等規模到那些由團隊合作完成、數百萬行代碼規模的各種程序。D 易於學習,爲編程者提供了很多便利,並且適用各種野心勃勃的編譯器優化技術。

D 不是腳本語言,也不是一種解釋型語言。它不需要虛擬機、宗教、或者高於一切的哲學。它是給實際的編程者使用的實際的語言,它幫助編程者快速、可靠的完成易於維護、易於理解的代碼。

D 是數十年來實現多種語言編譯器的經驗的積累,是用那些語言構造大型工程的嘗試的積累。D 從那些語言(主要是 C++ )那裏獲得了靈感,並使用經驗和現實世界中的實用性來馴服它。

爲什麼是 D ?

確實,爲什麼?有誰需要另一種編程語言?

自從 C 語言被髮明以來,軟件工業走過了一段很長的路。許多新的概念被加入了 C++ 中,但同時維護了同 C 的向後兼容性,包括兼容了原始設計中的所有的弱點。有很多修正這些弱點的嘗試,但是兼容性是最大的困擾。同時,C 和 C++ 都在不斷引入新的特性。這些新特性必須被小心的加入到現有的結構中,以免重寫舊的代碼。最終的結果十分複雜—— C 標準將近 500 頁,C++ 標準大概有 750 頁!C++ 實現起來既困難又代價高昂,造成的結果就是各種實現之間都有差別,因此很難寫出完全可以移植的 C++ 代碼。

C++ 程序員傾向於使用語言中的孤島來編程,也就是說,他們傾向於十分精通語言中的某個特性而避免使用其他特性。儘管代碼通常在編譯器之間是可移植的,但在程序 員之間移植就不那麼容易了。C++ 的一個長處是它支持很多根本上不同的編程風格——但從長遠來看,互相重複和互相沖突的風格會給開發帶來妨礙。

C++ 在標準庫而不是語言核心中實現了可改變大小的數組和字符串拼接等。不在語言核心中實現這些功能造成了幾種不太理想的結果。

是否能把 C++ 的能力釋放、重新設計並重鑄到一門簡單、正交併實用的語言中呢? 這種語言是否能做到易於正確實現,並使編譯器有能力有效地生成高度優化的代碼呢?

現代編譯器技術已經取得了很大的進步,有些原來用作原始編譯技術的補充的語言特性已經可以被忽 略了(一個這樣的例子是 C 語言中的‘register’關鍵字,一個更爲微妙的例子是 C 中的宏預處理程序)。我們可以依賴現代編譯器的優化技術而不是使用語言特性(如同原始的編譯器所做的那樣)來獲得可以接受的代碼質量。

下面是一段D語言的代碼示例。[code]#!/usr/bin/dmd -run
/* sh style script syntax is supported *%

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章