隨著VB 將在年某個時候發布微軟也開始談論起VB 了即通常所說的VBxVBx的關鍵特性包括了大家希望的在LispRuby或者Python中存在的動態代碼生成功能 這將開拓一個能使用VBNET來開發SilverLight和Office(目前要使用VBNET開發Office程序都必須通過VSTO來實現或者使用古老的VBA來訪問Office的相關API譯者注)應用程序的新時代
VB存在於Orcas Beta 當中已經具備我們能談論好幾年的LINQ特性了使用VB編譯的函數庫也能夠像其他NET兼容的DLL那樣被SilverLight使用
VB利用了一個稱為Dynamic Language Runtime(簡稱作DLR)的SilverLight特性DLR是一個基於Common Language Runtime(CLR)之上的擴展用於支持多種動態語言並為動態語言實現提供了一個通用的對象模型
像其他動態語言一樣DLR將允許VB的代碼被即時的編譯(compile on the fly)一旦VB和SilverLight組合在一起就意味著VB的源代碼可以在浏覽器運行的時候被下載和編譯這樣可以實現很多在AJAX和其他客戶端Web應用程序中運用到的類似技術
一個重要的開發任務是開發一個新的VM(虛擬機)編譯器不像早期的VB編譯器使用C++來開發VB將使用VB來開發自己的編譯器這樣編譯器就能運行於CLR之下並能獲得SilverLight所承諾的跨平台特性
當前在Windows下開發Office的宏程序依舊使用年代久遠的VBA對於OS X下的Office宏程序開發甚至沒有支持隨著DLR特性的支持VB將有可能最終代替VBA成為Office下宏程序的開發語言
另外一個VB可能具有的特性是REPL(ReadEvalPrint loop)(REPL是一種在交互模式下編程的環境就是Python等語言具有的命令行功能或者可以說類似於QuickBasic那樣的命令行功能當然QuickBasic是解釋執行的Python等是即時編譯的譯者注)REPL是一個在動態語言中很流行的功能在REPL環境下代碼在輸入後就馬上運行當前在Visual Studio中有一個很類似REPL的簡單功能即即時窗口但是它不能脫離VS單獨運行
可惜的是當前的SilverLight Alpha 還不能使用VB來開發不過我們可以在年的PDC(Professional Developer Conference)的時候好好感受一下VB預覽版的魅力
From:http://tw.wingwit.com/Article/program/net/201311/11607.html