BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Visual Basic 10介绍

| 作者 Jonathan Allen 关注 596 他的粉丝 ,译者 朱永光 关注 0 他的粉丝 发布于 2007年5月9日. 估计阅读时间: 4 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

随着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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT