曙海教育集团论坛开发语言培训专区VB语言 → 谈谈对VB的想法


  共有5779人关注过本帖树形打印

主题:谈谈对VB的想法

美女呀,离线,留言给我吧!
wangxinxin
  1楼 个性首页 | 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:青蜂侠 帖子:1393 积分:14038 威望:0 精华:0 注册:2010-11-12 11:08:23
谈谈对VB的想法  发帖心情 Post By:2010-12-14 11:59:22

下面谈谈VB6的前途。虽然用VB很多年,但是在前辈面前仍然是菜鸟一只,我大胆说两句,说得不好还请指教。

自从2000年微软推出.NET计划以后,VB产品线就彻底停掉了。我说的VB,指的是VB6,不是后面的VB.NET。
VB面临好多方面的挑战,最大的是软件从C/S向B/S的转型。而在WinForm下,由于微软的放弃,VB也越来越过时了:

(1)VB本身过于简单——因此它支持的东西实现起来超乎想象的简单,他不支持的东西,超乎想象的复杂,他的扩充性不好,因此微软为VB设定了一些常规开发的任务集就决定了VB能做什么。
VB5的时候,COM/DCOM大行其道,VB立马跟进,一下子VB开发COM的效率就立刻超过了所有语言。VB6的时候,ADO数据访问、Office 插件大热,马上VB又增加了这些功能。。。坦率地说,IIS应用程序,ActiveX文档和DHTML在当时有些超前了,后来看看还是很不成熟。总之微软原生支持的功能,VB的实现都超级简单,简单地让别的开发工具的用户嫉妒。
但是之后缺乏微软的支持,让VB去操纵网络、存取XML、访问Web Service、编写多层应用……你会发现,VB比起Delphi、Java、C#,都没有任何优势,反而由于VB对多线程缺乏支持在网络开发方面步履维艰。
(2)随着面向对象和组件化开发的深入人心,初级开发者也意识到OO的重要,或者说面向对象不再是大项目才用到的高级技术,尤其是2003年以后,设计模式的火爆。然而VB却缺乏对面向对象最基本的支持。或者说为了模拟这些VB不具备的特性,用上OO反而得不偿失了。
(3)VB定位于原生Win32程序的开发却并不能支持Windows API的很多特性。比如VB需要声明API,缺乏API的文档,在语法上,不能支持SEH,遇到Callback函数,一旦出现错误,整个开发环境立刻崩溃。在原生Windows开发已经非常萎靡的情况下,VB又敌不过Delphi和VC的夹击。
(4)VB缺乏大厂商的支持,自从VB被微软放弃以后,大厂商对于VB的投入非常谨慎,面向VB的产品越来越有限。很多第三方厂商的SDK,提供VC的头和库,提供.NET的文档,偏偏抛弃了VB。。。就算支持ActiveX接口勉强支持VB,但是明显转换到Delphi、C#平台是更稳妥的办法。
像报表、图表、用户界面等等组件,.NET下有很多选择,而且价格便宜,不少甚至开源,VB下的选择就很少了。。。
VB本身在Vista、XP下的支持也不是很好,VB6自绘的控件和XP的主题格格不入,一些COM组件在Windows Vista下运行不了,WinHelp帮助主题更是被Vista抛弃。
(5)VB的程序缺乏效率,由于VB依赖于虚拟机环境,所以运行速度非常缓慢。编译器本身也不可能再去支持x64、多核心等等新特性。相反的是,原先被骂的Java和.NET由于不断支持新的技术,现在的性能提高很大。不信大家试下,把VB的程序在.NET重新编译下,就能快好多倍。
(6)VB的IDE已经很落后了,大家用用Eclipse和Visual Studio 2008/2010就会发现VB的IDE有多差劲。别的不说,VS2005支持智能感知,在一行开始的时候就有提示,而VB的智能感知就局限在自动完成成员,这一点就非常不方便。

最近看到很多高级VB用户不断透支VB的功能,比如让VB支持内嵌汇编、支持Web Service、支持Aero界面、挖掘IE编程……但是都需要用到很多Hack方法。曾经有个ThunderVB计划,让VB支持编译标准dll,内嵌ASM/C++代码,可谓很牛,不过最后项目还是放弃了,我想最主要的原因是在VB技术落后、市场萎缩的的情况下,开发已经没有成本的优势了。技术到最后无论多牛都必须有市场有需求。VB的On Error GoTo这种异常处理机制大家去研究,可是这些在现代的语言里面早就被优雅的结构化异常处理取代。

下一代的编程语言,比如Ruby、C# 4.0、Java 7、F#或者别的,又裹挟了更多新特性来袭,真的不知道VB还能挺住否。

至于VB的另一个用途,就是成为二级考试的语言,和Turbo C、FoxPro那样。。。但是这些初级开发者到了实际开发的时候还是放弃了VB,这些低水平的重复大量浪费了他们的时间精力和社会资源。我对VB前途非常不看好。


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部

返回版面帖子列表

谈谈对VB的想法








签名