封装(上)

我觉得小孩子对待玩具乃至「器物」的态度,归类来说就是两种:爱惜型和毁坏型。继续细分当然也是可能的,不过作为人类二分法专家,我倾向于认为最基本的就是这两类。有些人五岁买的布娃娃可以保留到三十岁,虽然褪色但是干净而完整,这样的孩子属于爱惜型·珍藏派;另一些人则可以把祖传三代的闹钟拆到不能继续分解为止,也许还能装回去,但是最后会多出几个零件来,这样的孩子属于毁坏型·分解派。毫无疑问,爱惜型的孩子养起来比较省钱,也很可能比较省心。我的父母当初是多么地希望我是爱惜型,我清楚地记得六岁前后的一天,我爸爸指着我的玩具箱——某个巨大无比的日立电视机包装箱——痛心疾首地说:「你看看这里面的玩具,有一个完整的么?」,而我只能羞愧地低下我的头。

我倒并未因此就失去了继续得到新玩具的资格,这一点我必须感谢我的父母。而且有时候我想要的玩具并不是他们的工资能承受的,可最终他们还是给我买了。我知道世界上有很多这样的故事,所以不再赘述这里面蕴藏了多少爱。我想强调的是,让孩子按照其自由意志成长是很重要的事情,如果你的孩子是毁坏型,就不要试着把他强行转化为爱惜型,因为那就和强行要求左撇子用右手写字一样残忍。童年是毁坏型的人长大之后,或许留不住一件可堪传给后代的玩物,不过除非他属于毁坏型·凌虐派,否则他很可能从拆拆装装之中获得了一种能力:解构。

旅游书上说德意志博物馆至少需要一天时间,可我在慕尼黑的时候只有半天时间留给它,所以不得不放弃了很多东西,只是着重看了航空馆和印刷馆。航空馆激动人心的Me262和F104略去不提,在印刷馆里,大致按照编年顺序,有印刷业使用过的工具从古至今一一陈列。古代的工具很好理解,甚至可以用文字记录和解释,比如原始雕版印刷的工序:

  1. 用蜡蒙住一张金属板,用炭灰将蜡层涂黑
  2. 在蜡层上刻以文字或者图像,深及金属板表层
  3. 将金属板浸泡在腐蚀性液体之中,蜡层被剔除的部分即被蚀刻
  4. 融去蜡层
  5. 在金属板上涂墨
  6. 压纸,印刷

现场有一个微缩模型来展示这个过程,但其实仅凭这段文字记录,也已经足够将整个流程复原。不过,接下来的几件展品,包括活体字模和一台有着若干曲柄、平板、橡皮滚筒、皮带轮,顶端还有一个圆盘的机器,就不太能直观地看出来运作原理。所幸我之前看过这样的一个视频,所以大概能明白各个部件的作用:


KLUGE from Northern Lights on Vimeo.

此时的工具已经相当复杂,但还是可以被我理解。与其并列的若干机器,尽管复杂性逐渐增加,也仍旧只需要阅读一下说明,仔细观察一下它的结构,理想情况下如果能让我拆开来,就可以大致明白它的运转状况。比如这台排字机器:

Monotype Typesetting Machine
Monotype Typesetting Machine
The Monotype Corporation Limited
Salfords, Surrey, England, 1965.
德意志博物馆

Update:碰巧在youtube上看到了它的工作状况:

问题是,当这样一台机器摆在面前的时候,我就很难明白它是如何运作的了:

Photo Typesetting Machine Digiset 400T2

主要的困难在于,这台机器被一个方盒子装了起来。功能性的部件被包裹,从外部可以看到的就是这么一个硕大的方盒子,以及那一小块控制面板。与它裸露着金属骨骼的前辈相比,这个东西看起来很神秘,而复杂的感觉,倒是大大降低了。虽然这是一个假象:盒子里面的东西其实非常复杂。这个玩意很显然是用电的,所以里面会有布线。这是一台光学排版仪器,就还可以推定里面有磨制好的透镜和相应的机械部件。简而言之,方壳子下面是一套高度复杂的机电设备,制造这样一个东西的难度,会比那台Monotype排字机器高很多。但是因为这个盒子的存在,这一切被隐藏了起来,留给用户的只是那个控制面板,当然还有相应的输出口。操作这台机器的难度和它的前辈相比已经降低了——比较古老的机械设备需要手脚并用,并且很显然需要花一些力气,精神也需要集中。而到了这台机器的时代,这个过程只需要按几个按钮。不过,这台机器的使用难度的降低,也同样就意味着其维护难度的增高:在电影《Seven Pounds》里,威尔·史密斯花一整夜的时间修好了一台机械式印刷机。试想如果那台机器是这样一个东西,恐怕这样的情节就不太符合常理。

