浅谈VB的兴衰与普通人的编程信函

在程序员的世界里,有一个永恒的难题——。什么是最好的语言?

在这个“编程语言”组中,c、Java、Python、PHP…….每个都有很多粉丝选择。曾经得到“首富之父”和全球支持协会支持的可视基本语言现在处于非常尴尬的境地。

很少有开发者愿意承认他们曾经是VisualBasic的忠实粉丝。它被认为是一种玩具语言,更适合那些刚刚开始学习编程的人,更不太可能出现在“世界上最大的约会网站”Github上。

但事实上,在这一领域,许多专业应用程序都是用Visual Basic编写的,这仍然为Access数据库和古老的ASP网页提供了动力。例如,Epic Systems可能是美国最大的医疗软件开发商,它仍然广泛使用VB 6.0,许多学校也坚持教授VB课程。在TIOBE发布的2018年编程语言排名中,VB的受欢迎指数排在第五位。

5d2926d532f16.png

当然,这个列表更像是对VB的“闪回”。

虽然在程有很多人对VB有着“诚”的依恋,但事实上它是没有用的,它不可能在新的时代成为坚强的森林。

原因很简单。学习编程和学习英语一样年轻。从幼儿园到大学培训课程,最接近人工智能的编程语言Python总是首选。失去强大支持团体的VB,几乎不可避免地会退出该团体。

然而,回顾这位曾经是世界上最受欢迎的语言的28岁的年轻人,回顾他在计算机语言发展中走过的“花道”是特别有趣的。

VB与它开启的图形视觉时代

“VB”只是一个流行的昵称。事实上,它的名字是视觉,它的姓氏是“基本”。

1964年,约翰·凯门尼(John Kemeny)和托马斯·库尔茨(Thomas Kurtz)觉得编程太难了,需要回到它的起源,所以他们把他们的编程语言称为BASIC,这种语言后来成为计算技术发展史上使用最广泛的语言。然而,微软之所以采用VB,是因为它在气质上与BASIC相似(两者都简单易用)。1981年,当微软的“亲生女儿”视窗3.0“亮相”时,VB也一起出现了。

5d2926d570662.png

“可视化”恰当地反映了VB开发图形用户界面的独特的动手能力。开发人员通过在窗口中绘制按钮来为程序创建按钮,就像在画布上绘制一样。要让一个按钮做某事,只需在设计环境中双击它并编写一些代码。

听起来没什么大不了。要理解VB的特殊功能,恐怕我必须从机器语言的发展开始。

我们都知道计算机世界是由数字1和0组成的。中央处理器只能执行二进制代码。无论是电影、歌曲还是图片,最终都存储在0/1代码中。然而,用0/1写机器语言非常麻烦,甚至专业人士也不能很好地理解它。

因此,汇编语言很快出现,将枯燥抽象的二进制数字指令转换成英语单词。

例如,“添加1,2,这意味着让计算机完成添加1和2的操作。通过特殊的软件(编译器),这些英语单词可以被转换成0/1代码并由计算机执行。一代开发人员的集体记忆是在蓝色背景下击败白色代码。

在那个时候,编程仍然是一个不同的世界,普通人的“空间墙”。

5d2926d5c9a5a.png

友好的VB代码改变了编程游戏,将开发发展成一个“你看到的就是你得到的”图形世界,只需点击按钮就可以实现。

那时,VB有多热?让我们这样说吧,对于那些“证书比他们需要的多”的大学生来说,几乎有一个计算机二年级的学生,他们中的许多人会选择VB。即使是没有基础的文科学生也能很容易理解并使用它来设计一些小玩意。

5d2926d6304f2.png

对于初学者来说,VB是一个非常友好的图片。随着其能力的不断提高,VB已经逐渐发展成为一个足够强大的工具,为认真的程序员。据统计,用VB写的代码比用C语言写的多十倍。VB通过另一种非常流行的技术ASP(动态服务器页面)进入公司办公室甚至网络。

然而,随着互联网业务的发展,微软决心提升网络服务功能,这在很大程度上受到了Java的影响,所以微软不得不在VB十岁的时候带回一个新的“养女”。VB爱好者“一旦回到解放前”就必须从0开始编写代码,就像那些官方专业程序员一样。

2002年,VB不得不通过引入新的核心来主动“改造”。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的学习曲线太平滑了,即使它不是一个训练有素的程序员,它也可以无障碍地使用。正因为如此,大量的业余程序员、粗心的新手、乏味的公司雇员、暑期学校学生等等。被吸引。他们把意大利面代码喷得到处都是,他们编写的程序就像一碗意大利面一样扭曲纠结。VB没有办法改变他们的不良习惯,只能眼睁睁地看着开发生态变得越来越复杂和难以维护。

其次,其他语言也在发展。

