Linux中国

微软 Visual Basic 之兴衰

根据 Retool 的设计总监 Ryan Lucas 所写的新 历史文章,开发微软的 Visual BasicVB)的 Alan Cooper 最初将其设想为一个“外壳构造工具包”。那是在 1987 年,当时 Windows 正在赢得越来越多的用户,但为这个操作系统编写应用却困难重重。它的原型被命名为 Tripod,能够将按钮和列表框这样的对象拖放到设计界面上。

Lucas 的文章提到,随着时间的推移,这些设计对象的命名从 “waldos” 变到 “gizmos”,又改为“controls”。

当这个项目被微软 CEO 比尔·盖茨评审时,他决定将其与即将发布的 Windows 3.0 捆绑出售。然而这未能实现,原因不太清楚,可能是对于 OS/2 的政策争论(据说 OS/2 有望取代 Windows),或者是与开发 Windows 的团队产生的冲突。

实际上,这个当时开发代号被称为 Thunder 的项目,变成了一个商业语言项目,并在 1991 年作为 BASIC 的一个版本发布。文章里记载:“最终产品让 Cooper 感到震惊,因为他非常厌恶 BASIC。”

尽管如此,这个项目标志着一个广受欢迎的编程模型的诞生,VB 对 Windows 甚至整个软件开发行业影响深远。Lucas 写道:“到 1998 年 Visual Basic 6.0 发布的时候,其地位无人能敌:所有 Windows 上进行的商业应用程序编程中有三分之二都是用 Visual Basic 完成的。全盛时期,全球近有 350 万的 VB 开发者,是 C++ 程序员的十倍还多。”

Lucas 对 Alan Cooper 及原微软 VB 团队的 Micheal Geary 进行了访谈,并把这个历史整理的过程描述为一份“出于热爱的努力”。他进一步指出:“我觉得当我们失去 Visual Basic 的同时,我们也失落了一些东西。在许多方面,过去的 25 年我们一直在追逐它做对的那些理念。”

Visual Basic 6.0,是梦想还是梦魇?

据 Lucas 透露,微软在 2002 年发布 VB.NET 的时候,犯下了一个“非强迫性错误”。虽然语言看起来很像,但没有迁移的路径,新的 .NET 功能,如完全面向对象并不是 VB 开发者们想要的。使用率开始下降,到今天,VB.NET 在 .NET 编程中的地位已经落后于占主导地位的 C#。此外,微软已经失去了其在商业应用开发中的地位,.NET 只不过是诸多热门技术之一。

然而,实际上,在 .NET 推出的时候,VB 已经开始衰退。它编程的便捷性在大型且复杂的应用中开始崩解,开发者不得不痛苦地学习像“公寓线程”这样的奇特的 COM 概念。VB 应用还必须通过直接调用 Windows API 来增强,有许多奇怪的语言特点,即使是 Bruce Mckinney 在他的《Hardcore Visual Basic》这本书的最后一章也叫它《抄起你的斧头》。

最后,一些 VB 开发者在 1990 年代末期发现,Borland 公司的一款名叫 Delphi 的工具在几乎所有方面都优于 VB:更强大,运行速度更快,编译出来的原生代码应用程序更易于部署。Delphi 的表单设计师是受 VB 影响的,并且它的发明者 Anders Hejlsberg 后来加入了微软,创建了 C# 以及后来的 TypeScript。

微软尽力让 VB 可用,确保其运行环境到今日仍被支持,并持续让 Office 中的宏语言使用它。而 .NET 平台在应对 Java 的挑战方面比 VB 更好,甚至最终以 .NET Core 的形式成为了跨平台解决方案。

但这些并没有动摇 VB 的卓越和影响力。微软仍努力追寻着 VB 对于现称为 “群众开发者” 的人群所展现出的简洁与高效,尽管有很多尝试,一直难以复制成功。你也可以在 这里 找到 更多 关于 VB 的命运和缓慢死亡的信息。

(题图:DA/7f8b8625-f569-418b-b06d-9437435473fd)

via: https://devclass.com/2023/03/20/microsofts-visual-basic-why-it-won-and-why-it-had-to-die/

作者:Tim Anderson 译者:ChatGPT 校对:wxy


本文转载来自 Linux 中国: https://github.com/Linux-CN/archive

对这篇文章感觉如何?

太棒了
0
不错
0
爱死了
0
不太好
0
感觉很糟
0
雨落清风。心向阳

    You may also like

    Leave a reply

    您的邮箱地址不会被公开。 必填项已用 * 标注

    此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

    More in:Linux中国