您的位置:寻梦网首页编程乐园Java天地小龙亭之JSP实践之旅
小龙亭之JSP实践之旅
主页入门EJBJ2EE平台JSP编程译文工具JavaAppServerWeb数据库XML手记小亭

Web技术参考
微软新发展:ASP+技术
微软.net战略介绍
Exchange2000新功能
中国互联网管理条例
iasp让ASP跨越平台
向php4.0.1迁移!
php4的34种新特性
推荐以下这篇文章:
WAP技术入门参考
用Domino Notes开发网站
微软新发展:下一代VB 7.0
网络负载均衡产品介绍

 

绝非玩笑:VB7将完全面向对象!

2000-07-01· 小蛐蛐译·yesky

(blueski按:将vb加入到小龙亭jsp站似乎有些遥远,一则我对vb怀有好感,二则vb是java的主要竞争对手,所以我们可以关注。)

当我们想改变对某人的看法时,我们心中对他的成见往往就阻碍着这种改变。


——弗里德里希《善恶之外》 

今天,微软的史蒂夫巴尔默在旧金山举行的VB业界高峰会上,为与会人士透露了下一版Visual Basic将具有的某些重要特点,其中包括了面向对象标准中最重要特性,即对象继承性。当我看到VB7会拥有这样众多的新特性之后,我的第一个反应就是:很多本就对VB感到不满的人将会更加不满,而一些VB的长期用户也会对下一版的VB感到不大习惯——这其中原因不是因为VB这次的变革太保守而没有达到人们预期的标准,而是因为这种变革过于激进,大大异于以往6个版本的升级习惯——激进得甚至超乎了很多程序员的想象。

VB一直以来都仿佛是一种搞笑的编程语言。虽然VB现在是世界上各种层次——不管是小商店还是大企业——都使用得最为广泛的语言;虽然VB一直以来都是世界上最有效率的开发工具,大多数的Windows应用都是由它所写成,但是,请别忘记,如果一种语言缺乏继承性、线程特征、以及结构化的异常处理,它也仅仅是一种玩具般的语言,是吧?所以即使VB能做很多事情,甚至也做到了很多,在某些时候,人们还是觉得VB不能如想象的那样,去解决一些本应简单的问题。——这样的情况将不复存在了!下一版本的Visual Basic将很快取代当前版本!微软先前曾讨论过下一代VB的Web特性,但还不够广泛,在这次VB峰会上,微软发布的下一代VB的很多重要特性更加深入地表明微软将对VB进行彻底的改造。会上已经确定的特点包括:

代码层次和可视化层次的继承性。下一代VB将会为期盼已久的程序员们提供代码层次上的继承特性,并且还提供表单(可视化)继承,也就是说程序员们可以创建表单模板,根据此模板就可以派生出子表单。由于VB7具有了面向对象语言所应有的所有特点,例如继承,重载和构造函数等等,所以它是一种完全面向对象的语言。

自由线程特性。以前人们常常抱怨VB不足以用于服务端来处理大量的Web并发应用。现在有了自由线程特性,这些抱怨就将会逐渐消失了。

结构化的异常处理。对!VB7中将不再允许非结构化的GOTO语句来处理异常错误,它采纳了C++和Java语言中使用的:Try、Catch和Finally。

也许你会觉得奇怪:为什么微软这次如此坦白地交待了VB7的众多特性?——特别是现在离正式发布时间几乎还有一年之久。我猜测微软可能认为它的下一代VB将较难销售。就象尼采所说的那样,怨尤可以同时来自朋友与敌人——很多长期使用VB的程序员面对VB的这种激进变化除了晕倒别无选择(呵呵)——所以他们需要较长时间来适应这种变化。

但这些新特性并不是你想怎么用就可以怎么用的。比如误用继承就易于造成严重错误,所以作为一个程序员的部分职责,何时何地正确运用这些技巧的知识是必须要学习的。

另一个代价:不易移植。

为了运用VB7的新特性,有时候你也许需要抛弃现成模式,重头开始。虽然VB7也可以做到100%向下兼容,但“100%向下兼容”也就意味着很多有用的新特性不可能应用到程序开发中。VB7能提供相当强大的功能和灵活性,但它是以改变VB基本工作方式的代价换来的,所以从VB6移植程序到VB7,不会只象打开集成环境然后运行向导程序那样简单。在很多情况下,新版中解决类似问题的方式会和以前版本有很大差异。

可以肯定地说,现在很多程序员了解到下一代VB的情况后会大伤脑筋。这个我能理解,但我还看到,比起让语言在“向下兼容”的老脸面前妥协的态度来,打破以往的束缚,开辟新的前进方向的决心将会给人们带来更多的好处。微软现在在开发工具市场和服务端市场上面临着强烈的竞争,特别是Java,不过有了下一代新VB的支持,微软及使用VB的开发人员的竞争力又大大地加强了。微软需要很大的勇气来迈出这一艰难的步伐,但这一步一旦迈出,微软将踏上一条光明的坦途。