.NET涉及的一些名詞

本文在最爲概略的層次上對.NET涉及的一些名詞進行解釋,編程

包括:api

通用語言基礎架構(Common Language Infrastructure, CLI)、網絡

虛擬執行系統(Virtual Execution System, VES)、架構

通用中間語言(Common Intermediate Language, CIL)、app

通用語言運行平臺(Common Language Runtime, CLR)、框架

託管代碼(Managed Code)、編程語言

託管C++(Managed Extensions for C++)、工具

C++/CLI、開發工具

.NET框架(.NET Framework)。設計

 

CLI是一個開放技術規範,由微軟聯合惠普以及英特爾於2000年向ECMA倡議(連同C#語言標準),2001年12月被ECMA採納爲標準,2003年4月ISO也將其採納爲國際標準。它定義了一個語言無關的跨體系結構的運行環境,通俗的說它定義了一個虛擬機以及在這個虛擬機上運行的中間代碼(相似於Java虛擬機和Java字節碼),這個虛擬機叫作VES,中間語言叫作CIL。更具體的說CLI由如下幾部分組成:

通用類型系統(Common Type System, CTS)

元數據系統(Metadata)

通用語言規範(Common Language Specification, CLS)

虛擬執行系統(Virtual Execution System, VES)

通用中間語言(Common Intermediate Language, CIL)

框架(Framework)

值得一提的是, CIL本來叫作微軟中間語言,即Microsoft Intermediate Language, MSIL,是徹底基於堆棧的,它經過即時編譯(JIT)被VES加載到CPU上執行(這個Java字節碼的解釋執行有區別)。

 

CLR是CLI的微軟實現版本,用來支持.NET,是微軟爲他們的.NET的虛擬機所選用的名稱(這裏的虛擬機和上一段的有些不一樣)。

 

所謂託管代碼就是能在CLR上運行的代碼

 

託管C++,又稱爲C++託管擴展(Managed Extensions for C++),是對C++的一個屬性和關鍵字的擴展,以便於在微軟公司的.NET Framework進行編程,是C++的超集。

 

C++/CLI,是由微軟設計,它在兼容原有的C++標準的同時,支持CLI標準(也就是能夠運行在CLR上),它已經被ECMA經過成爲正式的標準(一門新編程語言標準),它被用來代替託管C++。

 

.NET是由微軟開發,一個致力於敏捷軟件開發(Agile software development)、快速應用開發(Rapid application development)、平臺無關性和網絡透明化的軟件開發平臺。它以CLR爲基礎,通俗的說,.NET是微軟對CLI標準的實現,這個實現的同時提供了強大的服務(包括類庫、開發工具、編程語言的支持)。

 

下面把這些概念再理一下:

CLI是一個標準(或者說,規範),VES和CIL是其組成部分,CLR是微軟對CLI標準的實現(這個關係相似於G++和C++標準);

所謂託管代碼就是運行在CLR上的代碼,託管C++是微軟對C++的拓展,以使得它能在CLR上運行,從而和.NET集成,如今已經被C++/CLI取代,C++/CLI已經被採納爲標準,C++/CLI是一門區別於C++的新編程語言;

.NET是微軟給開發人員提供的平臺,以CLR爲基礎,是微軟對CLI的實現,C#是.NET平臺的首選編程語言

 

參考文獻:

CLI:

http://en.wikipedia.org/wiki/Common_Language_Infrastructure

VES:

http://en.wikipedia.org/wiki/Virtual_Execution_System

CIL:

http://en.wikipedia.org/wiki/Common_Intermediate_Language

CLR:

http://en.wikipedia.org/wiki/Common_Language_Runtime

Managed Extensions for C++:

http://en.wikipedia.org/wiki/Managed_Extensions_for_C%2B%2B

C++/CLI :

http://en.wikipedia.org/wiki/C%2B%2B/CLI

.NET Framework :

http://en.wikipedia.org/wiki/.NET_Framework

注:以上參考連接均爲維基百科條目,可在左側選擇中文語言。

相關文章
相關標籤/搜索