Apple PASCAL 语法海报:极客圈的传奇作品 [译]

作者:

ANTONIO MORO

Jef Raskin 认为这是一种记住 Pascal 编程方法的有用途径,而 乔布斯视其为现代艺术的一部分。有些人称它为“极客圈的终极海报”。

计算机历史中充满了各种对立,但 Apple 公司的历史尤为显著。创意与技术思维之间永无止境的碰撞孕育了许多令人难以置信的产品,这个故事正是源于对形式美与实用性的不同偏好之争。

此故事的主人公非常杰出:我们说的是 Apple Macintosh 的两大创始人,乔布斯和 Jef Raskin。故事发生在 1979 年:就在几年前 Apple II 发布。那是 Apple 公司历史上的辉煌时刻,乔布斯身边聚集了一群杰出的人才,现代计算机的传奇历史才刚刚拉开序幕。

APPLE PASCAL SYNTAX POSTER (海报细节)
APPLE PASCAL SYNTAX POSTER (海报细节)

APPLE PASCAL SYNTAX 这个海报背后的故事极为独特,是那个时代诸多令人称奇的故事中的一个。

如果不是 Lucas Wagner 在 Slashdot 上发表的一篇文章(后来被VintageComputer转载),讲述了这个海报是如何以及为什么诞生的,我们可能就永远不会知道为何会有这样一个设计独特、用于解释 Pascal 编程语言基础的海报。

在家里找到这张海报副本后,Wagner 联系了几位前 Apple 员工,并最终通过电邮与 Jef Raskin 交流,从他那里了解到了自己一直在寻找的细节。

Apple Pascal

Apple Pascal 是通过四个 5 1/4 英寸的软盘发布的,每个盘内含有不同的对编程和编译有益的文件。这些软盘从“Apple 0”编号至“Apple 3”。
Apple Pascal 是通过四个 5 1/4 英寸的软盘发布的,每个盘内含有不同的对编程和编译有益的文件。这些软盘从“Apple 0”编号至“Apple 3”。

但让我们先来回顾一下:Pascal 的用途是什么,它与 Apple 公司又有什么关系呢?在 1977 年,Apple II 计算机面市,它被誉为第一台“个人电脑”。不同于采用 BASIC 语言,Apple II 选择了一种新颖、现代且高效的编程语言:Apple Pascal。这是由 Niklaus Wirth 于 1970 年创造的 UCSD Pascal 系统 的发展版本,旨在向 17 世纪发明了机械计算器的法国数学家 Blaise Pascal 致敬。

Apple II 上运行的是由 Bill Atkinson 编写的 Pascal 编译器,他同时也是该编译器最初的也是最重要的程序员。

选择 Pascal 而不是更简单、更原始的 BASIC 并不是一件容易的事:乔布斯最初认为这是一个过于复杂的选择,他觉得 Apple II 使用 BASIC 就足够了,他对计算机附带的实用程序更感兴趣,而不是它所支持的编程语言。

但 Atkinson 最终说服了他,展示了 Pascal 的优势,以及它如何能够为新平台带来巨大的优势,为第三方软件的发展奠定了坚实的基础。正是因为这一选择,才促成了后来第三方软件的兴起。

几年后的 Bill Atkinson 与乔布斯:Bill 也参与了麦金塔开发团队。
几年后的 Bill Atkinson 与乔布斯:Bill 也参与了麦金塔开发团队。

这是一则 Apple 公司的老式广告,曾刊登于专业杂志上:广告印在可转印纸上,使人们能够自己印制一件印有“这里讲 Apple Pascal”字样的 T 恤。
这是一则 Apple 公司的老式广告,曾刊登于专业杂志上:广告印在可转印纸上,使人们能够自己印制一件印有“这里讲 Apple Pascal”字样的 T 恤。

对于像我这个年龄的计算机科学家来说,Pascal 是一个起点。我青少年时在 Commodore 64 上用 BASIC 学编程,但直到高中,在计算机课上学习旧 Olivetti M24 上的 Pascal 时,我才真正理解编程的含义。结构、变量、现代编程的基础,那时它们已经一应俱全。从那以后,这些基础在我职业生涯中无数次发挥作用,因为它们在每种编程语言中都重复出现。当时有 Anders Hejlsberg 开发的 Turbo Pascal,它后来演变成了 Object Pascal,再发展为 Delphi... 一旦掌握了 Pascal 编程,就能够几乎使用任何语言进行编程,只需基于相同的基础,学习新的语法即可。

