← 返回信息流
AI 资讯Hacker News·3 天前

Windows 3.1 时代的 Visual Basic 编程

原标题:Visual Basic on the PC with Windows 3.1

速览

本文介绍了在 Windows 3.1 操作系统上使用 Visual Basic 进行程序开发的历史背景。Visual Basic 作为微软早期的可视化编程语言,在 90 年代初极大降低了 Windows 应用开发门槛。文章通过具体示例展示了当时的编程环境和开发流程,为理解现代 IDE 的演进提供了珍贵视角。

AI 深度解读

背景

本文源自 Hacker News 社区讨论,作者以 Windows 3.1 上的 Visual Basic 为切入点,深入探讨了微软创始人比尔·盖茨的商业哲学与策略。文章不仅回顾了 Visual Basic 这一经典可视化编程工具的起源,更通过对比 Apple 的 HyperCard,揭示了微软在个人计算时代如何通过"吸收"与"控制"策略构建其软件帝国。

核心内容

盖茨的垄断野心

文章开篇将比尔·盖茨与埃隆·马斯克进行类比,指出这类人物对影响力、权力和财富的无限渴求。作者引用 Jacqui Morby 在《The Computer Chronicles》中讲述的故事:在 Rosen Forum 小组讨论中,Gary Kildall 谈到 CP/M 的市场前景时说"这个市场很大,可以容纳很多公司",盖茨立即打断道:"不,只会有一家公司。"

这种"零和游戏"思维贯穿了微软的发展史。作者提到,盖茨似乎对创造创新事物本身兴趣不大,更关心的是确保其他人的创新都有对应的微软版本。Andy Hertzfeld 回忆,在与苹果合作开发 Macintosh 软件时,盖茨深入追问与微软业务无关的系统细节,随后 Windows 1.0 发布,令乔布斯深感沮丧。

从 Tripod 到 Visual Basic:盖茨的"吸收"策略

文章核心讲述了 Visual Basic 的诞生过程,这堪称盖茨"吸收"策略的经典案例。

1987 年,软件开发者 Alan Cooper 在 HyperCard 发布和微软宣布采用 DLL(动态链接库)的启发下,萌生了创建可视化应用构建器的想法。他将其命名为 Tripod,本质上是一个基于 DOS 的可视化外壳构建工具——用户可以自定义 Windows 外壳。

微软工程师 Gabe Newell 对 Cooper 的演示印象深刻,安排盖茨观看。据 Ryan Lucas 的文章《Something Pretty Right》记载:

"他惊呆了,从未见过这样的东西,"Cooper 回忆盖茨的反应,"他转向随行人员问道:'为什么我们不能做这样的东西?'"

作者分析,"Why can't we do stuff like this?"这句话极具心理揭示性。作为 Very Rich Guy™,盖茨想要什么就能得到什么。就像付费请人代练游戏角色一样,100 万美元加上一份合同后,Tripod(更名为 Ruby)便归微软所有。

Cooper 坚持认为 HyperCard 对 Tripod 没有影响,但盖茨显然在思考 HyperCard。在 1989 年 10 月《BYTE》杂志的文章《The 25th Birthday of BASIC》中,盖茨写道:

"HyperCard 提供了视觉编程与传统过程式编程结合的有趣示例。(HyperTalk)允许你创建与卡片及其链接信息相关的过程……它形成了过程式编程与对象级编程之间可理解的中间步骤。"

最终,Ruby 被重构得与 Tripod 仅有表面相似。其专用脚本语言被 BASIC 变体取代,程序目标也不再是基于微软 DLL 构建外壳,而是为微软自己的外壳 Windows 3.0 构建应用程序。Visual Basic 诞生了,这可以说比 Cooper 的原始愿景更具深远意义。

Cooper 后来承认:

"我觉得我写了一些很酷的软件,但我从未想过它会成为微软成功核心的编程控制面板……这就是比尔·盖茨之所以是比尔·盖茨的原因。"

Visual Basic 与 HyperCard 的历史对比

作者指出,Visual Basic 和 HyperCard 都是各自平台上的可视化编程解决方案。Visual Basic 拥有自己的专属杂志,即使在微软 2008 年停止支持后,仍激励着一代又一代开发者。直到 2023 年,微软仍需就"经典"Visual Basic 的支持计划发表官方声明,因为它支撑着大量定制遗留应用程序的运行——这是 HyperCard 无法比拟的。

技术环境搭建

作者详细记录了复现 Windows 3.1 环境的配置:

  • 模拟器:DOSBox-X 2026.01.02,Windows x64 版本
  • CPU 设置:Pentium
  • DOS 版本:6.22
  • 显示设置:1024 x 768,32K 颜色
  • 内存:DOS 下 mem 显示总内存 262,144K,但 Free 仅报告 1,609K(作者指出 16 位 Windows 应能识别 4MB 而非仅 2MB)
  • 对比软件:Toolbook、Actor、ObjectVision、Acrobat Distiller
  • Visual Basic 3.0:报告 386 增强模式已启用,可用内存 60,320 KB

Visual Basic 3.0 是该系列中最后一个纯 16 位应用,也是首个包含强大数据库功能的版本,真正释放了产品潜力。

学习曲线反思

作者以幽默自嘲的语气描述了学习 Visual Basic 的挑战。HyperCard 有 1000 页的教程书籍,而 Visual Basic 附带 3000 页文档,更不用说海量的第三方出版物——这本身就是一个产业。

作者调侃道,考虑到自己"又向那个伟大的蓝屏(死机)迈进了一步",必须考虑学习速度。面对当时的培训教材,首要问题是"我有多蠢?"他自称"大笨蛋",但不喜欢别人这么叫他。他能处理复杂材料,但时间有限。

作者列举了各种速成课程的荒谬承诺:

  • "一周学会"——太快,可能到周一就忘光
  • "周末速成"——到周二也忘得差不多
  • "Proglaming"(编程+游戏)——听起来有趣,但一周还是太快

最终作者选择了节奏适中的方案:"足够慢让老人跟上,足够快在被迫住进养老院前完成。"

关键要点

  • 盖茨的商业哲学:追求绝对垄断,"只会有一家公司"的零和思维
  • 创新策略:不追求原创创新,而是确保所有竞争创新都有微软对应版本
  • "吸收"战术:通过收购(如 Tripod/Ruby)快速获取他人创新成果
  • Visual Basic 的起源:从 Alan Cooper 的 Tripod 到 Ruby,最终演变为 Visual Basic
  • 技术重构:Ruby 的专用脚本语言被 BASIC 取代,目标从构建外壳转向为 Windows 构建应用
  • 历史地位:Visual Basic 支撑大量遗留应用,影响力延续至 2023 年后
  • 与 HyperCard 对比:两者都是可视化编程先驱,但 Visual Basic 的企业级生命力更强
  • **学习
查看原文 →stonetools.ghost.io