也难怪这台机器之后的展品只有一件:一台苹果计算机。印刷业与电子计算机的结合,乃至许许多多其他传统工艺与电子计算机的结合,都多多少少造成了这样的一个尴尬境地:对细节和复杂性的封装到了如此高度,以至于没有什么可以展示的了。乐器博物馆里能够展出竖琴提琴羽键琴,人们会仔细观赏它们的美。模拟电子合成器也值得一看,毕竟它还有那么多旋钮和发光二极管。但是到了电子键盘和电子计算机的组合之后,又还能展示什么呢?虽然音乐技术显然没有就此停滞不前,但是它发展的方向和技术进步的程度,已经超越了普通人的认知范围。

电子计算机本身的发展同样如此,只不过,和六十年前的印刷机相比,六十年前的电子计算机已经属于常人不能通过观察、依靠简单常识而理解的东西。虽然从本质上来说,电子计算机的工作「概念」和用手指计算数字并无区别,就如同印刷机的工作「概念」和用手在纸上按一个指纹并无区别,但是「计算」这件事是个抽象的过程,「数字」也是抽象的概念,认知抽象概念的能力,乃至认知抽象概念之变形的能力,都需要知识的积累和一定的智力,故而理解什么是二进制,比理解什么是凸版印刷要困难一点。有些人,比如我,可能一辈子都没办法弄明白「虚数」或者「自然对数的底」这种东西的意义,即便其定义看起来是清晰的。除去教育的原因,智力也是个问题。

童年终结之后(虽然有些人认为男性的童年永远不会终结),拆东西的习惯被我保持了下来。经验告诉我,把尚能正常运作的东西拆开会遭到人类社会的惩罚,我必须忍耐着直到它们坏掉,才能去拆一拆以探究竟。但并不是每天都有东西会坏掉,我故而不得不通过组装东西来转移自己的注意力,由此开始喜欢做模型。直到后来我有了一台PC——也许可以算是父母给我买的最后一件玩具。和我此前拆过的那台山寨Apple II的中华学习机不同,这个玩意拆起来很容易,装起来也很容易,但是,过来人都知道,拆拆装装过几次,你就会觉得厌烦,因为没有什么挑战性可言,而且通常需要拆的电脑里面都很脏。拆电脑遂变成了一件体力劳动,甚至不及拆一只walkman更有成就感。当然,以拆电脑为借口去女生宿舍参观另当别论。

电脑修得好 好人当到老

拆计算机很容易,是因为计算的各个组成部分都被做成了独立模块,彼此通过各式各样的接口连接在一起,而这些模块本身又是由更小的模块构成。换言之,计算机的每个组件都试图将自己的实现细节对其他组件隐藏起来,两个相关组件只需要通过预先约定好的方式互动,或者说,每个组件都被「封装」了起来。这并不是什么特别的事情,许多东西都是如此,但是电子计算机是非常极端的一个例子。不妨数一数,这样的封装有多少层:

  1. 电子在半导体(硅)上的晶体管中流动,晶体管构成的逻辑门将其封装为两个离散的状态:高电压和低电压,分别代表0和1。
  2. 若干逻辑门构成一个逻辑电路单元,比如可以做二进制加法的加法器,或者可以保存状态的存储单元。
  3. 包含若干逻辑电路单元的硅片与金属引脚相连,包上一层塑料或者陶瓷,成为一块芯片。
  4. 芯片和芯片彼此通过印刷电路板相连,形成最基本的硬件核心。
  5. 依据芯片所提供的可以接受的指令集,在硬件核心上存入一些预先编好的简单程序。
  6. 用这些比较简单的程序生成其他的更加复杂的程序。
  7. 某个程序可以检测到你的手移动鼠标。某个程序可以在屏幕上画图。另一个程序可以从网上抓一段数据下来。

这些封装使得你能够点几下鼠标,然后在youtube看一段笨猫钻箱子的视频。对于最终用户来说,电脑呈现在面前的,只有鼠标、键盘、显示器、音箱而已,一切不需要你关心的细节,都被隐藏到了用户界面的后面。甚至可以说,当细节不得不被暴露出来的时候,往往也就是普通用户最痛苦的时候——

Windows Error Message

不过,对于喜欢拆东西的人来说,知道哪些东西被封装了起来,乃至知道封装的方式与思路,是很有趣的一件事情。

(未完待续)