评论:Visual Basic宣告死亡 --------------------------------------------------------------------------------
 
http://www.sina.com.cn 2001年04月04日 09:49 eNet硅谷动力 
 
  【eNews专稿】很抱歉把这个标题放上这个字眼。毕竟这句话要对全世界700多万的VB程序员负责,其实我也是一名VB的学习者和拥护者。但是事实就是如此,使用人口多,简单容易上手的微软开发工具Visual Basic,即将面临宣告死亡的命运。  或许您会说这是反微软基本教义派在造谣,现在VB的版本是VB 6.0,再来不是有VB 7.0,就是所谓的Visual Basic.NET吗?可是等大家拿到这个新版的VB.NET,或是去要一份Be  
ta版来看看,现在熟悉VB的人,可以发现己根本无从下手,因为从基本语法开始已经全都和以前不一样了。目前只熟悉VB的朋友必须重新学起,反倒是会Java/C++的朋友会发现新的VB似曾相识,因为VB已经改头换面成为物件导向语言,原来那个比尔盖茨的最爱,从DOS时代就伴随微软使用者成长的BASIC语言已经不复存在。  先不论这个改变对既有使用者的影响,这应该是一个好的改变。原有的VB优点是初学者容易上手,很简单就可以拼拼凑凑兜出一个可以执行的小程式,对于入门者或是功能简单的应用程序来说,实在是个好工具。但是面对目前网络时代这些企业级的系统开发,旧有的VB实在不胜负荷。很多人会写VB程序,但是如果没有严谨的专案管理和好的写程序习惯,很容易大家写出一堆很难维护的VB程序码。反观Java或C++,由于规定严谨,虽然因此造成入门学习障碍比VB高,但是一旦领进门,按照物件导向分析/设计的脚步一路走来,就会写出漂亮而且易读、易管理的程序。所以微软这次趁推出.NET的机会,将旧有的VB一次大翻修,正式跨入物件导向的领域,在技术成长上面来看应该是正确的方向。  只不过微软每次有新版本,总是不顾旧版使用者的需求。现在VB6.0到VB.NET全面大翻修,在微软网站上宣称要推出〝VB.NET Upgrade Tool〞用来帮助升级VB 6.0的旧程序,不过从上面的功能介绍看来它只做了五件事:  1.变数到物件的型别转换  2.长短整数型态的转换  3.移除参数预设的性质  4.增加阵列范围定义限制  5.将VB 6.0 Form转换成新的Windows Form   但是将旧的VB 6.0程序全盘转为VB.NET,岂是这五件事就可以做好的。于是微软又有另一份长达26页的文件〝Preparing Your Visual Basic 6.0 Applications for the Upgrade to Visual Basic.NET〞,洋洋洒洒列出一串在写VB 6.0程序时的注意事项,只有这一串条件都符合了,才有可能用上述的升级工具来作转换。面对目前成千上万行VB程序,各位VB程序设计师,请大家自求多福。重新改写也许是一种活路,但是如果要重新改写,为什么不干脆用Java?反正VB.NET也会是物件导向语言,微软另一个神奇宝贝C#则是根本抄袭自Java和C++,在VB.NET尚未正式上市之前,我倒是建议大家来学Java。J2EE会是比.NET更完备,而且是目前已经成熟的企业运算架构。如果到时候.NET全部正式推出,您还是喜欢被微软拥抱的感觉,先会了Java再接触C#或是VB.NET,也许会觉得得心应手、游刃有余。  总之,旧的Visual Basic宣告死亡。对于微软号称全世界共有七百万以上个VB程序设计师们,请不要把希望放在这个〝VB.NET Upgrade Tool〞上面,此举无异是坐以待毙。在java大行其道的现在,与其苦等新版的VB.NET,不如现在开始学Java。看看正统的物件导向程序要怎么写,了解微软为什么要全面翻修见贤思齐,将来不管是写Java或是VB.NET程序都没有问题,保证学习所花的工夫不会白费。去Yahoo上查一下,看看编程语言一项,VB的支持着越来越少,而Java的则是呈几何级数上升。“真正精通Java的程序员,才能体会道编程的真谛,才是真正的程序员。”——Mephis。全世界的程序员,行动起来吧。  微软推出JUMP专案,协助移植Java到.NET  产品的命名学,其实这方面最厉害的就是微软。我常想在微软内部一定有个小组专门负责替产品取名字。之前微软要推出一套程序语言对抗Java,东西还不见踪影,就先宣布一个很酷的名字,就叫做COOL (Common Object-Oriented Language)。可是后来的发展就好比太监一样──下面没有了,COOL无疾而终,取而代之的就是现在见到不知所云的"C#"。现在又有一个具有响亮名称的产品推出,叫做JUMP,四各英文字母代表Java User Migration Path,缩写就是JUMP,实在让我深深佩服微软命名小组的巧思,产品好不好是另外一回事。  这个JUMP,实际上就是要来对付Java的第一步。它的内容是要推出一套工具,帮助使用者把以前用Visual J++写的Java程序移植到未来的NET平台上。其中包含了自动将Java程序换为C#的工具,Visual Studio.NET和Java程序整合的工具,以及协助移植Java专案的咨询服务。不过,这些工具的价格未定,Beta版的推出日期预计是今年上半年,正式版要到下半年才会上市。  这个JUMP专案的目的很清楚,就是要Java使用者不再用Java,转而采用微软的C#和NET。在微软网站上公布一份JUMP的FAQ,其中最后一个问题很有趣,它的问题是"这代表微软会支援Java平台吗?"微软的回答是"绝对不是。微软只支援Java这个程序语言,并且帮助开发者从Java平台转换到.NET平台。那些对Sun的Java解决方案有兴趣的客户,必须到其他地方去寻求支援。"   微软的意思很清楚,这就是微软自始至终对Java的态度——只是一个程序语言,其他的J2SE、J2EE……,都是微软产品的竞争对手。对Sun和Java阵营来说,目前这个JUMP专案并不代表太大意义,因为如果是Java用户,谁还在使用内含旧版JDK1.1.4的Visual J++?况且JUMP之中所谓的自动转换Java程序到C#,听起来好像十分强大,实际上是个笑话,因为C#根本就是抄袭自Java,基本语法根本一样,只要用最简单的字串取代/置换功能就可以了,哪需要什么特殊工具?这哪需要什么Beta上半年上市,正式版下半年上市,根本马上就可以推出,Word或其他文字编辑器就有字串取代功能了。  所以微软如果真的在乎自己使用者的需求,真正需要的不是JUMP,而是对于其他语言的转换工具(如Visual C++、COBOL…….)。现在抢先宣布JUMP,只是为了打击Java,似乎这才是第一要务。可怜的微软使用者,大家准备面对.NET排山倒海的技术文件,以及可预期的改版、升级问题吧!(杨磊)