原型(4)

程序编写不都一样。正常的书写语言包含不同的音韵和习语,对吗?那么,编程语言也是一样。名叫C的语言都是刺耳的祈使语气,几乎是完全未加工的计算机语言。叫作“表处理语言”的像个长长的、绕圈的句子,充满了附属从句,以至于你常常忘了它最初是关于什么的。叫“厄兰”的语言就像它听上去那样:古怪,斯堪的纳维亚风格。我不会用这些语言里的任何一个来编程,因为它们都太难了。

不过“红宝石”,从在纽贝格公司开始我就用的编程语言,是由一位让人愉快的日本程序师发明的,它读起来就像是友好的、容易理解的诗。像是用比尔·盖茨的方式表达的诗人比利·柯林斯。

但是,当然,编程语言的关键是你不仅读,还要写它。你要让它为你做事。而这一点,我认为,正是“红宝石”的闪光点。

想象一下你在做饭。不过不是一步一步按照菜谱,希望做出最好的,你可以真正地随时把作料放进锅里或是取出来。你可以加盐,尝一尝,摇摇头,再把盐取出来。你可以取一块非常酥脆的面包皮,把它剥离,在里面加上任何你想要的东西。这不再是个线性的,以成功或者以失败(对我来说大多是失败)结束的过程;而是个循环,花体字或者一点潦草的涂写,是玩。

所以我加些盐和一点黄油,得到了新可视化图的原型,直干到了凌晨两点。我立刻注意到什么东西怪怪的:亮光一个接着一个。

我的屏幕上显示,廷德尔会从二号走道的顶层借一本书。之后,在另一个月,拉平会从同一个书架上借书。五周后,英伯特会跟着借——完全是同一个书架——不过与此同时,廷德尔已经还了书并且从一号过道的底层拿了新书。他快一步。

我以前没注意到是因为它在时间和空间上散得很开,就像是一段音乐的每两个音符间有三小时的间隔,还都在不同的音节上。不过这儿,在我的电脑屏幕上经过压缩和加速,它变得明显起来。他们都在演奏同一首歌,或者跳同一支舞,或者——对——解同一个谜。

铃响了,是英伯特:矮小结实,长着硬硬的黑胡子,斜戴着报童帽。他举起他正看的书(一本巨大的红色装帧的书卷)推过桌子。我迅速地擦动可视化图去找他在这个模式里的位置。一个橘色的亮点在屏幕上跳出来,在他开口之前,我知道他要借的是二号走道正中间的一本书,是——

“‘普罗霍罗夫’。”英伯特气喘吁吁地说,“‘普罗霍罗夫’应该是下一本。”

高高地站在梯子的半腰,我感到头晕目眩。怎么回事儿?这一次没有冒失鬼操控,为了保持平衡,我只得把薄薄的、黑色装帧的“普罗霍罗夫”拉出了书架。

英伯特出示了他的卡——6MXH2I——拿了他的书。铃又响了,我再次成了一个人。

在日志本里,我记录下发生的事,注意到英伯特的帽子和他呼吸里有股大蒜味儿。然后,为了以后的某个店员好,或许也是为了向自己证明这是真的,我写道:

奇怪的事情在半影先生的24小时书店发生着。

读书导航