2010-05-28 52 views
4

articlehttp://www.artima.com/intv/nonvirtualP.html)Anders Hejlsberg提到版本控制是C#語言設計的支柱之一。有人知道其他支柱是什麼嗎?C#語言設計支柱

+1

由於[Google搜索anders hejlsberg +支柱](http://www.google.com/search?q=anders+hejlsberg+%2Bpillars)沒有顯示任何相關結果,他可能使用支柱在隱喻意義上(即對C#而言非常重要的東西)而不是更「直接」的意義上的「C#建立在以下五個支柱上:......」 – 2010-05-28 03:26:24

+12

其他四個支柱是禁食,祈禱,施捨和泛型推理。 – 2010-05-28 03:37:33

+0

你忘了儀式山羊犧牲。 – 2010-05-29 04:10:55

回答

7

我把你引向C#規範的第一頁,它描述了進入語言設計的重要因素。這表明什麼一些重要的因素是,不斷有幾個報價是:

現代,面向對象和類型安全

-

很快熟悉到C,C++和Java程序員。

-

現代軟件設計日益依賴於軟件組件的功能自包含的,自描述包的形式。這些組件的關鍵在於它們提供了一個包含屬性,方法和事件的編程模型;它們具有提供關於組件的聲明性信息的屬性;並且它們包含他們自己的文檔。 C#提供了語言結構來直接支持這些概念,使得C#成爲創建和使用軟件組件的非常自然的語言。

-

幾個C#功能在堅固耐用的應用援建:垃圾收集[...]異常處理[...]類型安全設計

-

C#有一個統一的類型系統。 [...]的任何類型的值可以以一致的方式被存儲,運輸,及操作

-

爲了確保C#程序和庫可以在相容的隨時間演變方式,C#的設計中已經將重點放在了版本控制上。許多編程語言很少關注這個問題,因此,當引入較新版本的依賴庫時,用這些語言編寫的程序會比不必要的更頻繁地發生。直接受版本控制考慮因素影響的C#設計方面包括單獨的虛擬和超馳修改器,方法重載解析規則以及對顯式接口成員聲明的支持。