扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:Jonathan Allen/朱永光编译 来源:InfoQ 2007年9月13日
关键字: Visual Basic 介绍
在本页阅读全文(共19页)
随着VB 9将在07年某个时候发布,微软也开始谈论起VB 10了,即通常所说的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来开发。不过我们可以在07年的PDC(Professional Developer Conference)的时候好好感受一下VB10预览版的魅力。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者