随着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预览版的魅力