百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

早判了,VB已死,但我说话了么?

yuyutoo 2025-02-15 18:03 1 浏览 0 评论

前言

一直想写VB相关的内容,把实践过的感悟总结成文,分享给更多在途的朋友。本篇在《明比阅历浅,暗拼体力衰,指下讲武德,码上笑春风 》的铺排下,终于等来了这个时机。前篇为广大非IT人士开启IT之路提供了务实的指引,此篇则更深入介绍其中的途径。这让人有点兴奋,又有点紧张。兴奋的是,这么多经验可让人少些浮躁,多干实事,少走弯路。紧张的是,怕不够客观,误人入了歧途。

一、细数VB几宗罪

那就拟扬先挫吧,兼听则明,偏信则暗嘛。正视自己的短处,才能扬长避短。若是无法接受,提早打住,另谋出处,也未尝不是件好事。

1、无论是VB的使用者还是其他语言的编码人员,VB处于鄙视链末端,这是不争的事实。

2、VB的职业开发需求少,招聘VB的凤毛麟角。学习混不到职业前途,这是不争的事实。

3、VB在Windows中扎根太深,犹如彼时的IE。在众多OS不断崛起的今天,跨平台的战斗,注定要落下VB这位老臣。VB6在上个世纪末就未再更新,Win8以后官方未再宣称系统级支持,VB6进无可进,这是不争的事实。

4、VB6到VB.Net之间的大跨越,终结了VB的后向兼容,导致曾经的项目难以进行无缝的现代化升级。老项目无法使用更现代化的工具,维护效率低下。VB.Net这个新物种不但没揽到早前VB的生态,连官方支持也不如C#。VB.Net将VB6封印,在商业竞争上,自己却进不如C#,退不如VB6。VB项目生态的不可持续性,被编码人员笃定,这是不争的事实。

5、VB虚拟机的过渡代劳,让刚入行的初学者安全自在,却也困住了想起飞的入门者,让其举步维艰。编码者就像VB的崽,时常处于VB妈妈的监控之中。没有指针、无继承、太烂的多线程、不支持内嵌汇编…,不易扩展,更不能跨平台,不时尚土鳖像古董,这让专业开发人员非常鄙视,这也是不争的事实。

6、VB没落了吗?没落了,这是一边倒的声音。

二、看VB前世今生

(一)VB的过往

这么一数落,似乎VB无药可救,一无是处了。没有调查就没有发言权,要想客观评价,不得不回看VB的历史。

1、1988年,QuickBASIC就已风靡DOS系统,实时语法纠错,可移植,在IDE中启动。

2、1991年,随着Windows3.0一起,VB1.0正式诞生。脱胎于QuickBASIC语法,事件驱动,可视化IDE。Win3.0图形界面的巨大成功,让VB迅速获得开发者的青睐。事件驱动更是对以往过程式驱动的一声惊雷,革命性BASIC成为佳话。

