写点什么

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

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

关注

评论

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

史上超级详细:扔物线学堂

android 程序员 移动开发

紧张的336小时53分钟21秒,我等来了字节跳动offer(Java岗)

Java 编程 程序员 架构 面试

在线字符串长度计算,字符串统计工具

入门小站

工具

Leetcode 题目解析:70. 爬楼梯

程序员架构进阶

LeetCode 动态规划 算法题 10月月更

Zookeeper 客户端错误:Packet len8854970 is out of range!

看山

zookeeper 10月月更

含爱奇艺,小米,腾讯,阿里,享学课堂怎么样

android 程序员 移动开发

架构设计-电商微服务拆分

小智

架构训练营

谈一谈使用Python入门量化投资

Regan Yue

量化交易 10月月更

023云原生之Kubernetes的存储

穿过生命散发芬芳

云原生 10月月更

中软国际用一场自我进化,推动云市场跨入下一幕

脑极体

这部分布式事务开山之作,凭啥第一天预售就拿下当当新书榜No.1?

冰河

数据库 分布式 分布式事务 微服务 数据一致性

三国与AI,交汇在中原

脑极体

自动驾驶 Lidar 激光雷达 易筋 ARTS 打卡 Week 73

John(易筋)

ARTS 打卡计划

REST API 设计:过滤、排序和分页

devpoint

REST API 10月月更

linux之xargs使用技巧

入门小站

Linux

你真的会 Prometheus 查询吗?--PromQL 合集

耳东@Erdong

Prometheus PromQL 10月月更

区块链是否正在慢慢演变为中心化的数据库?我们又该如何预防数据中心化?

CECBC

看了CopyOnWriteArrayList后自己实现了一个CopyOnWriteHashMap

root

Java 程序员 CopyOnWrite;

Prometheus 内置函数(一)

耳东@Erdong

Prometheus 10月月更

谈 C++17 里的 Chain of Responsibility 模式

hedzr

设计模式 Design Patterns 职责链模式 c++17 消息分发

Java8 Lambda表达式与Stream

风翱

Lambda 10月月更

华为云数据库内核专家为您揭秘MySQL Volcano模型迭代器性能提升千倍的秘密

华为云数据库小助手

GaussDB 华为云数据库 GaussDB(for MySQL)

聊聊产品的使用场景

石云升

场景应用 职场经验 10月月更

什么是aPaaS?低代码与高生产率的aPaaS和RAD相比如何?

优秀

低代码 aPaaS RAD

对话凡泰极客联合创始人杨涛: 小程序生态市场潜力广阔

FinClip

小程序 金融科技 移动开发

区块链与数字化转型携手并进

CECBC

【Quarkus技术系列】「云原生架构体系」在云原生时代下的Java“拯救者”是Quarkus,那云原生是什么呢?

码界西柚

云原生 Quarkus 10月月更

央行数字货币已落地,来的太快,机遇在哪?

CECBC

Docker环境搭建和使用

Fox爱分享

Docker

架构实战营-模块一

瓜子葫芦侠

「架构实战营」

Go 中如何使用结构体标签

baiyutang

golang 10月月更

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