游戏开发论坛

 找回密码
 立即注册
搜索
查看: 29352|回复: 46

Visual Basic不可能消失

[复制链接]

2

主题

8

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2005-5-5 11:33:00 | 显示全部楼层 |阅读模式
转载VBGood  
作者:陶刚编译

--------------------------------------------------------------------------------

  近十年以来人们一直预言Visual Basic会消亡,但即使在Visual Basic.NET出现后,一切仍然没有发生变化。从最近的报道来看,VB.NET的未来受到了它的兄弟语言C#的挑战。即使过了这么多年,人们还是无法理解VB——以及现在的VB.NET——仍然是一种世界上最流行的编程语言。的确,某些VB程序员会转向C#、Java或Delphi,但是这些语言所考虑的变革因素却突出了一个事实——它们都是朝着易用和快速开发的方向演化的,而这些特性正是Visual Basic所发明和倡导的。无论发生了什么事情,VB这种语言、它的灵魂都征服了编程世界,并且将继续存在。实际上,VB所倡导的理念,还从来都没有像现在这么活跃过。

  阅读导航:

  一、显著的成功
  Visual Basic是第一个可进行可视化开发的集成开发工具,它所具有的“编辑后继续运行(edit and continue)”的特性使生产效率大幅度提高,超越了旧的编辑-编译-测试模式。

  二、C#能代替Visual Basic吗?
  C#从来都不是作为“VB杀手”来设计的。其实,C#更像是用于吸引C++和Java的开发者。C#提供了类似C的语法,与C++和Java都很相似。

  三、VB.NET会超越Windows平台吗?
  Java的发展对Visual Basic也产生了一些影响,但由于Sun没有提供类似Visual Basic的GUI(图形用户界面)开发环境,结果是Java成为了服务器端、非GUI应用程序市场之王,而VB、C++和.NET统治着桌面平台。

  四、保持多种选择
  Visual Basic.NET是Visual Basic真正的继承者,因为目前没有一种语言能像VB.NET一样匹配VB的特性集合。

  结束语
  
  VB的未来并没有不确定性。VB是一组特性的集合。所有流行的语言都在朝着适应这些特性的方向转变,而这些特性的倡导者是传统的Visual Basic,并且在Visual Basic.NET中得到了进一步的发展。不论语法、平台和框架是否相同,Visual Basic的精神都将继续存在。
  显著的成功

  Visual Basic早期版本并没有引起巨大的反响,但是这种语言却是革新的,并且作为一种新的编程范例(paradigm)吸引了相当大的注意力,因为它允许程序员可视化地建立窗体(form)。人们第一次可以通过把控件拖放到设计界面上,不需要经过其它语言所需要的冗长的编辑-编译-测试周期就可以看到程序的外貌。

  Visual Basic通过执行终止运行(end-run)进一步缩减了编辑-编译-测试周期。传统的VB类似于很多早期的BASIC实现,它是一种解释语言,你可以在运行时(runtime)编辑VB代码。即使程序还在运行之中,VB集成开发环境(IDE)也会立即应用大多数代码改变,这让你能够在调试程序中逐步执行某段代码、查找错误、改正错误并重新测试代码,而这一切都不需要停止程序来重新编译。这种称为“编辑后继续运行(edit and continue)”的特性使VB的生产效率大幅度提高,超越了旧的编辑-编译-测试的开发模式。

  程序员喜欢拖放控件的能力,但是它们并没有满足于内建的(built-in)控件。幸运的是,微软制订了一种架构(architecture),程序员群体可以使用它来建立控件。很快地,企业开发人员建立了数百个“VBX”控件(以及后来的ActiveX控件),它覆盖了整个工业领域,同时还把可重复使用(reusable)的代码的观念提升到了一个新的层次。

  Visual Basic同时还是第一种流行的用于通用目的的编程语言,它提供了真正的集成的数据库访问。通过微软数据访问对象(DAO)技术,在VB中处理关系数据库变得非常简单,以至于在很多情况下开发者根本不需要了解下层关系数据库工作方式的任何信息,他们可以把感知数据库的(database-aware)控件拖放到窗体上。即使对于更加高级的开发者来说,DAO(和它的继承者,例如RDO、ADO和现在的ADO.NET)也使生产效率大幅度提高了。

  在第三版中,VB变得稳定和快速。它拥有当时可以使用的最好的IDE,同时数百万兼职程序员都可以理解它。VB迅速成为世界上最流行的应用程序编程语言,并且无论出现它会消逝的预言还是语言本身的实质改变,它都维持着自己的位置。

  Visual Basic一直保持着流行的原因在于它提供了开发者群体最关心的六个要素:

  1. 类似Basic的、大小写不敏感(case-insensitive)的语法

  2. 可视化设计的能力

  3. 带有集成的调试程序的伟大的集成开发环境

  4. 编辑后继续运行(Edit-and-continue)

  5. 多种便宜的、牢固的后续控件

  6. 简单的、集成的数据库支持

  其它的一些语言也提供了这些特性的子集,但是没有任何一种语言成功地占领VB所占有的巨大市场。

  其它厂商长期垂涎于VB的开发人员基础,并且作出了巨大的努力,希望引诱VB开发者迁移到其它的平台。例如,Borland的Delphi语言提供了VB所提供的一切东西,除了类似BASIC的语法和编辑后继续运行。实际上Delphi提供的能力比VB提供的能力要多一些。例如,它的速度更快。Delphi代码执行的速度本质上与C++的速度相同。Delphi还提供了用于自己的Dbase和Interbase桌面数据库的本地感知数据库的控件。Delphi的未来版本甚至于提供了ADO包装。

  但是Delphi使用了对象Pascal语言基础而不是BASIC核心,而这种特性的改变妨碍了它的广泛采用。无论速度是否更快或提供了真正的面向对象编程(OOP)能力——简而言之,就是基于COM程序包的VB.NET的所有特性——Delphi从来都不是VB普及的重要竞争者。
  C#能代替Visual Basic吗?

  微软意识到有些特性使得VB普及起来,并把这些特性包含到了VB.NET中。可是C#从来都不是作为“VB杀手”来设计的。其实,C#更像是用于吸引C++和Java的开发者。C#提供了类似C的语法,与C++和Java都很相似。然而,它丢失了六条特性中的第一条——类似BASIC的语法。尽管对于有些开发者来说语法并不重要,但是对于其它一些开发者来说这太重要了。

  此外VB和目前的VB.NET都不是大小写敏感的语言。例如“Email”和“EMail”是相同的变量。在C、C++、Java、Jscript和其它类似C的语言中,改变大写是错误的,EMail和Email不是相同的变量。

  C#的确拥有可视化的设计和简单的、集成的数据库支持,并且最终会拥有可供选择的巨大的后续控件库——但是这个控件库与VB.NET开发者所拥有的控件库相同。

  C#的IDE还需要更多的东西。即使C#与VB.NET共享IDE,该IDE也分别与每种语言相对应。例如,VB.NET中的Intellisense就比C#中的好多了,你可能猜到了——C#中的Intellisense是大小写敏感的。为什么在辅助人们查找未知信息和不记得的信息的搜索特性中实现大小写敏感性是我无法理解的。更糟的是,它的大小写敏感性还是不一致的。

  没有人否认C#语法更加简练。如果你讨厌输入并且没有使用Intellisense的代码填充能力,或者你已经在使用C语言语法,那么你就应该使用C#。但是这并不意味着C#将最终代替VB.NET。

  更大的问题是VB.NET是否会代替VB。其中一个问题是VB.NET也没有包含VB的所有特性。特别是VB.NET丢失了编辑后继续运行、长期许诺、继续交货的特性,而它们将成为VB程序员迁移到.NET版本关键的影响因素。

  代码的不兼容性是阻碍迁移的另一个因素。微软还没有使代码从VB迁移到VB.NET足够简单。尽管VB.NET语法与传统的VB语法非常类似,但却不是相同的。它不仅是语法的改变,同时还是对框架的增添。VB到VB.NET的升级向导不仅现在,而且将来可能也永远不能十分智能化地无缝地迁移所有的应用程序。

  同时,大多数VB程序员并没有大型的垂直应用程序需要迁移,他们要么编写了小型应用程序,重新进行编写并不昂贵,要么计划用VB维护已有的应用程序,同时用.NET建立新的应用程序。对于这类大多数程序员来说,语言的不同是受到欢迎的,从而使VB.NET成为传统VB的唯一可能的真正威胁。

  VB.NET会超越Windows平台吗?

  有趣的是,Java阵营的一些进步好像对Visual Basic编程也有影响。由于忽略了建立语言的跨平台版本,微软在充分利用这些语言的大众化方面已经失败了。这意味着Sun公司的Java由于拥有在任何平台上运行的能力,将会领导跨平台领域,而这会带来实际的商业利益——在服务器领域。但是接着Sun也失败了,它由于忽略了提供类似VB的GUI开发环境,因而无法利用Java的大众化,结果是Java成为了服务器端、非GUI应用程序市场之王,而VB、C++和.NET统治着桌面平台。

  但是情况不会永远不变,这需要感谢IBM的Eclipse项目,Java开发人员现在也可以建立容易响应的Windows应用程序,完全可以与微软编程语言编写的应用程序相媲美。并且Sun已经声明在Rave中将为Java开发者提供简单化的RAD特性。

  挑战这种趋势的都是一些忙于把.NET框架组件迁移到Linux和Unix上的开放和共享源代码的项目。如果这些项目取得成果,.NET开发者将最终获得与Java类似的跨平台能力。这些趋势将导致一些有趣的转换和变革,但是它们都没有直接威胁到Visual Basic。

  保持多种选择

  Visual Basic.NET是Visual Basic真正的继承者,因为目前没有一种语言能像VB.NET一样匹配VB的特性集合。但是仍然存在抱怨者——一旦你决定离开传统的VB,就根本不用关心自己学习了那种语言。如果你决定迁移到VB.NET,你会发现它是完全可行的,如果觉得不太合适,也可以使用C#或J#编程。

  即使你决定完全与微软断绝关系并切换到Java或Delphi,你也会发现在学习了这些语言和框架之后,切换到.NET不是十分困难。除了少数的例外,所有这些编程语言背后的思想都是相同的。它们之间的语法和IDE的差别远远大于概念和能力的差别。

  结束语

  VB的未来并没有不确定性。VB是一组特性的集合。所有流行的语言都在朝着适应这些特性的方向转变,而这些特性的倡导者是传统的Visual Basic,并且在Visual Basic.NET中得到了进一步的发展。不论语法、平台和框架是否相同,Visual Basic的精神都将继续存在。
