写点什么

Visual Basic 10 介绍

  • 2007-05-07
  • 本文字数:1157 字

    阅读完需:约 4 分钟

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

2007-05-07 23:001457
用户头像

发布了 254 篇内容, 共 71.1 次阅读, 收获喜欢 2 次。

关注

评论

发布
暂无评论
发现更多内容

DSC:数仓SQL脚本迁移的神奇工具

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 3 月 PK 榜

AREX-携程无代码侵入的自动化回归测试平台

AREX 中文社区

开源 自动化测试 回归测试

低代码平台的流程引擎设计指南

Baidu AICLOUD

低代码 爱速搭

MQTT 5.0新特性:属性与载荷

EMQ映云科技

物联网 IoT mqtt 企业号 3 月 PK 榜 载荷

Java中让两个线程交替执行的实现方式

Janwee

并发 信号量 java 多线程、

办公要有新享法,「MIAOYUN生活梦想家」焕新升级!

MIAOYUN

搬迁公告 乔迁 办公升级

Seata-go 1.1.0 发布,补齐 AT 模式支持

SOFAStack

开源 互联网 开发者 开发 Seata框架

Rust的安全性和稳健型

非凸科技

EFCore之CodeFirst

青柚1943

ORM SqlServer NET6 EFCore

工业数字孪生:西门子工业网络与设备虚拟调试案例

Openlab_cosmoplat

工业互联网 开源社区 数字孪生

Sugar BI 增强分析能力全场景解析

Baidu AICLOUD

BI

倒计时2天:百度“文心一言”即将上线!

引迈信息

人工智能 低代码 AIGC ChatGPT 文心一言

3d建筑软件:Vectorworks 2023激活版

真大的脸盆

Mac Mac 软件 3D建筑动画

研发效能度量从 0 到 1 的『六脉神剑』

思码逸研发效能

研发效能 效能度量 研发效能度量

活动推荐 | 博睿数据数智领航营火热报名中

博睿数据

保险 博睿数据 活动报名 数智领航营

最新Blender 3.3安装包+详细安装教程

Finovy Cloud

blender 3D软件

MySQL创建用户与授权

源字节1号

软件开发 前端开发 后端开发 小程序开发

vue项目中babel的最佳实践

虎妞先生

前端 Vue 3 vue cli babel

关于 SysOM 2.0 网络/存储相关诊断功能介绍及案例展示 | 第 72-73 期

OpenAnolis小助手

开源 直播 系统运维 技术分享 龙蜥大讲堂

天工人巧日争新:昇腾AI的绚丽今日

脑极体

AI

使用Nginx作为MySQL的TCP负载均衡器

Janwee

nginx 负载均衡 :MySQL 数据库

Tapdata Cloud 基础课:新功能详解之「授权系统自动分析」,一键定位任务报错原因,快速获取修复建议

tapdata

大数据

关于服务器数据迁移,介绍在服务器数据迁移计划中的7个步骤

镭速

2023主流系统 固资管理助力转型升级一步到位

加入高科技仿生人

低代码 企业数字化转型 资产管理

为什么CMS和G1都改用三色标记法,是可达性分析不香吗?

Java全栈架构师

Java 程序员 后端 JVM 架构师

尚硅谷Node.js实战教程发布

小谷哥

DBA必备的Mysql知识点:数据类型和运算符

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 3 月 PK 榜

我在京东做研发第五期:京东云自研服务器,如何将开发成本降低 60% 的同时还更低碳环保?

京东科技开发者

cpu 服务器 环保 节能 企业号 3 月 PK 榜

十问babel

虎妞先生

前端工程化 babel 前端‘’

Visual Basic 10介绍_.NET_Jonathan Allen_InfoQ精选文章