3、1992年,随着Win3.1的持续加码,VB2.0继续深挖系统特性,几个月后就出了VB3.0。对象变量拥有最早的继承特性,对控件(VBX、OLE)的支持,对数据库(ODBC、JET)的支持,让此时的VB可开发出相当有水平的Windows程序。此时,针对VB虚拟机的P代码效率问题,竞争者Delphi才应运而生(其设计者也正是后来C#的设计者)。

4、1995年,在硬件更新换代的背景下,VB4.0诞生了。Windows开始走向32位系统时,VB则开始拥抱COM,定位也转向Visual Basic For Application。自此,VB与Office的宏语言统一起来,紧抱Office这颗大树,也是VB日后的免死金牌。全新的控件(OCX)、类模块奠定了VB面向对象的特性,其封装性(DLL)也使得VB成为COM的语言。

5、1997年,COM(ActiveX)技术已相当成熟,此时的VB5.0对其提供了最强支持。该版不仅对Visual Basic For Application进行了完善和丰富,更是提供了代码的本地编译器。自此,VB在性能上终于有了质的提升。此时的VB不但可开发自己的ActiveX组件、还可开发进程内外COM组件(ActiveXDLL、ActiveXEXE),更是可以开发在浏览器中运行的ActiveX文档。其IDE的智能感知,也极大地提高了开发效率。

6、1998年,以Visual Studio 6.0家族成员的方式发布了VB6.0,微软将其定位为企业级快速开发工具。VB6集成的各项特性,足够企业快速建立多层分布式系统及Web应用程序。此后近4年均未更新,显示出了VB6的成熟和稳定。

7、2002年,在Java的逼迫下,Visual Studio.NET1.0问世。.NET框架下的VB,除了语法风格与经典VB类似外,其实就是全新设计的开发语言。在激烈的市场竞争中,VB6没能等来继任者,成为最后的经典。

此后的VB.Net波澜起伏,将经典VB积累的生态挥霍殆尽,大量的专业开发人员转投了C#。VB.Net出生如同VB4.0,有战略上的急迫,更有自身的失误。在不能后向兼容经典VB的情况下,又在革新时错失了市场,才导致今天鸡肋的地位。

VB.Net几经周折,尽管已足够强大,足够安全,足够易用,在使用习惯上也已高度还原VB6,甚至很多官方文档也可被VB6采用,但毕竟已是新的开发工具。VB.Net在.NET框架下不如C#,在企业级快速开发上也不能替代掉VB6,在这样的夹缝中,VB.Net的未来注定任重而道远。

(二)VB的今生

不得不承认VB(以下VB若无特别说明,仅指VB6)曾是最流行的开发工具之一,据说其生产的代码量是C++的数十倍之多,数不清的应用活跃在各大企业生产的田边地角。然而成也萧何,败也萧何,VB最大的问题竟在于其过于成功。

它极为有效地降低了初级程序员的学习难度,几乎所有人都可以用VB进行编程。职员、学生纷纷加入,轻易解决其他平台实现起来更困难的问题。因为VB太好用了,也从来不苛责不良的开发习惯,所以到处都是新手,到处都是质量低劣的机械式代码,成了杀鸡焉用牛刀的最佳诠释。

对于VB,素有”沉默的大多数”的说法。据说只有3%的用户能发出VB不好,希望官方改进的声音,其余97%的用户觉得VB挺好,没有什么需要改的。当VB.Net1.0的Beta1出来的时候,与VB6天翻地覆的差异,直接把提要求的那3%给搞蒙,搞害怕了,进而转投C#去了。其余的97%仍然觉得VB6挺好,没什么需要改的。所以,在业界VB从企业级快速开发工具沦落为小学生的玩具,也就不足为奇。

这也正是我在《明比阅历浅,暗拼体力衰,指下讲武德,码上笑春风 》中,极力推荐VB的主要原因。太好用,太容易用,轻易就可达成初级程序员的目标,的确具有吸引力。时至今日,由这97%周转的,机械的,功能有限的代码,解决着很大一部分实际生产中遇到的问题。实用性是VB得以苟延残喘的法宝,也正符合非IT人士对IT的需求。

1、几乎很难找得到像VB这样拖拖拉拉就能完全绘制用户界面并快速编码的工具,这是VB与Windows与生俱来的血脉关系造就的。

2、几乎很难找得到像VB这样允许程序员在IDE中运行、发现并修改错误、并在修改结果上继续的编程环境,即便停更十余年也不公开源码,可见的确独到。

多如繁星的VB项目,使得官方不得不一而再再而三延长系统支持,据称官方至少覆盖了整个Win8生命周期。而实际情况却是,在号称最后1个Windows版本的Win10上也活得怪好。相信职员、学生一类非专业开发人员还会继续纷至沓来,在没有足够投入的情况下,继续生产功能够用的代码,就像打不死的”小强”,在自己的领域里坚强地做着自己的事情。或许,VB看上去就要落幕了,但即便是真的,只要WIN32开发不被淘汰,Office还能继续为生产卖力,VB就不会消失。相反,VB会成为1个遗留产品,一个被忽视的没有激情,也没有未来的工具。

三、VB的幡然醒悟

争论了半天VB的好坏和前途,跟你我有半毛钱关系?这是一个关于名为VB软件后续升级的讨价还价。不升级就死掉了么?就像用锄头和拖拉机种地,别人说锄头变不了拖拉机,因此锄头要死了,用锄头的也要死了。

锄头郁闷了,你用或不用,我都静静的在那里,不悲不喜。种地的也郁闷了,是我家地不能用锄头了,还是锄头种的粮食不能吃了?纵使一马平川的主场,也有顾不到的田边地角,更何况还有崎岖的山地。纵使师资再好,北大清华也是少数,允许你3%,就不允许我97%?所以,你一开拖拉机的,爬上我这山头,对着我的锄头,瞎得瑟什么呀?卖拖拉机的钱装你兜里?你种的是粮食,我锄头种的就不是了?你能上我山头,我就不能下到你山脚?

VB是生产的锄头,只要Windows这块地没变天,以前种的粮也没坏,那就可以继续吃,锄头也可继续用。允许3%的人去开拖拉机,种更多的口粮。也允许97%的人在自留地里挥舞锄头种点瓜果副食。

四、VB的免死金牌

VB在4.0就转向Visual Basic For Application,与Office的联姻,才是VB容颜不老的秘诀。VB6虽然没等到7.0,但VBA却进化到了7.0,跟着Office到了64位Win10的地界。VB、VBA和VBS之间,以及与Office32/64之间的关系,随后会专题深入介绍,请继续关注 BtOfficer获取相应内容。

VB6是32位Windows上COM的语言,只要Windows摆脱不了COM、摆脱不了WIN32子系统,VB6就会无比坚定的存活下去。VB6与VC6之间的关系,VB6与C/C++的互通,32位VB与64位系统的兼容,随后会有专题深入介绍,请继续关注BtOfficer获取相应内容。

VB5.0就加入了本地代码编译器,从某种程度上说,之后的系统无论是否原生支持,对VB而言都不再是束缚。VB6的编译器原理,编译器的深度使用,随后会有专题深入介绍,请继续关注BtOfficer获取相应内容。

纵观VB的历史,从其诞生那天起,VB的使命就是要打出Windows系统特性这幅王炸牌。说VB是Windows的大家闺秀也毫不为过,VB其实就是系统附带的生产力。VB更多的角色不是编译器的脚本,而是充当系统的命令,直接调配资源组织生产。所以,VB的虚拟机才那么短小精悍,VB的应用才那么容易既快又准的落地。VB6的虚拟机,VB6与WIN32编程,VB6与VB.Net资源共享等,以后会有专题深入介绍,请继续关注BtOfficer获取相应内容。

遗憾的同时,也庆幸VB6没有继续走远,成了系统身边那个永远不嫁的姑娘。虽然系统爸爸的势力范围越来越大,但最核心的,始终近在眼前。拨开安全的层层迷雾,指针、线程、继承、内嵌汇编等一众C的手脚,托起了那97%的任性。尤其是内嵌汇编,为VB6插上了想象的翅膀,成为VB6名副其实的免死金牌。VB6的指针、安全多线程、内嵌汇编等内容,以后会有专题深入介绍,请继续关注BtOfficer获取相应内容。

五、VB的生命之光

3%的那部分从VB这个小学毕业后,升了初中,以后还会上高中念大学。也会有更多97%的这部分不断等着VB开学。在普通人通往程序之路上,VB就像摆渡人,接来一批又送走一批。VB存世的意义,或许就在于既普世又度人。心清脑秀者,许你3%得道升华。资历平平者,也许你97%的凡人吃喝。

VB的世界里有自由的周全,也有刻薄的束缚。她试图让所有人都能踏进编程的世界,并在这个晦涩的世界里护其周全。她也总拿自由不是没有代价来告诫使用者,知其然还要知其所以然,到远方去才是旅游的意义。

相关推荐

史上最全的浏览器兼容性问题和解决方案

微信ID:WEB_wysj(点击关注)◎◎◎◎◎◎◎◎◎一┳═┻︻▄(页底留言开放,欢迎来吐槽)●●●...

平面设计基础知识_平面设计基础知识实验收获与总结
平面设计基础知识_平面设计基础知识实验收获与总结

CSS构造颜色,背景与图像1.使用span更好的控制文本中局部区域的文本:文本;2.使用display属性提供区块转变:display:inline(是内联的...

2025-02-21 16:01 yuyutoo

写作排版简单三步就行-工具篇_作文排版模板

和我们工作中日常word排版内部交流不同,这篇教程介绍的写作排版主要是用于“微信公众号、头条号”网络展示。写作展现的是我的思考,排版是让写作在网格上更好地展现。在写作上花费时间是有累积复利优势的,在排...

写一个2048的游戏_2048小游戏功能实现

1.创建HTML文件1.打开一个文本编辑器,例如Notepad++、SublimeText、VisualStudioCode等。2.将以下HTML代码复制并粘贴到文本编辑器中:html...

今天你穿“短袖”了吗?青岛最高23℃!接下来几天气温更刺激……

  最近的天气暖和得让很多小伙伴们喊“热”!!!  昨天的气温到底升得有多高呢?你家有没有榜上有名?...

CSS不规则卡片,纯CSS制作优惠券样式,CSS实现锯齿样式

之前也有写过CSS优惠券样式《CSS3径向渐变实现优惠券波浪造型》,这次再来温习一遍,并且将更为详细的讲解,从布局到具体样式说明,最后定义CSS变量,自定义主题颜色。布局...

柠檬科技肖勃飞:大数据风控助力信用社会建设

...

你的自我界限够强大吗?_你的自我界限够强大吗英文

我的结果:A、该设立新的界限...

行内元素与块级元素,以及区别_行内元素和块级元素有什么区别?

行内元素与块级元素首先,CSS规范规定,每个元素都有display属性,确定该元素的类型,每个元素都有默认的display值,分别为块级(block)、行内(inline)。块级元素:(以下列举比较常...

让“成都速度”跑得潇潇洒洒,地上地下共享轨交繁华
让“成都速度”跑得潇潇洒洒,地上地下共享轨交繁华

去年的两会期间,习近平总书记在参加人大会议四川代表团审议时,对治蜀兴川提出了明确要求,指明了前行方向,并带来了“祝四川人民的生活越来越安逸”的美好祝福。又是一年...

2025-02-21 16:00 yuyutoo

今年国家综合性消防救援队伍计划招录消防员15000名

记者24日从应急管理部获悉,国家综合性消防救援队伍2023年消防员招录工作已正式启动。今年共计划招录消防员15000名,其中高校应届毕业生5000名、退役士兵5000名、社会青年5000名。本次招录的...

一起盘点最新 Chrome v133 的5大主流特性 ?

1.CSS的高级attr()方法CSSattr()函数是CSSLevel5中用于检索DOM元素的属性值并将其用于CSS属性值,类似于var()函数替换自定义属性值的方式。...

竞走团体世锦赛5月太仓举行 世界冠军杨家玉担任形象大使

style="text-align:center;"data-mce-style="text-align:...

学物理能做什么?_学物理能做什么 卢昌海

作者:曹则贤中国科学院物理研究所原标题:《物理学:ASourceofPowerforMan》在2006年中央电视台《对话》栏目的某期节目中,主持人问过我一个的问题:“学物理的人,如果日后不...

你不知道的关于这只眯眼兔的6个小秘密
你不知道的关于这只眯眼兔的6个小秘密

在你们忙着给熊本君做表情包的时候,要知道,最先在网络上引起轰动的可是这只脸上只有两条缝的兔子——兔斯基。今年,它更是迎来了自己的10岁生日。①关于德艺双馨“老艺...

2025-02-21 16:00 yuyutoo

取消回复欢迎 发表评论: