苹果 Pascal“语法”海报的历史,1979-80 [译]

Jef Raskin 认为这是记住如何用 Pascal 编程的有用方法,Steve Jobs 认为这是一件现代艺术。有些人认为他是“终极极客海报”。

前言

自从几年前我在 Slashdot 发布了这篇文章,这个页面成了一个互联网的讨论热点,话题涵盖了从“你心目中的理想极客海报是什么?”到杰夫·拉斯金和史蒂夫·乔布斯这两位苹果麦金塔之父之间复杂关系的探讨。

这个项目吸引人的地方在于,它不仅是史蒂夫·乔布斯和杰夫·拉斯金这两位杰出人物合作的实际成果……而且还反映了他们观点的不同。除了麦金塔电脑,如今能看到的这类成果寥寥无几。

对于已故的杰夫·拉斯金亲自参与编辑、明确内容并与我共同创作这篇文章,我深感荣幸。

引言

我在大约 1980 年左右从叔叔那里得到了这张海报。那时,叔叔在加州红木城经营一家名为 Westwood Press 的成功印刷店,专注于高端企业级印刷业务。他们有一台来自欧洲的昂贵印刷机,我认为这使他们在硅谷尤其是在印制全彩光面企业艺术作品方面具有竞争优势。

那个夏天,我们参观了他的印刷厂,我记得有几张光滑的海报被特意拿出来展示。其中有几张是 Apple Computer, Inc 的作品。叔叔很大方也很酷,他允许我们带走了几件企业艺术品。这些作品至今仍是 1980 年代初硅谷的珍贵文物。

pascalflow2
pascalflow2

多年来,这张海报的独特之处深深吸引了我。我不太清楚它的具体内容和功能。据我所知,这是一张 Apple Pascal 编程语言的语法图。

它之所以令人印象深刻,是因为它包含了海量的信息。长时间观察后,我产生了一些让我感到困惑的问题:

1. 为什么颜色搭配看起来毫无规律?左上角是深粉和浅粉色,而其右侧却是多种不同的颜色。这是特意设计的吗?

2. 为什么选用超光滑、厚实的纸张?大部分程序员文档并不用于挂墙展示。这张可以作为一件艺术品或编程参考表挂在墙上。它到底是实用的艺术作品还是编程工具?有人真的把它挂墙上了吗?

3. 这张海报背后有什么故事?我见过一些质量较差的杂志“极客”海报,它们虽然提供了一些有价值的信息,但我从未见过像这样在质量和实用性上都如此独特的海报。它的背后故事是什么?

Syntax-copyright (2)
Syntax-copyright (2)

答案

为了找到 1979 年在苹果公司的工作人员,我进行了一些研究。这主要是发送了一系列的“您有印象吗?”电子邮件。通过十几封邮件的努力,终于从科技圈的知名人物——麦金塔之父 Jef Raskin 那里得到了回应。

Jef 不仅了解这张语法海报,作为苹果出版部门的负责人,他还亲自指导了这张海报的制作过程。

Raskin 设计新的语法图表海报的初衷是实用性。他发现,很多现有的 Pascal 语法图表在应用到 Bill Atkinson 开发的苹果 Pascal 编译器(compiler)时存在错误。Raskin 以 Niklaus Wirth 的原著《PASCAL - 用户手册和报告》[Springer-Verlag,1974] 作为蓝本,开始了他的设计工作。

Jef Raskin……注意背景中的海报。
Jef Raskin……注意背景中的海报。

他不仅纠正了这些错误,还在图表上做了一些创新性的改动。他对原图表进行了重新组织,使其更加实用。最后,他还对图表进行了颜色编码,以便更高级的词汇元素的颜色与下方解释该语法的图表相对应。

选择海报格式的目的是为了让程序员能夹头看到,同时保持桌面整洁。Raskin 的颜色编码设计使得这张海报即使从远处或者桌子上也能一目了然。

有趣的想法,不是吗?考虑到这是便利贴在美国推出前的一年,编程时的杂乱无章可想而知。这张语法海报既简洁又优雅,挂在办公室的墙上也不会显得突兀。

这听起来是个简单的故事,但有一个关键点。他必须得到 Steve Jobs 的批准。

Steve Jobs。注意背景中的“THINK”海报。我的叔叔也印刷了那一张。
Steve Jobs。注意背景中的“THINK”海报。我的叔叔也印刷了那一张。

Raskin 表示,当他试图向 Jobs 介绍这个概念时,Jobs 能理解流程图是怎样运作的。但是,尽管 Raskin 多次向他解释,Jobs 仍然没能完全搞懂这些颜色的运用方式。Raskin 认为 Jobs 在技术上固执己见,而且难以教育。

Jobs 没有去学习 Raskin 设计的配色方案,反而聘请了一位艺术家,他就是 70 年代末至 80 年代初旧金山地区颇有名气的新兴艺术家 Tom Kamifuji。Jobs 让他自由创作,赋予作品更多艺术性,但他却忽略了向艺术家解释原来的配色方案对于轻松读懂流程图的重要性。

由于 Jobs 未能领会 Raskin 的配色思路,他指示艺术家对作品进行了修改,但遗憾的是,这种修改反而使事情变得更糟。作品的左侧色彩严格划分,而右侧则显得混乱无章。

这导致了一些奇怪的设计出现。例如,“语句”语法块展现出了一个“粉红对粉红”的风格。

Jobs 的艺术家把 Raskin 的颜色换成了全粉红。
Jobs 的艺术家把 Raskin 的颜色换成了全粉红。

而无符号数的风格是“黄对黄”,无符号整数则变成了“黄对绿”。显然,由于这位艺术家并非技术出身,这幅海报在实用性上受到了影响。

从以下的扫描图中可以看出,“标识符”被涂上了四种不同的颜色:紫色、橙色、绿色和(未展示的)粉红色。虽然有人可能会认为这是不同的“模式”或“情境”(Jef 曾强烈反对使用“模式”),但这真的有助于人们在房间另一端解读这张海报吗?

在艺术与编程的交汇中,“标识符”呈现出葡萄色、青柠色、橙色和草莓色。
在艺术与编程的交汇中,“标识符”呈现出葡萄色、青柠色、橙色和草莓色。

后来,Jobs 要求去除标记 Raskin 为这项作品的创作者,并将艺术家的名字替换上去。我无法找到

"Raskin 的名字被删除,并被替换成了 Kamifuji 的"
"Raskin 的名字被删除,并被替换成了 Kamifuji 的"

这一举动的原因尚不明确。是因为这位艺术家很有名气吗(例如,是为了炫耀)?还是作为一种恐吓手段?或仅仅是艺术家本身的创作控制?Raskin 认为,这种行为在道德上是不妥的。

照片中艺术家姓名旁的数字 030-0111-00,是苹果的标准文档编号。其中,030 表示这是技术文档系列的一部分,0111 表示这是第 111 号文档,00 则表示这是第 0 次修订(即,第一版)。相较于今天苹果文档编号通常在 5000 左右,这个编号实际上较低。

它在哪里使用?

根据 Raskin 的说法,这张海报最终被挂在苹果公司每位程序员的桌上,甚至在苹果公司外的许多程序员的桌上也能看到它。

苹果公司早期的另一位关键员工 Andy Hertzfeld 表示,他也记得这张海报,他认为这些海报可能还被提供给经销商,以促进苹果 Pascal 的推广。Slashdot 的读者,前 Computerland 员工 Bruce Barrett 证实了 Hertzfeld 的说法,即这些海报确实被提供给了经销商,也被送给了苹果的顾客。