Visual Basic 的未来[10]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 visualbasic2000 的 blog

下一个版本的visual basic可能不仅仅只有我以上提到的那些有关面向对象方面的改进。对于scalability和可重用性而言,还有一些线程生成、错误处理和许多长期以来一直被期待着的新的改进。

目前,visual basic支持apartment-threaded模型。虽然这种模型为应用程序的开发提供了真正的高效率,但它还不够理想。下一个版本的visual basic将在这方面有所改进。它采用freethreaded模型,这在编写scalable的网络应用程序时将很有用处。visual basic还将包括一些语法结构,你可以用来产生多线程。典型的线程发生操作如下所示:

set t = new thread(new threadstart

                  (addressof(baseclass.function1))

从这个例子中,可以看到下一个版本的visual basic有addressof结构,用它来返回函数的地址。你不再被迫跳过那些需要函数指针的api函数了!如果你需要返回调用,你可以利用它来做到这一点。

计划中的另一项改进是结构化的出错处理。不久以前,visual basic还要求你在代码中插入大量的on error声明。多年以来,我一直对插入如此多的goto语句感到不安。这些语句一再告诫我不要再使用它们!现在让我们来面对这个问题╠╠我们需要一种出错处理机制。

下一个版本的visual basic采用集中处理出错的方式。visual basic将象那些“高尚的”语言一样支持 try...catch...finally结构。你可以在你的代码的顶端放置一个包含有出错处理的子程序。这里是实现出错处理的一个例子:

sub safewrite()
try
  open "testfile"
•••
  write #1
catch
   kill "testfile"
finally
   close #1
end try

end sub

还有一些其他方面令人激动的改进,现在的visual basic的使用者将会逐渐熟悉它们。在下一个版本的visual basic中,你可以在变量声明的同时对变量进行初始化:

dim a as integer = 10

你也可以在一个表达式中建立和初始化一个新的对象。你也可以通过类来共享变量。最后,但不仅仅如此,继承的概念扩展到了项目的用户界面的基础。关于visual basic的一个具有代表性的观点是它很难在相同的基础上创建多种不同的表单。(在联合开发的环境中,通常有这种要求)。在下一个版本的visual basic中,你可以通过模板类型来实现。

多年以来,人们一直期待着这些改进,这是为什么呢?让我们来看看。visual basic的通信(在这方面我已经从事了将近十二年)变得越来越复杂,远远超过1991年的第一版。visual basic早期最初用于小型的便携式的工具样机的快速设计和开发。结果,visual basic获得了“玩具语言”的名声(在我看来,这是意料之外的)。现在它显然不再是玩具了,再这么说的人就是出于一种盲目的偏见了。现在各个领域都有大量的基于visual basic的软件包。visual basic 正在发展着。去年,在中心研究所,我和一个软件开发者进行了交谈,他使用web-class编写的程序每星期接受上百万次的点击。

下一个版本的visual basic所发生的变化是令人惊喜的。如果你想获得它们所带来的那些好处,那就使用它们。如果你不想,你可以理直气壮的使用你目前仍然使用的。然而,了解在象visual basic这种比c++和java容易使用的多的语言中,也可以实现c++和java所实现的功能,是有好处的。

未来的发展趋势

这种预览式的介绍你留下了什么样的印象呢?这个问题问得很好,但是你可以找到问题的答案。在过去的一年中,可以明显的看到asp开发的变化,这些开发程序常常由一些易读的asp脚本组成,在这些脚本的基础上运行整个程序。由于asp是对整个脚本代码进行解释执行的,在对各组件进行组装时,人们逐渐发现这种技术的固有的局限性。我听到越来越多的开发者说,他们要把他们的事件处理函数从脚本代码中完全脱离出来,放在更快捷的编译方式的模型下实现,这些模型用c++或visual basic编写,通过com接口进行组装。

对于你所能想到的各种理由,visual basic都是能够满足的。使用visual basic来设计组件实际上并不比使用vbscript或jscript®困难多少。你可以编写执行起来更快的代码,并且很容易就能达到你的要求。当下一个版本的visual basic发布后,你可以使用visual basic来生成面向网络的对象,这种对象和asp兼容。总之,走组件组合的路线不管是现在还是将来都会被认为是最好的选择。

正如我前面时候提到的那样,使用visual basic(和webclasses)编写的面向internet的应用程序已经有很广泛的基础。问题是,大部分的基于webclasses的应用程序并没有经过很好的设计。它们没有很好地区分应用程序的不同的层次,把中间层的过程和基于dhtml的用户界面混淆了。

下一个版本的visual basic将引入webclasses,它是经过精心挑选后确定的网络开发的工具。因为它更具有scalable、更强大、而且是真正的language-agnostic。它在visual studio的所有的工具中起作用。如果你注意多层开发的一些基本规则,你可以很容易地完成这个转变。特别要注意,把中间层过程和显示层过程分开。强烈推荐在做这些工作时,参考windows® dna 2000的体系结构。核心的事件处理功能必需在中间层完成,你可以使用各种你所喜欢的编译语言编写的用于实现这些功能的各个组件。然后,这些组件组装在一个asp脚本文件中,这样各组件就可以协同工作了。如果你把大部分的逻辑运算放在事件对象中而不是脚本中的话,那就是最理想的了。它不仅对将来向web services转变是一个好的主意,它也是一种值得效仿的实践。

for related articles see:
http://msdn.microsoft.com/vstudio/nextgen/
http://msdn.microsoft.com/msdnmag/issues/0300/soap/soap.asp
background information:
http://msdn.microsoft.com/vbasic/
http://msdn.microsoft.com/isapi/gomscom.asp?target=/dna/
http://msdn.microsoft.com/xml/default.asp
http://msdn.microsoft.com/isapi/msdnlib.idc?theurl=/library/books/advnvb5/ch08_23.htm


请以 ie4.0 以上版本 800 * 600 浏览本站
与我们联系 | 免费邮件

本文关键:Visual Basic 未来
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top