Visual Basic 为何胜利,又为何消失

2024年 1月 5日 116.6k 0

VB已经退出软件开发者的世界有二十几年了,当初出现的时候,它曾让人们的眼前一亮,原来软件开发如此直观而有趣。

但是因为微软高层的一个决定,这个轻巧易学,可能改变世界的开发IDE被“升级”了。

对于VB,Retool 的设计主管 Ryan Lucas 最近撰写了一篇回忆型文章。

那是在 1987 年,当时的 Windows 系统非常受欢迎,也获得了大量终端用户,但是为该操作系统编写应用程序却很困难。

已经是微软开发人员的 Alan Cooper 曾经领衔开发过一个产品,允许将按钮和列表框等对象拖放到设计表面上,定位为“外壳构建工具包”。

根据Lucas的文章描述,这些设计对象改过很多次名字,从“waldos”到“gizmos”再到“controls”等。

该项目给当时的微软CEO比尔盖茨看了,他同意将其与即将推出的 Windows 3.0 捆绑在一起。但并没有立即执行,原因尚不明朗,但可能包括关于 OS/2 的原因,据称 OS/2 将取代 Windows,或者与构建 Windows 的团队本身发生冲突。

该项目最开始的代号为 Thunder,成为一个商业语言项目,并于 1991 年作为名为 “BASIC”的版本发布。

最终的产品让Cooper感到震惊,要知道他相当讨厌 BASIC。

尽管如此,它后变成一个流行的编程模型的开端,而且 VB 对于 Windows 和一般软件开发的重要性怎么强调都不为过。

到 1998 年 Visual Basic 6.0 发布时,它的“统治地位”已经是绝对最高。Windows PC 上三分之二的商业应用程序编程都是用 Visual Basic 完成的。在鼎盛时期,Visual Basic 在全球拥有近 350 万开发人员,是 C++ 程序员数量的十倍还多。

Lucas 采访了 Alan Cooper 以及最初的 Microsoft VB 团队的 Micheal Geary,将这段历史描述为一个“充满爱心的项目”。他补充说:我认为,当失去 Visual Basic 时,我们就失去了一些重要的东西。从很多方面来说,过去 25 年我们一直在追寻那些非常正确的想法。”

VB 的历史

Visual Basic 的第一个版本 1.0 于 1991 年发布。其通过拖放设计创建用户界面的灵感来自 Alan Cooper 在 Tripod(Cooper 公司)开发的 Beta 生成器。

微软与 Cooper 及其合作伙伴签订了一份合同,将 Tripod 打造为一个可针对 Windows 3.0 进行编程的系统。该系统是以“Ruby”为代号开发,当然它与现在的Ruby语言没有任何关联。

微软后来决定使用Ruby与Basic语言结合来开发Visual Basic。

Ruby 为 Visual Basic 编程语言贡献了界面,也就是“可视化”组件。然后将其与嵌入式 BASIC 引擎合并,该引擎是为微软已停止使用的“Omega”数据库系统开发的。

1997年2月,Visual Basic 5.0 推出,微软还发布了兼容32位Windows版本的Visual Basic。喜欢用 16 位编写程序的程序员可以在 4.0 到 5.0 之间的版本中完成。除此之外,用 Visual Basic 5.0 编写的程序也可以轻松地转换为 4.0 版程序。5.0版本还具有与Windows本机执行代码编译的能力,并引入自定义用户控件。

Visual Basic 6.0 于 1998 年中期推出。该版本具有许多增强功能,包括创建基于 Web 应用程序的能力。微软对 Visual Basic 6.0 的扩展支持于 2008 年 3 月停止。但是,Visual Basic 6 开发环境的基本部分仍然可以在所有 32 位的Windows 中运行,包括 Windows 8.1。

在停止主流和扩展对 Visual Basic 6.0 的支持后引起了许多开发者的关注。随后,社区成员创建了一个用户组,他们共同签署了一份请愿书。该请愿书的基本目的是要求微软确保VB产品保持活力。然而并没有达到其目的。

Lucas 表示,微软在 2002 年发布 VB.NET 时犯了一个“非受迫性错误”。尽管和VB语言相似,但没有提供迁移的路径和工具,并且很多 VB 开发人员不想要新的 .NET 功能(例如完全面向对象),从而导致使用率下降,如今 VB.NET 已成为 C# 的一个可怜的表亲,后者现在 .NET 编程中占据主导地位。

从此,微软失去了对商业应用程序开发的主控,.NET 只是业界众多流行开发方法之一。

当时的现实是,当 .NET 发布时,VB 便开始节节败退。它原来的编程便利性在大型、复杂的应用程序中变得不那么容易,开发人员不得不为晦涩难懂的 COM 概念(如单元线程等)而烦恼。

新的VB.NET 应用程序还必须通过直接调用 Windows API 来补充,并且VB.NET 语言有许多奇怪之处,例如作者 Bruce Mckinney 在他的书中《Hardcore Visual Basic》的最后一章称为“带上你的斧头”。

在 20 世纪 90 年代末,一种名为 Delphi 的开发工具发布了,它是一个叫做 Borland 的公司开发的,它在功能方面都优于 VB。比如功能更强大、更快,并且编译本机代码应用程序更容易部署。Delphi 的表单设计器得到了 VB 的影响,它的发明者 Anders Hejlsberg 后来却跳槽到了微软,之后他创建了 C# 和后来的 TypeScript。

微软在 VB 方面花了很大努力,以确保运行时到现在仍然受到支持,比如继续将其用作 Office 中的宏语言。作为 Java 的对手,.NET 平台为企业提供了非常好的服务,最终成为以 .NET Core 为引导的跨平台解决方案。

而这些都没有达到 VB 的简单性、生产力与影响力。

而微软现在仍然在做很多尝试,一直在努力为“公民型开发者”重新夺回原始 VB 的简单性与生产力。

作者:洛逸

参考:

https://devclass.com/2023/03/20/microsofts-visual-basic-why-it-won-and-why-it-had-to-die/?td=rt-9cs

相关文章

塑造我成为 CTO 之路的“秘诀”
“人工智能教母”的公司估值达 10 亿美金
教授吐槽:985 高校成高级蓝翔!研究生基本废了,只为房子、票子……
Windows 蓝屏中断提醒开发者:Rust 比 C/C++ 更好
Claude 3.5 Sonnet 在伽利略幻觉指数中名列前茅
上海新增 11 款已完成登记生成式 AI 服务

发布评论