Visual Basic 10 介绍

  • Jonathan Allen
  • 朱永光

2007 年 5 月 7 日

话题:.NET语言 & 开发

随着 VB9 将在今年某个时候发布,微软也开始谈论起 VB10 了,即通常所说的VBx。VBx 的关键特性包括了大家希望的在 Lisp,Ruby 或者 Python 中存在的动态代码生成功能。这将开拓一个能使用 VB.NET 来开发 SilverLight 和 Office(目前要使用 VB.NET 开发 Office 程序都必须通过 VSTO 来实现,或者使用古老的 VBA 来访问 Office 的相关 API,译者注)应用程序的新时代。

VB9,存在于 Orcas Beta 1 当中,已经具备我们能谈论好几年的 LINQ 特性了。使用 VB9 编译的函数库也能够像其他.NET 兼容的 DLL 那样被 SilverLight 使用。

VB10 利用了一个称为 Dynamic Language Runtime(简称作 DLR)的 SilverLight 特性。DLR 是一个基于 Common Language Runtime(CLR)之上的扩展,用于支持多种动态语言,并为动态语言实现提供了一个通用的对象模型。

像其他动态语言一样,DLR将允许 VB10 的代码被即时的编译(compile on the fly)。一旦 VB10 和 SilverLight 组合在一起,就意味着 VB 的源代码可以在浏览器运行的时候被下载和编译,这样可以实现很多在 AJAX 和其他客户端 Web 应用程序中运用到的类似技术。

一个重要的开发任务是开发一个新的 VM(虚拟机)编译器。不像早期的 VB 编译器,使用 C++ 来开发,VB10 将使用 VB 来开发自己的编译器。这样编译器就能运行于 CLR 之下,并能获得 SilverLight 所承诺的跨平台特性。

当前,在 Windows 下开发 Office 的宏程序依旧使用年代久远的 VBA。对于 OS X 下的 Office 宏程序开发,甚至没有支持。随着 DLR 特性的支持,VB10 将有可能最终代替 VBA 成为 Office 下宏程序的开发语言。

另外一个 VB10 可能具有的特性是:REPL(Read-Eval-Print loop)(REPL 是一种在交互模式下编程的环境,就是 Python 等语言具有的命令行功能,或者可以说类似于 QuickBasic 那样的命令行功能, 当然 QuickBasic 是解释执行的,Python 等是即时编译的,译者注)。REPL 是一个在动态语言中很流行的功能,在 REPL 环境下,代码在输入后就马上运行。当前,在 Visual Studio 中有一个很类似 REPL 的简单功能,即“即时窗口”,但是它不能脱离 VS 单独运行。

可惜的是,当前的 SilverLight 1.1 Alpha 1 还不能使用 VB10 来开发。不过我们可以在今年的 PDC(Professional Developer Conference)的时候好好感受一下 VB10 预览版的魅力。

查看英文原文:VS Express Editions Orcas CTP Available


译者简介:朱永光,IT 自由人和环境保护者,微软最有价值专家(MVP)和 MCSD。他有 14 年的编程实践经历,5 年软件构架和开发管理经验,擅长微软相关技术和产品,目前主要关注软件构架和开发框架,是成都.NET 俱乐部副主席和核心讲师,个人博客为http://redmoon.cnblogs.com。现在他作为共同创始人经营着一家环境保护技术公司。为 InfoQ 中文站贡献内容,请邮件至china-editorial@infoq.com

.NET语言 & 开发