微软 Visual Basic 之兴衰
创始人
2024-03-02 18:14:24
0

根据 Retool 的设计总监 Ryan Lucas 所写的新 历史文章,开发微软的 Visual Basic(VB)的 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

相关内容

微软公布10月Visual...
IT之家 10 月 5 日消息,微软公布了最新的 10 月份 Vi...
2025-10-05 16:14:27
.Net实例01 Visu...
文章目录 .netcore web应用的创建请求方式ioc接口注入...
2025-05-31 00:41:00
新手小白第一次使用Visu...
新手小白第一次使用VS的简单配置教程一、安装小番茄!...
2025-05-29 23:53:59
不知道如何完成这个问题的“...
以下是一个简单的示例,演示如何创建一个基本的Visual C# W...
2025-01-12 06:30:34
不再与虚拟的Telly V...
在代码中,可以使用以下方式来表示“不再与虚拟的Telly Visu...
2025-01-11 16:30:46

热门资讯

为什么计量 IT 的生产力如此... 在某些行业里,人们可以根据一些测量标准判定一个人的生产力。比如,如果你是一个零件制造商,可以通过一个...
硬核观察 #885 苹果 AR... 苹果 AR 眼镜被无限期推迟据报道,由于技术上的挑战,苹果公司已经无限期推迟了其轻型增强现实(AR)...
8 个提升你的隐私防护的开源密... 使用一些顶级开源密码管理器,确保你的登录凭证安全无虞。密码管理器是一项非常有用的实用程序。在你想寻找...
PHP最佳实践(译) 简介PHP是一门复杂的语言,经过多年折腾,使其不同版本之间高度不一致,有时还有些bug。 每个版本都...
值得收藏的 27 个机器学习的... 机器学习 ( Machine Learning ) 有很多方面,当我开始研究学习它时,我发现了各种各...
8个有趣的Linux提示与技巧... 我们时不时给你带来关于Linux的提示与技巧。和这个系列保持一致,这里有8个我们从读者收到最有趣的提...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
2020 年的 GitHub ... 距离 2020 年结束只剩下区区 24 天,我们即将结束魔幻的 2020 ,迎来新的一年,新的一年或...
开源新闻速递:openSUSE... 今日关注openSUSE 项目组的 Dominique Leuenberger 在他的周报中说:“这...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...