VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 绝非玩笑:VB7将完全面向对象
发表评论(0)作者:不详, 平台:VB6.0+Win98, 阅读:18389, 日期:2000-09-20
2000-07-01· 小蛐蛐译·yesky

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

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

    今天,微软的史蒂夫巴尔默在旧金山举行的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的新特性,有时候你也许需要抛弃现成模式,重头开始。虽然V
B7也可以做到100%向下兼容,但“100%向下兼容”也就意味着很多有用的新特性
不可能应用到程序开发中。VB7能提供相当强大的功能和灵活性,但它是以改变V
B基本工作方式的代价换来的,所以从VB6移植程序到VB7,不会只象打开集成环境
然后运行向导程序那样简单。在很多情况下,新版中解决类似问题的方式会和以
前版本有很大差异。

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