[返回] [关闭窗口]

140

主题

1228

帖子

1233

积分

金牌会员

Rank: 6Rank: 6

积分
1233
QQ
发表于 2005-5-5 15:37:00 | 显示全部楼层

Re:Visual Basic不可能消失

只能说你是自欺欺人。
微软也只能说vb.net 是一个全新的开始,vb已经结束了。

2

主题

8

帖子

13

积分

新手上路

Rank: 1

积分
13
 楼主| 发表于 2005-5-5 20:14:00 | 显示全部楼层

Re:Visual Basic不可能消失

如果你们一定要把vb.net说成另外一门语言的话。
我自己也已经不再使用vb6了,但是我依旧承认它对vb.net的影响。

73

主题

612

帖子

618

积分

高级会员

Rank: 4

积分
618
发表于 2005-5-6 00:06:00 | 显示全部楼层

Re: Re:Visual Basic不可能消失

lights: Re:Visual Basic不可能消失

只能说你是自欺欺人。
微软也只能说vb.net 是一个全新的开始,vb已经结束了。


我对你所说的话真的感觉到有些悲哀,以前觉得自己很崇拜你,现在觉得你在这方面有些偏激了吧,其实我一直不懂你所说的vb结束了是什么意思?vb编写的程序不能在windows运行了吗还是vb已经被微软作为垃圾装上就被清空,我知道你现在抛弃vb,进而就唾弃甚至侮辱她,其实作为一个版主你说这话对吗?为什么你要将vb.net和vb分开呢?
对于我来说,用vb足以,因为我不靠他吃饭
对于我来想,用c++也无益,因为再好也不过下力!

