VB的风起云落吧!——VB.0版的衰落

这是一篇暴露年龄的文章。你为什么这么说?因为今天的年轻程序员可能还没有接触过非常流行的 Visual Basic。二十八年前,即 1991 年 4 月,Microsoft 发布了适用于 Windows 的 Visual Basic 1.0,随后的 9 月,发布了适用于 DOS 的 Visual Basic 1.0。

这在当时引起了极大的轰动,许多专家将VB的出现视为软件开发史上的划时代事件。从目前来看,VB1.0版的功能其实是很弱的,但在推出时却是第一款“可视化”的编程软件。

这让程序员们欣喜若狂,纷纷尝试在VB平台上开发软件。到 1998 年夏天,微软发布了 VB 6,VB.NET 仍然无法完全替代这个版本。但随着 .NET 的兴起,VB 走下坡路。它是如何上升的,又是如何下降的?让我们跟随马修麦克唐纳的脚步,笑着看VB的风风雨雨吧!

关于作者:Matthew MacDonald,技术作家、教师、程序员。数十本书的作者,现在教孩子们编程和科学。

28 年后,我们终于要看到世界上最流行的语言之一 Visual Basic 开始衰落了吗?

我必须承认一件事,在我成为使用现代花括号编程语言(如 C# 和 Java(以及我们称为 JavaScript 的流行平台))的受人尊敬的开发人员之前,我曾经非常受欢迎,并且是有点过时的 Visual Basic。

坦率地说,我对 Visual Basic 的迷恋是这样开始的:在我十几岁的时候,我学会了使用 BASIC 语言进行编程,但不仅仅是任何 BASIC 语言。我从微软老式 DOS 操作系统上的开创性 QuickBASIC 环境开始。我仍然记得在蓝色背景上用白色文本编写代码。

QuickBASIC 在 1998 年是一种令人难以置信的编程语言。您可以编写没有笨拙的行号的代码,在您键入时实时捕获语法错误,并直接从开发环境而不是命令行启动程序。完成编码后,您还可以使用这些软盘与您的朋友分享您的程序:

今天,QuickBASIC 只是对遥远过去的另一种好奇。真的吗?一个名为 QB64 的创新项目创建了一个现代 QuickBASIC 分叉。它可以在没有模拟器的情况下在 Windows、MacOS 和 Linux 上运行。当您使用 QB64 运行程序时,它使用了一个巧妙的技巧:首先将您的 BASIC 代码转换为 C++,然后编译它。

经典 VB 和视觉时代

QuickBASIC 对于一个古老的基于文本的计算机系统来说是一项令人印象深刻的壮举。但当微软发布 Windows 时,游戏发生了变化,将 PC 用户带入了按键和点击的图形世界。在微软发布第一个真正成功的 Windows 3.0 的同时,他们还发布了 Visual Basic 1.0。

这是一个全新的事物。您可以通过在窗口表面绘制按钮来为程序创建按钮,就好像它是某种艺术画布一样。要让按钮做某事,你只需要在设计环境中,双击按钮并编写一段代码即可。

此外,您没有使用神秘的 C++ 代码,也没有使用大量的类、复杂的内存管理和对 Windows API 的晦涩调用。相反,您像文明人一样编写友好的 VB 代码。

所有的图形魅力都令人印象深刻,但 VB 成功的真正秘诀在于它的实用性。开发人员没有其他工具可以像 VB 一样快速绘制完整的用户界面和编写代码。虽然历史学家喜欢谈论 Visual Basic 的可视化部分,但它的“签名”功能与图形小部件无关。

相反,VB 以一种名为“编辑并继续”的传奇特性而闻名,它允许开发人员运行他们的程序、查找和修复问题,然后继续编写新代码。这与人类已知的几乎所有其他编程环境都非常不同,后者迫使开发人员重新编译他们的工作并在每次更改后重新开始。

最初的 Visual Basic 蓬勃发展了大约十年。最初是一个对初学者友好的开发环境,现在已经发展成为一个对认真的程序员来说足够好的工具。随着经典 Visual Basic 的最后一个版本 VB 6 的发布,估计用 VB 编写的代码量是用难用的 C++ 编写的代码量的十倍。而且,它们不仅仅是在模仿玩具应用程序。

Visual Basic 进入了公司办公室,甚至通过另一种非常流行的技术 ASP(Active Server Pages)连接到 Web。现在,您可以创建与 VB 组件交互的网页,称为数据库,并动态编写 HTML。几乎所有这些都是在没有结构的情况下发生的,除非您选择自己创建一个。它是 Visual Basic 的一个不成文的主题,它现在给你自由,但你以后会后悔的。

经典的 VB 问题

经典VB在很多圈子里都是臭名昭著的。面向对象的狂热者经常抱怨VB 缺乏对继承的支持。(实际上这是一个奇怪的批评,因为继承对于不太熟练的开发人员来说往往是一种自取其辱的好方法,而且这是 VB 不需要的那种特性。)事实上,Classic VB 不是面向对象的“懒人”。在其生命周期结束时,它已经支持接口、多态性和类库,所有这些都是从 COM 借来的,COM 是组件技术的核心部分,硬链接到每个版本的 Windows 中。

经典 VB 的真正问题在于它太成功了。它在减少新程序员的学习障碍方面非常有效,几乎任何人都可以使用 VB 进行编程。粗心的新手、无聊的公司员工和暑期学生都蜂拥而至,以解决在任何其他平台上都更加困难的挑战,到处都是意大利面条代码。

换句话说,因为VB好用,即使你不是受过训练的程序员,VB也好用,所以很多没有受过专业训练的程序员都在用VB。VB 从来没有做任何事情来鼓励他们改正他们的坏习惯。

VB.Fred 和 .NET 解决方案

快进到 2002 年,微软正在做它最擅长的事情,通过引入一种全新的做事方式来破坏自己的开发生态系统。

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

图片[1]-VB的风起云落吧!——VB.0版的衰落-老王博客

微软将这次重新启动命名为 .NET 有很多可疑的原因,包括 Internet 技术仍然是新的和令人兴奋的事实,以及因为 .NET 包含 Microsoft 打算推广的 Web 服务功能。它深受 Java 的影响,包括用于与数据库通信、构建网站、编写多线程程序、通过套接字建立连接以及业务开发人员可以想象的几乎所有用例的工具。

唯一的问题是微软不得不放弃几乎所有的经典 VB 以获得这些新功能。

如果仔细观察,新版本的 VB.NET 看起来还是一样的。但它仍然有许多大大小小的突破性变化。从总体上看,旧的 VB 程序将被困在旧的编程世界中,而一个非常糟糕的迁移向导几乎没有改变这一点。在小范围内,经典 VB 的程序员不得不改变他们计算数组元素的方式。他们不能再像正常人一样从 1 开始。现在他们必须从 0 开始,就像正式的程序员一样。

还有一个大问题:开发人员是出了名的抱怨者,而 VB 开发人员尤其糟糕。很快,一群有影响力的 VB 开发人员将微软的新编程环境命名为 VB.Fred,强调无论它是什么,新语言都不是 Visual Basic。

什么决定了 Visual Basic 的命运

您可能会认为 .NET 的变化破坏了 VB 的基础,并使 VB 不可避免地走向衰落。但事实并非如此。事实上,VB.NET 已经变得非常流行,尽管它朝着新的方向发展,并做出了一些突破性的改变,使得优秀的经典 VB 代码无法辨认。这是因为 VB.NET 提供了 VB 开发人员从未有过的东西:尊重。

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

但是,作为另一种受人尊敬的编程语言vb程序设计小游戏,它也存在一个问题。对 VB 的热情已经消退,它不再是许多人的首选语言。不是因为 VB 变了,而是因为 C# 变了。

正如 VB 获得与 C# 相同的功能,C# 获得与 Visual Basic 相同的便利。例如,.NET 的类型安全和内存管理特性意味着 C# 开发人员永远不必担心内存泄漏,就像 VB 开发人员一样。

换句话说,C# 现在有了一个“护栏”,可以保护业余爱好者、学生和新程序员,而不会放弃它的权力。突然之间,VB 不再是什么特别的东西,它只是一个有能力的程序员工具包中的另一个工具。

Visual Basic 的当前状态

今天,Visual Basic 处于一个奇怪的位置。在专业开发人员中,几乎没有人使用 Visual Basic,它甚至没有出现在专业开发人员调查列表或 GitHub 存储库中。

但是,Visual Basic 仍然存在,将 Office 的宏结合在一起,为旧的 Access 数据库和旧的 ASP 网页提供支持,并吸引 .NET 新手。TIOBE 指数试图通过查看搜索引擎结果来衡量一种语言的受欢迎程度,它仍然将 VB 列为最受关注的编程语言的前五名。

但势头似乎最后一次发生了变化。2017 年,微软宣布将开始向 C# 添加新的语言功能,这在 Visual Basic 中可能从未有过。此更改不会使 VB 回到丑小鸭状态,但它确实删除了 VB 的一些 .NET 状态。

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

Visual Basic 本来应该很适合教育市场。但即便如此,它仍然是一个“败家子”,像 C# 和 Python 这样的现代语言现在已经足够简单和安全,可以作为他们的第一语言学习。

如果你需要教孩子一些更简单的东西,市场上充斥着像 Scratch 这样的图形编程工具。大括号编程语言如 C#、C、JavaScript 也有另一个吸引力,因为它们都有自己的语法。因此,学习过一种编程语言的人可以很快精通另一种编程语言。

随着 Web 开发的发展,Microsoft 正在眼睁睁地看着机会溜走。谁不会被与 VB6 一样易于使用、编译为 JavaScript 并与 HTML 表单设计器配对的 VB 版本所吸引?

是的,它不是构建下一代 Google 地图的正确工具,但它可以重振 Visual Basic 的吸引力,允许业务开发人员、学生和业余爱好者创建简单的在线应用程序,而无需使用笨拙的 JavaScript。相反,微软创建了一个名为 LightSwitch 的基于 VB 的产品,该产品在 Silverlight 浏览器插件中消失了。

如果微软为大众开发另一种编码产品,它更有可能是像 PowerApps 这样的低代码模板驱动工具。

Visual Basic 以前并非没有威胁,但这次感觉不同。曾经是世界上最流行的编程语言之一的太阳似乎终于要落山了。即使这是真的vb程序设计小游戏,Visual Basic 也不会在几十年内消失。相反,它将只是另一个遗留产品,一个没有激情也没有未来的被忽视的工具。我们是否会失去一些特别的东西,或者最终让一只老狗摆脱痛苦,这完全取决于你。

原文链接:Visual Basic 的兴衰

延伸阅读

构建大型 React 应用程序的最佳实践

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论