Visual Basic 终于要衰落了吗?

栏目: ASP.NET · 发布时间: 4年前

内容简介:28年过去了,世界上最流行的语言之一Visual Basic终于要衰落了吗?

Visual Basic 终于要衰落了吗?

28年过去了,世界上最流行的语言之一Visual Basic终于要衰落了吗?

Visual Basic 终于要衰落了吗?

作者 |  Matthew MacDonald

译者 |  谭开朗 ,责编 | 郭芮

出品 | CSDN(ID:CSDNnews)

以下为译文:

我要坦白一件事:在我成为一名使用C#、 Java 、以及JavaScript等现代编程语言的受人尊敬的开发者之前,我曾是大受欢迎又有些不合时宜的Visual Basic的忠实粉丝。

坦白说来,我对Visual Basic的痴迷是这样开始的:在我的孩童时期,我就学会了使用BASIC语言编程。我是从Microsoft那个古董级的DOS操作系统上,通过极具创新性的QuickBASIC环境开始的。直至今日,我仍记得在樱桃蓝的背景下用白色文本来编写代码的场景。

Visual Basic 终于要衰落了吗?

在1988年,QuickBASIC是一种不可思议的编程语言。你可以编写不带笨拙行号的代码,在键入代码时能实时捕获语法错误,并支持直接从开发环境中启动程序,而无需通过命令行的方式来启动。当你完成代码编写后,你还可以通过这些软盘把程序分享给好友:

Visual Basic 终于要衰落了吗?

现如今,QuickBASIC仅仅是对遥远过去探索的另一种存在。真的是这样吗?一个名为QB64的创新项目创造了现代的QuickBASIC的复刻版。它无需模拟器就可以在Windows、MacOS和 Linux 系统上运行。当你用QB64运行一个程序时,它有一个很巧妙的方法——先将BASIC代码编译成C++再进行下一步编译。

Visual Basic 终于要衰落了吗?

经典VB和可视化时代

对于传统基于文本的计算机系统来说,QuickBASIC是一项令人难忘的壮举。但当Microsoft发布Windows,将PC用户引领到一个由按键和点击组成的图形世界时,游戏规则发生了改变。在Microsoft发布Window 3.0——真正成功的第一版本——与此同时,他们也发布了Visual Basic 1.0。

这是个全新的事物。你可以通过在窗口界面绘制按钮来为程序创建按钮,就像某种艺术画布一样。要让按钮执行某些操作,你要做的就是在设计环境中进行编码,然后双击这个按钮即可。你没有使用复杂的C++代码,也没有使用成堆的类、复杂的内存管理以及没有对晦涩难懂的Windows API的调用。与之相反的,你就像是一个文明人,编写了一目了然的VB代码。

Visual Basic 终于要衰落了吗?

所有的这些图形化固然极具吸引力,但VB成功的真正秘诀在于它的实用性。开发人员找不到像VB这样能绘制出一个完整的用户界面并实现快速编码的工具。尽管历史学家们喜欢高谈阔论Visual Basic的可视化,但它的“招牌”能力却与图形化无关。相反,VB因一个传奇的特性“编辑并继续”而出名,它支持开发人员运行程序、发现并解决问题以及继续使用最新代码。这与众所周知的、几乎所有的其他编程环境截然不同,这些环境需要开发人员重新编译,并在每次更改后重新开始。

Visual Basic蓬勃发展了近十年。从一开始的适用于初学者的开发环境,后来发展成给 程序员 使用的专业工具。随着VB 6的发布(这是经典Visual Basic的最后一个版本),据估计,用VB编写的代码量是C++的十倍。Visual Basic通过ASP(Active Server Pages,动态服务器页面)进入公司的办公室甚至连到网络,这是另一种非常流行的技术。现在,你可以创建与VB组件交互的Web网页,称之为数据库,并可以动态编写HTML。

所有的这些几乎都是在没有结构的基础上发生的,除非你自己创建一个结构。这是Visual Basic的一个不成文主题,它让你此刻自由,但往后你可能会后悔的。

Visual Basic 终于要衰落了吗?

经典VB的问题

VB在很多领域里声名狼藉。

