1979年的Apple Pascal海报

小时候玩过的USCD Pascal至今印象深刻

今天看到一张 Apple 的 Pascal 语法的海报的矢量图重制版,1979 年的海报到现在都很漂亮,而且内容很极客,是 Pascal 语言的语法图!有些人称它为“极客圈的终极海报”。

图1

特地去了解了一下它背后的故事:故事发生在 1979 年,就在几年前 Apple II 发布。那是 Apple 公司历史上的辉煌时刻,乔布斯身边聚集了一群杰出的人才,现代计算机的传奇历史才刚刚拉开序幕。

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

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

图2

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

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

对于很多老程序员来说,Pascal 是一个起点,它包含了像结构、变量这些现代编程的基础概念,这些概念即使到现在每种编程语言中都重复出现。

其中最著名的跟 Pascal 相关的大神当属 Anders Hejlsberg,曾为 Borland 开发出 Delphi,后来加入微软又主持了 .Net 的开发,现在的 TypeScript 也是他主导的。扯这么多其实只是想说 Delphi 的前身是 Object Pascal 和 Turbo Pascal!

很多人都知道,Mac 之父是 Jef Raskin,当时的 Apple II 及其后的 Macintosh 都是由他负责的,当他在将 Apple Pascal 适配到 Apple 电脑上时发现,传统的编程语言文档与 Atkinson 开发的新编译器在语法上有所不同,因此需要为程序员提供一系列新的参考资料。

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

参考图三,这是 Jef Raskin 在一张老照片中,注意到背景里有一张海报。

图3

当乔布斯第一眼看到 Jef Raskin 的项目时,他马上看出了其市场营销的巨大潜力。对 Jef Raskin 而言,这不过是一个为程序员提供语法参考的普通海报,但乔布斯却在其中看到了一件极具美感的图形作品,或者说,一件充满潜力的艺术品,但他要求专门聘请一位图形设计师重新设计海报,最终 Apple 找到了 Tom Kamifuji,一位当时在旧金山颇有名气的艺术家,并让他对 Jef Raskin 的作品进行改动,使之更具“艺术感”。

Tom Kamifuji 保留了原有的结构和语法,仅仅对图形设计进行了调整,使之更为协调。然而,他所犯的一个错误是彻底改变了色彩方案,原本 Jef Raskin 根据不同的编程结构或特定语法使用了不同的颜色,使整个设计对程序员来说更加易读和易懂。结果最终的额海报五颜六色,Pascal 中的“标识符 (identifier)”被表示为四种不同的颜色:紫色、橙色、绿色和粉色……(参考图四)

对于乔布斯和 Tom Kamifuji 来说,他们只关心海报是否“漂亮”,即使 Jef Raskin 强烈反对,最终的版本还是按照 Tom Kamifuji 的设计印刷的,甚至于最终海报上只有 Tom Kamifuji 的名字而没有 Jef Raskin 的名字。

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

图4

添加评论

您可以通过填写以下表单发表评论,可以使用markdown格式。网页和电子邮件地址将转换为可点击链接。 评论将被审核。