Borland Turbo Pascal 7 回顾:Turbo Pascal 系列的巅峰与终点
来源标题:They don't make 'em like that any more: Borland Turbo Pascal 7
Borland Turbo Pascal 7(即 Turbo Pascal for Windows 1.5)是 Turbo Pascal 系列的巅峰,也是该系列的终点。它采用“book licensed”授权模式,一份拷贝可供多人轮流使用,且即便以软盘分发也没有拷贝保护。Turbo Pascal 最终让位于 Delphi,后者虽具技术优势,却未能产生同等影响。
以下正文由 AI 翻译自 Hacker News(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
Borland 的 Turbo Pascal 是有史以来最成功的编程工具之一。它引入了诸如集成源码级调试这样的开发技术,这些技术今天我们习以为常,但在当时却是革命性的。
TP 7,也被称为 Turbo Pascal for Windows 1.5,是 Turbo Pascal 系列的巅峰,也是它的终点。“Turbo”这个名字曾与被视为爱好者产品的软件联系在一起——“Borland Pascal”则是另一个价格昂贵得多的产品。但 Turbo Pascal 已经足以应付一些相当规模的应用程序,而且价格非常亲民。它还采用了“按书授权”的模式,我认为这在软件行业当时是件新鲜事。你可以买一份 TP,然后任意数量的人都可以使用它——但同一时间只能一个人用。即使它是以软盘形式分发的,也没有任何拷贝保护。(Turbo)Pascal 最终让位给了 Delphi,后者尽管在技术上有其优点,却从未产生过同样的影响力。
90 年代我用 TP 7 编写医学影像软件,运行在 Windows 3.1 下——那在当时是个很棒的操作系统。和之前的版本一样,Windows 3.1 本质上仍然是 MSDOS 的扩展,但用了一些巧妙的手法让它能够(勉强)多任务并访问更多内存。它有一个简单、一致的用户界面模型——对用户和程序员都是如此。在那个时代,它还没有那些浪费资源、令人烦躁的反功能,而正是这些反功能让现代 Windows 用起来如此令人沮丧。所以 Windows 3.1 是我们都希望自己的应用程序支持的平台——倒不是说当时有多少其他选择。
和许多其他程序员一样,我专门为了使用 TP 7 而学习了 Pascal 编程语言——那些年我本质上是个 C 程序员,但在 C 里为 Windows 编程是件可怕的工作。坦白说,今天也好不到哪去。过去和现在一样,你都必须组合一大堆命令行工具,这些工具以难以理解的文本文件作为输入。TP 7 自动化并隐藏了所有这些令人讨厌的东西。
问题不仅仅是工具:用户界面模型本质上是面向对象的;但 C 语言并不容易以面向对象的方式编程。TP 5 将基本的面向对象概念引入了 Pascal 语言,而这些概念后来被证明至关重要。Windows 特有的功能是由一个叫做 Object Windows Library 的东西提供的:一个相对厚重的、面向对象的封装层,包裹在基本的 Windows C API 之上。据我回忆,Borland 比 Microsoft 更早为 Microsoft Windows 推出了面向对象的编程库——而且 Borland 的更好。
OWL 让创建美观的用户界面变得容易,还带点视觉效果。那个熟悉的“绿色对勾按钮”就是 OWL 的一项增强,它装点了如此多的 Windows 应用程序,以至于最终成了一个令人厌烦的陈词滥调。
总而言之,用 Turbo Pascal 7 为 Windows 编程比其他任何方式都要容易得多。它不仅提供了一个与 Windows 用户界面工作方式相匹配的编程模型,应用程序本身也有 Windows 图形界面——当时许多 Windows 编程工具实际上运行在 MSDOS 下,而且完全是基于文本的。TP 7 还拥有完全图形化的工具来设计用户界面元素,比如菜单和图标。用 Windows 记事本通过一个格式晦涩的定义文件来布局菜单,从来都不是什么愉快的体验。Microsoft 确实为这类操作提供了图形化工具,但 Turbo Pascal 将它们整合进了一个无缝的 IDE。我只需按 F7 键就能构建并运行我的程序。我甚至可以通过点击一行代码来为调试器设置断点。正如我所说,今天这些都很平常,但对早期的 Windows 编程来说是革命性的。
但真正让 TP 7 与众不同的是它的 CP/M 血统。Turbo Pascal 经由 CP/M 和 MSDOS 来到 Windows,这意味着它有一个专为在紧张的内存和相对较慢的 CPU 下运行而设计的编译器核心。在大多数编译器不得不在磁盘上写一堆中间文件的日子里,TP 只是在内存中构建一切。它使用由非常熟练的人用汇编语言编写的高度优化的代码来实现这一点。今天你的编译器吐出一堆临时文件没什么大不了的,因为磁盘存储又快又便宜。但在软盘时代,你必须尽量减少磁盘访问。不幸的是,你也必须尽量减少内存使用,因为内存也不多。为 CP/M 编程需要真正的技巧和奉献精神。
所以当 TP 来到拥有 16 位 CPU 和数兆字节 RAM 的 Windows 机器上时,对开发者来说就像提前过圣诞节。一个在 32kB RAM 和单个软驱下就能胜任的编译器,在获得数兆字节内存和硬盘时,简直会飞起来。
所有这些意味着 TP 7 用起来是一种享受。它就像一个现代 IDE,但没有任何臃肿。那些永远不会用 Microsoft 工具去碰 Windows 编程的开发者,能够从 MSDOS 迁移到 Windows 而不会遇到太多困难——即使他们像我一样首先得学习 Pascal。编译出的代码相当快,但如果还不够快,你可以直接在 Pascal 源文件中编写汇编语言。
我认为声称 Turbo Pascal 对 Microsoft Windows 在桌面 PC 上的广泛采用和最终主导地位做出了贡献,并不算太夸张。如果 90 年代初有一个“Turbo Pascal for Linux”,那么我们今天可能都在桌面上运行 Linux 了。
那么 Turbo Pascal 发生了什么?至少有三个因素促成了它的最终衰落。
首先,来自 C 编程语言的竞争日益激烈。Borland 确实推出了 Turbo C,后来又推出了 Turbo C++,但它们的影响力不如 Pascal。人们很容易忘记 PC 并不是最早的通用计算设备。大多数科研和教育机构,以及许多企业,使用的都是图形化的
(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。