对于面向对象,VB不支持继承。这是一个令人匪夷所思的争议,因为对于初级开发者来说,使用继承常常是搬起石头砸自己的脚,而这正是VB所不需要的功能。实际上,经典VB并非完全不支持面向对象。在完成其生命周期时,它已经支持众多的接口、多态性和类库,所有这些都是从COM借鉴来的,COM是组件技术的核心,它在Windows的任一版本中都是必不可少的。

经典VB的真正问题在于它太过成功。它极为有效地降低了初级程序员的学习难度,使得几乎所有人都可以通过VB来进行编程。粗心大意的新手、一成不变的公司职员和暑期学生都纷纷加入进来,解决了在其他任何平台上更为困难的问题,到处都是机械式的代码。

换言之,即使你不是一名训练有素的程序员也可以轻易上手VB,因为VB太好用了,所以都是新手在用。而VB也从来没有采取措施来鼓励程序员纠正不良的开发习惯。

Visual Basic 终于要衰落了吗?

VB.Fred与.Net解决方案

我们快进到2002年,此时的Microsoft正在做它最擅长的事——颠覆自己的开发生态系统,引入全新的工作模式。

这一次,这个项目是对COM的大规模重构,而组件技术是支撑Windows(间接的经典VB)的基础。对于一家已经下过几次赌注的软件巨头来说,这是孤注一掷的时刻。

Visual Basic 终于要衰落了吗?

Microsoft之所以将重新启动命名为.NET是因为一些不确定因素,其中包括互联网技术仍然是令人耳目一新的,以及.NET包含了 Microsoft一心要推广的Web服务功能。它深受Java的影响,并且包含了许多用于与数据库通信、构建网站、编写多线程程序、通过套接字建立连接的工具——而这些几乎是所有业务开发人员能想象到的用例。

唯一的问题是,为了获得这些新特性,Microsoft不得不放弃几乎所有的经典VB。

Visual Basic 终于要衰落了吗?

如果你仔细观察的话,就会发觉新版本的VB.NET看起来还是老样子,但它还是有许多大大小小的突破性变化。从大的方面来说:旧的VB程序受困于老旧的编程世界中,而一个极其糟糕的迁移向导几乎不能改变这一点。从小的方面来说:经典VB的程序员必须改变他们计算数组元素的方式。他们再也不能像常规那样从1开始计数,现在他们必须从0开始,就像正规的程序员一样。

还有一个大的方面:“编辑并继续”的特性已不复存在。

开发人员喜欢吐槽已不是新鲜事了,而VB开发人员尤甚。不久后,一群有影响力的VB开发人员将Microsoft的新编程环境命名为 VB.Fred,并强调无论它是什么,这种新语言都不是Visual Basic。

Visual Basic 终于要衰落了吗?

是什么宣判了Visual Basic的命运?

你可能会认为,是.NET的变化打破了VB的基础,并让VB不可避免地走向衰落。但事实并非如此。

事实上,尽管VB.NET朝着一个新的方向发展并作出了一些突破性的改变,这使得优秀的经典VB代码成为无人能识的代码,但它却变得非常受欢迎。那是因为VB.NET提供了VB开发人员以前从未有过的东西——尊重。

在.NET世界中,VB和C#处于平等的地位。每一行VB代码都可以转换成等效的C#代码行,反之亦然。两种语言都具有相同的功能,使用相同的组件,并编译为完全相同的形式(称其为中间语言)。VB终于摆脱了“丑小鸭综合症”。

但是,作为另一种受人尊敬的编程语言也存在一个问题。人们对VB的热情消失了,它不再是大家的首选语言了。这不是因为VB变了,而是因为C#变了。

正如VB获得了与C#相同的功能一样,C#也与Visual Basic一样易于上手。例如,.NET的类型安全和内存管理功能意味着C#开发人员永远无须担心内存泄漏问题,这和VB开发人员一样。

换句话说,C#现在有了保护业余爱好者、学生和初级程序员的“护栏”,而又不放弃它的功能。突然之间,VB不再是什么特别的稀罕物了,它只不过是程序员工具包中的又一个 工具 罢了。

Visual Basic 终于要衰落了吗?

