Photoshop v.1.0.1 源代码以及它的故事

当Thomas Knoll和John Knoll兄弟在20世纪80年代末开始设计和编写一个图像编辑程序时,他们无法想象他们会在字典中添加一个词。

密歇根大学(University of Michigan)计算机视觉专业的博士生Thomas Knoll在1987年编写了一个程序来显示和修改数字图像。他的弟弟约翰(John)在电影视觉效果公司Industrial Light & Magic工作,发现这款软件对编辑照片很有用,但它还不能称作是一个产品。托马斯说:“我们最初开发它是为了我们自己的用途……这是一件很有趣的事情。”

渐渐地,这个叫做“显示(Display)”的程序变得越来越复杂。在1988年夏天,他们意识到它确实能成为一种有用的商业产品。他们把它重新命名为“Photoshop”,并开始寻找一家公司来开发它。总共大约200份0.87版本被幻灯片扫描仪制造商Barneyscan捆绑为“Barneyscan XP”一起销售。

当Adobe的艺术总监拉塞尔·布朗(Russell Brown)决定购买一个授权版本的Photoshop软件时,Photoshop的命运就被锁定了。这项交易于1989年4月敲定,1.0版于1990年初开始发售。

在接下来的十年里,已经售出了超过300万张ps。

Photoshop的第一个版本主要是用Pascal语言为苹果Macintosh编写的,为提高效率,有些是用摩托罗拉68000微处理器的汇编语言编写的。”并不是你想象的我们有一个巨大的团队“,托马斯说,“对于版本1,我是唯一的工程师,对于版本2,我们有两个工程师。当托马斯在基础应用程序上工作时,约翰编写了许多图像处理插件。

在Adobe系统公司的许可下,我们很荣幸为非商业用途提供Photoshop 1990年版本1.0.1的源代码。所有的代码都在这里——除了苹果授权的MacApp应用程序库。压缩文件夹中有179个文件,包含了大约128000行大部分未注释但结构良好的代码。根据行数,大约75%的代码是Pascal语言,大约15%是68000汇编语言,其余的是各种类型的数据。
要下载代码,您必须同意许可的条款,该条款只允许非商业使用,不允许您通过在web上其他地方发布副本向第三方授权。

下载地址: Photoshop version 1.0.1 Source Code

1990版的 Adobe Photoshop 用户手册: http://www.computerhistory.org/collections/accession/102640940 和指导: http://www.computerhistory.org/collections/catalog/102640945

对源代码的评论

软件架构师Grady Booch是IBM Research Almaden软件工程的首席科学家,也是计算机历史博物馆的受托人。他提供了以下关于Photoshop源代码的一些发现:

  • 打开构成Photoshop 1.0源代码的文件,我感觉有点像霍华德·卡特(Howard Carter)第一次闯入图坦卡蒙国王(King Tutankhamen)的陵墓。什么奇迹等待我吗?
  • 我对我的发现并不失望。事实上,开启我20多年前就开始使用的一种神奇的软件,这是一次奇妙的旅程。
  • 在体系结构上,这是一个结构良好的系统。接口和抽象的分离是一致的,为将这些抽象组件化而做出的设计决策——通常每个接口和实现的组合都有一个主要类型——很容易理解。
  • 抽象是相当成熟的。一致的命名、方法的粒度、实现的近乎惊人的简单性(因为每种类型都被很好地抽象出来了),所有这些结合在一起使得识别系统的结构变得很容易理解。
  • 我曾有机会查看了现在版本Photoshop的当前架构,我相信我看到的基本的结构和现在是一致的,尽管也改进了不少。在第一个版本中,Tiles、过滤器、虚拟内存的抽象(用于处理比显示缓冲区或主内存大得多的图像)都在那里。然而,它的代码行数超过了10万行,而当前版本的代码远远超过了1000万行!从那时到现在,大部分代码都与输入/输出以及Photoshop要处理的大量文件格式有关。
  • 1.0版本的源代码中只有很少的注释,大多数注释都与汇编语言片段相关。话虽如此,缺乏注释根本不是问题。这段代码是如此的有水平,如此的容易阅读,以至于注释甚至可能会成为阻碍。
  • 很高兴能找到那个时代的历史遗迹:负责安迪·赫斯菲尔德(Andy Herzfield)的雷击扫描仪软件的代码,支持早期TARGA光栅图形文件类型,甚至在代码中散布着对Barneyscan的一些传递引用。这些都是总体代码库中的非常小的元素,但是它们的样子提醒我,没有代码是孤岛。
  • 这是我渴望写的那种代码。

这是我们都可以学习的代码。软件源代码是计算机科学家的文献,值得研究和重视。享受Photoshop的内部美景吧。

早起Photoshop截图


主屏幕,显示可用的工具。


Photoshop允许你选择画笔颜色以及大小和纹理。(Mac电脑的第一个颜色是1987年的Macintosh II。)


有一些复杂的选择工具,以及各种各样的图像过滤器。1994年的第3版中缺少的一个重要特性是能够将图像分割成多个层。


preferences页面允许对特性进行一些定制。

字体、字体大小和字体样式的选择是有限的。文本输入到对话框中,然后移动到图像中。

Historical Source Code Releases

本文文字及图片出自 www.computerhistory.org

余下全文(1/3)
分享这篇文章:

请关注我们:

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注