但我不想跑题,抱歉。

推出一张海报!

Jef Raskin 在一张老照片中,注意到背景里有一张海报
Jef Raskin 在一张老照片中,注意到背景里有一张海报

Jef Raskin 正忙于将 Apple Pascal 适配到 Apple II 及其后的 Macintosh,这时他发现,传统的编程语言文档与 Atkinson 开发的新编译器在语法上有所不同,因此需要为程序员提供一系列新的参考资料。

Jef 开始设计一系列关于 Apple Pascal 的主要结构和逻辑语法的图解,这些图解是程序员学习和使用 Apple Pascal 时不可或缺的便捷参考,它们被打印出来并在 Apple 公司内部分发。他对这个项目投入了大量精力,简化了当时流行的各种复杂图解,并采用了严格的颜色编码,使内容更加清晰易懂,并选择了海报格式,方便 Apple 公司的每位程序员都能在自己的小隔间中挂上一张。

Post-it 直到第二年,也就是 1980 年才问世,那时的程序员通常都不太整洁。他们通常被一堆散乱的纸张围绕……而像这样的海报,无疑是个绝佳的主意。

那么一切都准备就绪了吗?只需印刷出来,分发给 Apple 的程序员,故事就此结束,对吧?

并非如此。因为在开始印刷之前,还需要得到 乔布斯的批准。

FAMMELO ROSA

当乔布斯第一眼看到 Raskin 的项目时,他马上看出了其市场营销的巨大潜力。对 Raskin 而言,这不过是一个为程序员提供参考的普通海报,但乔布斯却在其中看到了一件极具美感的图形作品,或者说,一件充满潜力的艺术品。没错,Steve 批准了这个项目,并同意将其印刷,但前提是要经过一位专门聘请的图形设计师的重新设计。于是他们找到了 Tom Kamifuji,一位当时在旧金山颇有名气的艺术家,并让他对 Raskin 的作品进行改动,使之更具“艺术感”(虽然这个说法其实并没有具体的含义,我想特别强调这一点)。

必须承认,Kamifuji 并没有让作品变成可能的灾难:他保留了原有的结构和语法(这本就理所当然!),仅仅对图形设计进行了调整,使之更为协调。然而,他所犯的一个错误是彻底改变了色彩方案:正如之前提到的,Raskin 根据不同的编程结构或特定语法使用了不同的颜色,使整个设计对程序员来说更加易读和易懂。

除了 Kamifuji 的签名之外,我们还可以看到 Apple 项目的代码“030-0111-00”,这代表一个技术文档(030)的编号 111,修订版号为 0。
除了 Kamifuji 的签名之外,我们还可以看到 Apple 项目的代码“030-0111-00”,这代表一个技术文档(030)的编号 111,修订版号为 0。

虽然乔布斯和 Tom Kamifuji 都不是程序员,但他们只关心海报是否“漂亮”。正是这样,你们在这篇文章中看到的海报诞生了,它色彩鲜艳,左上角那部分的“粉红色上的粉红色”特别惹恼了 Raskin……例如,Pascal 中的“标识符 (identifier)”被表示为四种不同的颜色:紫色、橙色、绿色和粉色……我只能想象 Raskin 看到 Kamifuji 的作品时会怎么想。

讽刺的是,这位艺术家在最终的海报中只加入了自己的签名,这是唯一可见的致谢,对 Raskin 来说又是一次打击。

Apple Pascal 语法海报

看看这张传奇的 1979 年 Apple Pascal 语法海报吧:

非常感谢 Manuele Cesarini Overnext(专业从事 Apple 老式产品恢复和修复的 Apple 认证技术员),他有幸拥有这幅传奇海报的原版,并向我提供了上方所见的高清照片。我还利用这张照片完全重新绘制了海报,并从中提取了本文中的细节。

关于这张传奇海报的印刷数量至今未知。每位 Apple 程序员都有一份,而且还分发给了一些外部程序员。正如乔布斯所期望的那样,这张海报也用于推广 Apple Pascal 和 Apple 公司,通过发送给加州的经销商和商店。

现在,您了解了这张美丽海报的背景,包括它那独特的颜色选择以及它在计算机历史,尤其是 Apple 公司初期历史中的重要性。

高清 PDF 下载