严肃的开发者都知道。NET是用C语言编写的。像C#这样的语言正变得像VB一样简单和安全,并且越来越成为演示、书籍、课程和开发者研讨会的主流。市场上也充斥着面向幼儿和初学者的图形编程工具,比如scratch。

既然VB.net和C有相同的功能,使用相同的组件,编译成完全相同的形式,为什么不选择C呢?突然间,VB简单易用的优势不再有什么特别的了。

5d2926d68221d.png

(2018年美国流行编程语言十佳)

因此,正是开发生态的萎缩最终使VB走到了尽头。

VB曾经占据了中学生的信息技术教材很多年,但是越来越多的开发者和大学开始把入门课程改成其他的计算机语言。例如,麻省理工学院和加州大学伯克利分校的计算机系统已经将起始语言改为了Python。一些明星互联网公司,如Youtube、Instagram、Reddit等。让他们的核心业务基于Python开发。

在示范效应下,来自其他行业的大量人员自然会选择使用其他语言进入编程世界。例如,我们可以遇到了解Python的医生,学习Scratch的孩子,或者可以在开发社区轻松获得开源代码的新手开发人员。尽管VB仍然可以用来构建应用程序,但对它的进一步讨论似乎与其他开发人员格格不入。

在经历了十多年的繁荣之后,被大众忽视的虚拟现实注定成为一个没有激情和未来的遗产产品。

未来的编程语言是什么?

回顾计算机语言的发展历史,我们会发现在20世纪70年代,计算机被用来处理不同类型的事务,于是出现了许多具有不同特征的语言,如结合了高级语言和汇编语言特征的结构化的Pascal语言,进行逻辑研究的Prolog语言.

随着计算机性能的提高和互联网的兴起,PHP、Java、JavaScript、VB、Python、HTML等出现了。后来,更高的计算元编程和异构编程也得到支持,还有C#、Swift等。变得流行起来。在人工智能时代,Python已经成为第一个开发语言,它是跨平台的、通用的但不专业的,并且擅长处理与统计相关的问题。

总的来说,编程语言的流行就像“交通偶像”,它的商业能力并不是很强。重点不同。行业需求、学习曲线、运营成本等多种因素决定了程将继续为谁站在C位而战。

5d2926d6d9b97.png

当然,这不是公众的事。我们关心的是主流编程语言变化的影响。有几点值得注意:

1.低门槛生产工具。过去,计算机教育一直强调“一种语言,一百种技能”,“重要的是思想”,“优雅简洁的代码”等等。然而,随着编程语言变得越来越简单易用,成为低门槛的生产工具是不可阻挡的趋势。

像MOOC、Coursera和某某人工智能大学这样的培训网站上满是农民,他们用Python来识别苹果,生物学家用Python来分析蝴蝶物种,还有训练神经网络的高中生……现在可能有必要采取预防措施,防止大规模开发者加入进来并重复VB面条代码的错误。

2.图形编程和代码编程的悖论。对于初学者来说,图形化总是最友好的入门方式,这可以大大减少代码带来的挫败感。当我第一次进入大学,我开始接触计算机编程语言从VB,然后过渡到更抽象的代码,如c。同样的情况也适用于儿童编程。一些调查显示,在使用Scratch(一种图形编程)几年后,学生将更愿意尝试代码编程。

然而,在公众眼中,“真正的编程”——代码编程越来越年轻。Python实际上已经从娃娃开始,从程序员到高考内容到幼儿园教材。对于勺式喂养的流行趋势,亚马逊AWS首席科学家李牧曾经打趣道:“我的宝宝从一岁开始看报纸,现在她可以通过在键盘上打字来熟练地编写mxnet代码。一家名为keras4kindergartners的网站也在网站上张贴了一则嘲讽广告:“如果你爱你的孩子,在他们学会反向传播之前,不要送他们去小学。"

几十年的发展已经证明,我们最需要的编程语言总是允许人们轻松编写程序的第一个版本的语言,而不是它看起来有多酷和特别。

5d2926d740a5d.png

3.高并发性改变了编程逻辑。传统的编程思想是在单个CPU上执行多个逻辑任务,而今天的多核异构计算是将一个逻辑任务放在多个计算单元上。此外,代码变得越来越简洁。例如,对于需要1000行C语言代码的程序,Python可能只需要20行就可以完成,这大大提高了性能。一方面,它给开发者更多的自由,释放他们的创造力。同时,也对理解任务逻辑和合理分解任务的能力提出了更高的要求。

显然,这个世界上没有“完美”或不朽的编程语言。如果有什么共同点的话,那么只有“那些拥有最小和最干净内核的编程语言才会存在于进化的竹竿上。”你学到的任何东西都可能像菠萝罐头一样过期。

现在回想起来,VB的兴衰反映了网络时代的余晖,代表了计算机科学在编程领域的进步。当一个专业程序员的“屠龙之剑”拿在手里时,普通人也可以“一点击就发送”,数字时代真的要结束了。