140

主题

1228

帖子

1233

积分

金牌会员

Rank: 6Rank: 6

积分
1233
QQ
发表于 2005-5-6 10:51:00 | 显示全部楼层

Re:Visual Basic不可能消失

不是偏激,是异常偏激,我一直积极的主张vb.net!
我希望用vb.net取代vb的含义。
让vb6从我们视野中消失,vb就指vb.net的时候,你会发现有多少人才步入程序的殿堂。

140

主题

1228

帖子

1233

积分

金牌会员

Rank: 6Rank: 6

积分
1233
QQ
发表于 2005-5-6 11:09:00 | 显示全部楼层

Re:Visual Basic不可能消失

我的偏激源自我的愤怒,我异常愤怒,大家扪心自问,vb在你心中,到底是什么地位!
vb在我心中是神圣的,我才要将它拉下神坛。
我伴随vb4,vb5,vb6,vb.net一路走来,时间创造了感情,当接触众多程序,经历了一个又一个完整项目的考验,对vb6及以前版本,爱之深,恨之又切。
千不该,万不该,vb出自微软。一门语言的精髓,全无。

何谓语言的精髓?
  1. 类似Basic的、大小写不敏感(case-insensitive)的语法

  2. 可视化设计的能力

  3. 带有集成的调试程序的伟大的集成开发环境

  4. 编辑后继续运行(Edit-and-continue)

  5. 多种便宜的、牢固的后续控件

  6. 简单的、集成的数据库支持

