我们可以在这里看到从过去到现在的250多种编程措辞之间的“设计影响”的关系,下面是该演示的截图:
在这个“BCYY48”(编程措辞)天团里,C+、Java、Python、PHP……每个都有不少拥趸pick。而曾经有“首富爸爸”和环球后援会撑腰的VisualBasic措辞,现在却处在一个非常尴尬的位置。
很少有开拓职员乐意承认,自己曾经是VisualBasic的虔诚粉丝,它被看做是玩具措辞,更适宜那些刚开始学习编程的人,更不可能涌如今“环球最大同性交友网站”Github上。

但其实在野外,很多专业运用程序都是用Visual Basic编写的,它依然在为Access数据库和古老的ASP网页供电。比如可能是美国最大的医疗软件开拓商Epic Systems 仍旧大量利用 VB 6.0,很多学校也在坚持教授VB课程 。在一份TIOBE公布的2018年编程措辞排行榜中,VB的盛行指数高居TOP5。
只管有不少程序猿“口嫌体正派”地眷恋着VB,但它实在已经无法复生,根本不可能在强手如林的新时期里硬核起来。
缘故原由很大略,学习编程已经和学习英语一样低龄化了,从幼儿园到大学培训班,首选总是Python这个间隔人工智能最近的编程措辞。失落去了强大后援团的VB,“退团”险些不可避免。
而站在打算机措辞的发展进程上,回顾这位28岁、曾经是天下上最受欢迎的措辞所走过的“花路”,也格外故意思。
VB与它开启的图形视觉时期
“VB”只是一个随处颂扬的昵称,实际上它名字叫Visual,本姓是“Basic”。
1964年,John Kemeny 和 Thomas Kurtz以为编程太难了,须要回归本源,以是把自己设计的编程措辞叫做BASIC,后来成为打算技能发展历史上运用得最为广泛的措辞。而VB由于在气质上和BASIC很相似(都很大略易用),而被微软相中收养了它。1981年,微软 “亲生闺女”Windows3.0“出道”的同时,VB也一起露面了。
“Visual” 则适可而止地反响了VB得天独厚的动手能力,那便是开拓图形用户界面。开拓职员通过在窗口绘制按钮来为程序创建按钮,就像是在画布上作画一样。要让一个按钮做一些事情,只须要在设计环境中双击它并编写一些代码就可以了。
听起来彷佛没什么了不起?要理解VB的特殊之处,恐怕还要从机器措辞的发展提及。
我们都知道,打算机天下是由数字1和0组成的。CPU 只能实行二进制代码,无论是一部电影、一首歌曲还是一张图片,终极都因此 0/1 代码来存储的。但是,用0/1编写机器措辞很麻烦,纵然专业人士也不好理解。
以是,很快涌现了汇编措辞,将呆板抽象的二进制数字指令转化成英文单词。
比如说,“add 1, 2;”,意思便是让打算机完成1 和 2 相加的动作。再通过专门的软件(编译器),就可以将这些英文单词转化成 0/1 代码并由打算机实行。一代开拓职员的集体影象,便是在蓝色的背景下敲打白色的代码。
这时候,编程依然是一个与普通人有着“次元壁”的异天下。
对付初学者来说,VB是一个非常友好的画面,随着能力不断提升,VB逐渐发展成了一个对严明的程序员来说足够强大的工具。据统计,在VB中编写代码的次数比C++措辞多十倍。VB通过另一种非常盛行的技能ASP(ActiveServerPages)进入公司办公室乃至网络。
但是,随着互联网业务的发展,微软下定决心要推广Web做事功能,而这项功能受Java的影响比较大,以是微软不得不在VB十岁的时候,领回来了一个新的“养女”。VB的粉丝们“一朝回到解放前”,必须和那些官方专业程序员一样,从0开始编写代码。
2002年的时候,VB不得不主动“转型”,引入了新的核心.NET Framework,并更名为Visual Basic .NET。在.NET天下中,VB代码的每一行都可以转换为等效的C代码行,反之亦然。只管做了如许改变,VB始终难逃过气的命运。
2008年4月,微软正式宣告停滞对经典VB的支持。而海内,NOIP等信息奥赛在2005年就将BASIC措辞移出可利用项,少有专业编程职员会把VB写进简历。浙江省信息技能课程改革方案中,则将信息技能教材编程措辞从 VB改换为Python。
有人大概会问,VB到底做错了什么你要抛弃他?实在,这与诺基亚卖身微软的故事一模一样——“我们并没有做错什么,但不知为什么,我们输了。”
VB衰落的三步曲
从 1951 年至今,人们一共发明了200多种编程措辞,并且还在不断地改造。以是一门措辞的兴替,大概并不是什么太主要的事情。不过个中也有着不少参考意义。
庞加莱曾说,如果我们想要预见数学的将来,适当的路子是研究这门科学的历史和现状。打算机措辞亦然。
那么,与虎视眈眈的C/C++、Java、Python等比较,VB到底欠缺了什么呢?
首先,经典VB的真正问题是它太成功了。
VB的学习曲线实在太平滑,纵然不是一个演习有素的编码员,也可以无障碍上手。正是因因此,也吸引来了大量的业余编码者,粗心的新手、无聊的公司职员、暑期班学生等等,他们到处喷射面条式代码(spaghetti code),写出来的程序如同一碗意大利面一样扭曲和纠结,而VB并没有办法去改掉他们的坏习气,只能眼看着开拓生态越来越繁芜和难以掩护。
其次,其他措辞也在进化。
VB措辞的发展历史,也给了我们一定的警示,学如逆水行舟,不进则退。时期总会淘汰一些东西,然而时期的发展也会带来新的东西,新的机遇,无论是我们的事情还是学习,一贯伴随着时期的进步在发生着或多或少的变革,实在细想,这些变革的带来者还是我们人类,是时期文明进步的表示,也是生活办法不断改造的期许在一步步实现。