转个贴子: VB会消失吗?

xayzmb 2008-04-09 11:48:15
近十年以来人们一直预言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的精神都将继续存在。
...全文
593 49 打赏 收藏 转发到动态 举报
写回复
用AI写文章
49 条回复
切换为时间正序
请发表友善的回复…
发表回复
futurepi 2010-08-29
  • 打赏
  • 举报
回复
哈哈,我还是喜欢vb
wang19847277 2008-07-01
  • 打赏
  • 举报
回复
在用vb
顶啊
老少爷们们顶啊
我也喜欢vb
别我刚用没几天就玩消失啊
Dickson 2008-06-30
  • 打赏
  • 举报
回复
会。
rosion 2008-06-27
  • 打赏
  • 举报
回复
会,起码不太支持新的操作系统
zzxap 2008-06-26
  • 打赏
  • 举报
回复
vb会消失的
knight4 2008-06-26
  • 打赏
  • 举报
回复
喜欢VB!
lcsfxs 2008-06-25
  • 打赏
  • 举报
回复
关注,呵呵,一直用VB6写一些行业软件
lovesoo 2008-06-25
  • 打赏
  • 举报
回复
VB新人........
renqingnet 2008-06-24
  • 打赏
  • 举报
回复
VB应该不会消失,毕竟他的影响力还是很大的。很多程序都用时VB开发的,而且VB的扩展性能还是蛮不错的
yj7416 2008-06-24
  • 打赏
  • 举报
回复
微软一天不倒闭,VB就不会消失
jacketzhou 2008-06-23
  • 打赏
  • 举报
回复
在VB消失前,我要用VB赚很多钱
tianhuo_soft 2008-06-23
  • 打赏
  • 举报
回复
只要MS不死
VB肯定不会消失

VB可是MS的亲儿子,当转向.NET平台时,是多么的费劲结果还是带进来了
~!
DullDrab 2008-06-22
  • 打赏
  • 举报
回复
如果vb消失了,那我可能已经死去很多年了
xlt_200808 2008-06-22
  • 打赏
  • 举报
回复
[Quote=引用 34 楼 ayalicer 的回复:]
人都会消失的~
还有什么不能消失的
[/Quote]

  • 打赏
  • 举报
回复
人都会消失的~
还有什么不能消失的
taoxinzhen 2008-06-20
  • 打赏
  • 举报
回复
存在即是真理!!我想即便是有那么一天vb会完蛋,那也会有它但道理。
域樹臨風 2008-06-20
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 myjian 的回复:]
只要不把VB6用错地方,比如写驱动呀写标准DLL呀之类的....那还真难找到什么问题.

然后,只要VB6生成的EXE还能在以后的系统里运行.....估计也不会消失.
[/Quote]

支持VB,如果VB消失我估计Windwos平台也会跟一起消失。
hpygzhx520 2008-06-20
  • 打赏
  • 举报
回复
我是喜欢并只会VB6的人,也狂热的支持VB6。
但上面一些高手的观点也不完全认同。VB6的确有些硬伤,尽管通过一些扩展可以弥补一部分,但仍然有些无法改变。
比如使用了imagelist等的时候,有些时候会莫名其妙的失真。比如你正在设计菜单,当控件总数超过极限255的时候,出错,之后所有菜单就会丢失。比如toolbar等组件,6.0的无法实现XP主题,5.0的需要扩展才能使用一些特殊功能,而这些扩展是需要代价的,如子类等。
总体来说,我觉得VB6能够完成大部分任务。而VB2005,有一个卖点:轻松设计专业界面(MS的语言)。所以,在错误处理机制、界面设计、多线程等方面,VB2005的确好用得多。——一家之言。
shala99 2008-06-19
  • 打赏
  • 举报
回复
支持VB 支持VB 支持VB 支持VB 支持VB 支持VB 支持VB 支持VB
AIRFLYNET 2008-06-19
  • 打赏
  • 举报
回复
消不消失关健看是否仍有平台支持.
加载更多回复(28)

742

社区成员

发帖
与我相关
我的任务
社区描述
VB 版八卦、闲侃,联络感情地盘,禁广告帖、作业帖
社区管理员
  • 非技术类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