都不是,外在的特性说明不了问题,只有语言本身的特性才能表达一门语言的精髓。

我愤怒,因为实际的问题在于用vb的人们,有几个关心过语言特性。一直一来被人作为二等程序员看待,不怪别人,怪自己,我爱vb,却被vb所绊。
每一个想在程序上精益求精的人啊,你该知道语言特性对你有多重要!

所以当我第一眼看到vb.net,我发现,有太多激动人心的语言特性。
就在当时,我心里vb不等于vb6,vb=vb.net.
如果vb6还不结束,他会让多少有程序潜质的人走错路。


248

主题

2674

帖子

2702

积分

金牌会员

Rank: 6Rank: 6

积分
2702
QQ
发表于 2005-5-6 11:12:00 | 显示全部楼层

Re:Visual Basic不可能消失

vb和c++的理念是很不同的。
很多人都喜欢vb,它比c++站得更高,去理解软件。

我也希望能有替代vb的产品出现,我相信这个领域是一定会再续辉煌的。

47

主题

1949

帖子

1954

积分

金牌会员

Rank: 6Rank: 6

积分
1954
QQ
发表于 2005-5-6 20:04:00 | 显示全部楼层

Re:Visual Basic不可能消失

基本上
看了回话,都是在放屁~

17

主题

454

帖子

470

积分

中级会员

Rank: 3Rank: 3

积分
470
发表于 2005-5-6 20:43:00 | 显示全部楼层

Re:Visual Basic不可能消失

讨厌有些人在比语言.尤其是VB这样的语言.VB基本上只能在Windows 下用。虽然我也见过Linux下的VB.但是我觉得VB方便的地方在于它提供的Visual .真正的Visual .VB的各个版本都代表了一些东西.VB6的时代是COM COM+ ActiveX(OCX)最流行的时代,我想各位不会不知道VB6和这些技术的关系.现在COM COM+已经进化到了 .Net了。VB进化也是很正常的事情.VB本身就没有死不死的问题.何必讨论.
喜欢就好好学就是了。非要争个你死我活.贬低别人争个高下.到头来什么意义都没有.还不如好好用别人眼里的"垃圾语言"做个更好的软件.

0

主题

4

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2005-5-6 20:49:00 | 显示全部楼层

Re:Visual Basic不可能消失

如果说VB.net是一个新的开始,那么,VB也不仅仅是一个结束.
VB的成功有它自身的优点,也正是这些使我们进入了程序设计的世界.
不管以后程序设计语言怎么发展,只有在保持了高效、易用的前提下,才有可能发展。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-20 16:12

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表