Visual Basic 当前的现状

如今,Visual Basic正处于一个尴尬的境地。在专业开发人员中,几乎没有人使用Visual Basic,它甚至都没有出现在专业开发人员调查中的清单,也没有出现在GitHub存储库中。然而,Visual Basic仍然存在,它将Office的宏连接在一起,给旧的Access数据库和古老的ASP网页提供支持,并吸引着.NET新手。“TIOBE 索引”试图通过查看搜索引擎的结果来衡量语言的流行程度,发现VB仍然排在最受关注的五大编程语言之列。

但这种势头似乎已经发生了最后一次转变。2017 年,Microsoft宣布,它将开始为C#添加新的语言功能,而这些功能可能永远不会出现在Visual Basic中。这一变化并没有使VB回到丑小鸭状态,但它确实消除了VB的一些.NET状态。

事实上,将VB边缘化的趋势已经沿存多年了。专业的开发人员都知道.NET的关键部分是用C#编写的,他们知道C#是演示文稿、书籍、课程和开发者研讨会的首选语言。如果你想使用VB,它并不会影响你构建的应用程序,但它可能会妨碍你和其他开发人员进行交流。

Visual Basic本应在教育市场有一个天然的契合点。但即便如此,它仍然是个“败家子”,像C#和 Python 这样的现代语言已经足够简单、安全,完全可以作为他们的第一门语言来学习。如果你需要教给小孩更简单的东西,市场上到处都是像Scratch等图形化的编程工具。像C#、C、JavaScript这样的大括号编程语言也有另一种吸引力,因为它们之间存在着相通的语法。因此,学过一种编程语言的人很快就能熟练掌握另一种语言。

随着Web开发的发展,Microsoft正眼睁睁地看着机会流失。这样的VB版本:和VB6一样容易使用,可以编译成JavaScript并与HTML表单进行设计器配对,谁能不被它所吸引呢?是的,它并不是构建下一个Google Maps的最适合工具,但它可以重新唤起Visual Basic的吸引力,让商业开发人员、学生和爱好者创建简单的在线应用程序,而不必像JavaScript那样笨拙。相反,Microsoft创造了一个基于VB的产品,叫做LightSwitch,但它随着Silverlight浏览器插件的消失而消失。如果Microsoft开发出另一款面向大众的编码产品,它更有可能是一种低代码模板驱动的工具,比如PowerApps。

Visual Basic以前也不是没受到过威胁,但这一次感觉不一样了。作为世界上曾经最流行的编程语言之一,Visual Basic似乎终于要落幕了。即使这是真的,Visual Basic在近几十年内也不会消失。相反,它将会成为另一种遗留产品,一个被忽视的没有激情也没有未来的工具。不管我们失去了什么特别的事物——或者最终就像帮一条苟延残喘的老狗摆脱痛苦一样——这一切都由你来决定。

原文:https://medium.com/young-coder/the-rise-and-fall-of-visual-basic-f422252349a6

作者:Matthew MacDonald,技术作家、教师、程序员。著有几十本图书,现在从事编程和科学教育。

本文为 CSDN 翻译,转载请注明来源出处。

Visual Basic 终于要衰落了吗?

 热 文推 荐 

如何向父母解释什么是爬虫?

小米崔宝秋:小米 AIoT 深度拥抱开源

☞独家 | Vitalik Buterin:以太坊2.0之跨分片交易

☞如何在标准的机器学习流程上玩出新花样?

☞面试官:你简历中写用过docker,能说说容器和镜像的区别吗?

☞C++、Python、Rust、Scala构建编译器的差异性究竟有多大?

☞马云曾经偶像,终于把阿里留下的1400亿败光了!

点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章。

你点的每个“在看”,我都认真当成了喜欢


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Pro CSS and HTML Design Patterns

Pro CSS and HTML Design Patterns

Michael Bowers / Apress / April 23, 2007 / $44.99

Design patterns have been used with great success in software programming. They improve productivity, creativity, and efficiency in web design and development, and they reduce code bloat and complexit......一起来看看 《Pro CSS and HTML Design Patterns》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

html转js在线工具
html转js在线工具

html转js在线工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具