簡單介紹VB.NET C#區別和動態語言
大家有的時候會很迷茫,不知道到底VB.NET還是C#好,其實我認為個有個的好處,看個人喜歡什么,拿不準主意的朋友看看這里,就VB.NET C#分析一下。當前來自軟件的最首要的信息之一是針對Microsoft Visual Basic .NET開發者的。VB.NET和Microsoft Visual C#都是構建在通用語言運行時(Common Language Runtime—CLR之上,這意味著它們都向下編譯成通用中間語言(Common Intermediate Language—CIL)。
#T#由于二者均向下編譯成相同的代碼,因而兩個語言內部也不存在很大的差別。但是,兩種語言卻由微軟兩個不同的團隊來維護,而且幾年來的這種分離由于開發團隊在各自產品上有不同的視角和理念,導致VB.NET C#這兩種語言演變出許多語言方面的特性。許多令人興奮的特性最初出現在C#中***卻成了VB.NET的特性,很多VB.NET開發者都感到了這一點。自然地,這引起了VB.NET陣營的不滿。
聯合發展是微軟的一個承諾,借此承認VB.NET C#為相同重要的語言,而且微軟承諾在語言特性的發展方面,這些特性會同時加入到兩個語言中。開發者不再需要為了某個特性而選擇某個語言,也不再需要討論到底哪個語言更好,他們要做的只是從語法方面來選擇自己的語言就可以了。也許C#開發者會有一點揮之不去的優越感,VB.NET開發者會為此不爽,但聯合發展后VB.NET開發者可以提醒“驕傲”的C#開發者,因為兩種語言只是不同外表下的同一個東西。
動態語言運行時(Dynamic Language Runtime)的介紹
微軟很敏感地意識到.NET Framework并不是構建應用時的唯一選擇。快速地看看現在的開發環境,你會發現有很多語言選擇。人們花費時間和精力用這些語言來寫出有用的組件,問題來了:怎么能夠讓這些用其他語言寫出的組件不至于在.NET上重寫?
也許即將發布的.NET 4.0最令人激動的新特性是動態語言運行時(Dynamic Language Runtime—DLR)。就像通用語言運行時(Common Language Runtime—CLR為靜態型語言如C# 和VB.NET提供了通用平臺一樣,動態語言運行時(Dynamic Language Runtime—DLR)為像JavaScript, Ruby, Python甚至COM組件等動態型語言提供了通用平臺。這代表.NET Framework在互操作性方面向前邁進了一大步,提供了一種語言操作的抽象,共享存儲空間避免數據在進程中反復的集結,像垃圾收集一樣的一套通用語言特性,以及將一種數據表達轉換成另一種。
在更高層,你可以認為動態語言運行時(Dynamic Language Runtime—DLR)有三個層:
.NET語言集成(.NET Language Integration)
DLR核心組件(DLR Core Components)
語言結合(Language Binders)