写点什么

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:001318
用户头像

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

关注

评论

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

Kubernetes网络插件详解- Flannel篇

巨子嘉

云计算 容器 云原生

王者荣耀商城异地多活架构设计

joak

openharmony萌新贡献指南

坚果

开源 HarmonyOS OpenHarmony 7月月更

手把手带你体验Python实现人脸识别

迷彩

人脸识别 7月月更

学生思维VS职场思维

KEY.L

【刷题记录】15.三数之和

WangNing

7月月更

承上启下继往开来,Python3上下文管理器(ContextManagers)与With关键字的迷思

刘悦的技术博客

Python 数据库 Python3 上下文 上下文管理器

典型的数据湖应用案例

五分钟学大数据

数据湖 7月月更

Baklib:分享一些关于建设企业知识管理(KM)的方法

Baklib

Seata 多语言体系建设

SOFAStack

开源项目 seata 开源软件 多编程语言 项目共建

nacos注册中心之服务地址的查询

急需上岸的小谢

7月月更

RISC-V Linux 内核剖析 会议记录

贾献华

7月月更

Docker 搭建 MySQL 主从复制

宁在春

MySQL Docker 主从复制 7月月更

深度遍历:统计最高分的节点数目 🐟

空城机

算法题 7月月更

DeFi 2.0的LaaS协议,重振DeFi赛道发展的关键

BlockChain先知

王者荣耀商城异地多活架构

Pengfei

如何将 NFT 元数据从 IPFS 转移到智能合约中

devpoint

智能合约 NFT Metaverse 7月月更

如何搭建清晰易懂的数据看板?

字节跳动数据平台

字节跳动 BI BI 分析工具 sentinel dashboard 可视化看板

React Native 跨端框架与小程序混编的方法

Geek_99967b

小程序

架构实战营第7模块作业

Geek_53787a

连接无限·协同无界|融云首届全球企业通信云大会 WECC 来了

融云 RongCloud

通信云

几种2022年流行的跨端技术方案的比较

Geek_99967b

小程序

MySQL的锁(一)

技术小生

MySQL 7月月更

Envoy监听管理

阿泽🧸

envoy 7月月更

你的技术leader不懂这个?没有它就是没有设计的完成思考过程

田晓亮

方法论 架构设计

IMPALA2.12环境安装

怀瑾握瑜的嘉与嘉

7月月更

👈🏻👈🏻👈🏻你来追我呀!Flutter 实现追逐动画

岛上码农

flutter ios 移动端开发 安卓开发 7月月更

一篇文章带你快速学会Flex布局

bo

CSS 前端 Flex 7月月更

Linux并不是一个操作系统

冯亮

Linux GNU

【MySql 实战】高度聚合的数据项拆分为多行多列

安逸的咸鱼

MySQL 实战 7月月更

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