小组的核心成员会连续几小时待在俱乐部里,不断改进他们的系统,讨论下一步能做什么。他们还发明了自己的一套外人不怎么懂的行话,他们总是穿着短袖的格子衬衫,兜里插着铅笔,下身则穿着斜纹棉布裤子,而且总是随身带着一瓶可口可乐。(TMRC花了165美元买了一台自己的可乐售卖机,并以5美分一瓶的价格出售,3个月就收回了成本。为了促销,桑德斯为购买可乐的顾客制造了一台自动换瓶机,并且一直用了十多年。)他们自己发明的术语是这样的1:当设备中有一个零件不能工作了,他们就说它“losing”;当一个零件坏掉了,他们就说它“munged”(mashed until no good);房间角落里的两张桌子也不叫办公台,而叫做“orifice”;坚持上课的人叫做“tool”;垃圾叫做“cruft”;如果一个正在进行的项目或正在构建的产品不仅仅是为了实现某个建设性目标,而且只要是参与进来就会有莫大的乐趣,那么这个项目就叫做一个“hack”。
“hack”一词大概很早就由MIT的学生提出了,他们一直用这个词来形容本校学生发明的一些精心策划的恶作剧,例如在校园里最高的那座楼的屋顶上插满反光的金属薄片。但TMRC的人在使用这个词的时候却包含着很大的尊敬。虽然可能有人把一个巧妙的中继器连接叫做“mere hack”,但大家都知道,一项技艺要想称得起“hack”,它必须有创新、有风格、有技术含量。虽然有人可能会自谦地说他正在“hacking away at The System”(就像挥斧砍圆木),但他的成就可能会被认为是相当了不起的。
S&P小组中效率最高的人非常骄傲地称他们自己是“hacker”(黑客)。虽然他们仅仅拥有20号楼中的一个俱乐部房间,虽然他们的活动室仅限于“Tool Room”(他们的很多研究和技术讨论会都是在这间屋子里举行的),但他们怀着冰岛传说般的英雄态度无私地奉献着自己。彼得.萨姆森就是这样看待他自己和他的朋友们的,在俱乐部的新闻通讯里,他在一首充满桑德堡风格的诗里这样写道:
Switch Thrower for the World,
Fuze Tester,Maker of Routes,
Player with the Railroads and the System"s Advance Chopper;
Grungy,hairy,sprawling
,Machine of the Point-Function Line-o-lite:
They tell me you are wicked and I believe them;for I have seen your painted light bulbs under the
lucite luring the system coolies...
Under the tower,dust all over the place,hacking with bifurcated Springs
Hacking even as an ignorant freshman acts who has never lost occupancy and has dropped out
Hacking the M-Boards,for under its locks are the switches,and under its control the advance around
the layout,
Hacking!
Hacking the grungy,hairy,sprawling hacks of youth;uncabled,frying diodes,proud to be
Switchthrower,Fuze-tester,Maker of Routes,Player with Railroads,and Advance Chopper to the
System.
(诗歌大意:我们是聪明的投球手,我们是引信测试员,我们是开路先锋,我们研究的是铁路和系统中先进的断路器。我们研究的系统非常复杂,我们的机器是衡量计算能力的标志。趁你刚刚入学,趁你还是俱乐部的一员,趁你还没有退学,尽情地施展吧!)
只要有可能,萨姆森和其他人就会带着他们的插线板偷偷溜进EAM机房,尝试着用机器来跟踪隐藏在地下的交换机。还有一件同样重要的事,那就是他们看到了机电式计数器的功能,并把它发挥到了极致。
1959年春天,MIT开设了一门新课程。这是大一新生可以参加的第一门计算机编程课程。授课老师是一个非常严肃的人,一头爆炸式的头发,胡子也是乱蓬蓬的,他就是约翰.麦卡锡。麦卡锡本人是一位数学大师,也是一位典型的心不在焉型教授。校园里有不少这方面的传言,说他常常在别人向他提问后几小时、有时甚至是几天才会突然给你解答。如果他在走廊上碰到你,不跟你打招呼便用机械而准确的措辞开始滔滔不绝,就好像你们之间的交谈刚刚停顿了不到1秒而不是一个星期。不过他迟来的解答通常都能切中要害,精彩绝伦。
麦卡锡是少数几个以全新的方式使用计算机进行科学调查的人之一。他将自己的研究领域命名为“人工智能”(Artifical Intelligence,AI)。这一名字中似乎透露出麦卡锡本人的一种略显傲慢的味道,这毫无疑问是其研究领域驳杂并且在研究过程中与大家观点相差甚远的根源。其实,他认为计算机可能非常聪明。即使在MIT这个散发出浓郁科学气息的地方,绝大多数人还是认为他的想法过于荒谬:他们认为计算机虽然在处理海量数字运算和导弹防御系统(MIT最大的计算机——Whirlwind便是专为SAGE早期预警系统而建造的)方面功不可没(即使它多少有些昂贵),但他们对那种认为“计算机本身也是科学研究的一个领域”的观点嗤之以鼻。在20世纪50年代末,计算机科学还没有正式成为MIT的一个系,麦卡锡和其他研究计算机科学的同事都隶属于电气工程系,只有这里才开设这样一门课程(课程编号是641),就在1959年的春天,考托克、萨姆森和另外几名TMRC的成员都选修了这门课程。
麦卡锡在IBM704(即那台巨型计算机)上主持着一个庞大的项目,他们想赋予这台计算机下国际象棋的非凡本领。在乐于对处在萌芽阶段的人工智能领域品头论足的批评家看来,这个项目只不过是说明约翰.麦卡锡等人盲目乐观的一个典型示例而已。但麦卡锡本人却对计算机能够做些什么有着自己的见解,让计算机下象棋只不过是个开头。
吸引考托克、萨姆森以及其他人的不是计算机的发展前景,而是眼前的那些有趣的东西。他们想学习怎样才能让这些机器运转起来。尽管麦卡锡在讲授编号为641的课程时屡屡谈到的新出现的LISP编程语言确实十分有趣,但更吸引他们的还是编写程序本身,还有当你从“牧师”那里取回机器自己打印出来的程序,花上好几个小时看看到底哪里出了问题或怎样编程效率才能更高时,你所体会到的那种美妙感受。TMRC的黑客们当时正在想办法进一步利用IBM 704计算机做些什么(不久,该计算机便升级为更先进的709型)。考托克等人想方设法找到了不少上机时间,他们每每在凌晨时到计算中心泡上几个小时,和“牧师们”也渐渐熟悉起来,最后,他们终于得到恩准,可以按下这台计算机上的几个按钮,观看计算机运行时闪烁的灯光。
MIT某些可以接触到IBM 704的资深人士或在“牧师圈”有熟人的人费了九牛二虎之力才弄明白IBM计算机的几个不传之秘。让人觉得不可思议的是,其中几名程序员(也是麦卡锡手下的研究生)甚至写了一个利用那一排点点灯光的程序:该程序控制灯光的明暗变化,看上去好像一只小球从右侧向左侧滚动;假如操作员在合适的时机拨动开关,灯光的运动方向便会反转——这绝对就是一只计算机乒乓球!毫无疑问,这就是你要拿来在同伴面前炫耀的那种东西,而你的同伴一定会看一看你在程序中是如何做到这一点的。
要想在编程方面出类拔萃,某些人可能会想方设法用更少的指令完成同样的任务——这样的努力确实很有必要,因为当时计算机的内存非常小,不可能同时装入很多条指令。约翰.麦卡锡就曾经见过他那些使用IBM 704计算机的研究生打算改进自己的程序以便将指令条数减到最少,并将程序压缩,这样只需把较少的卡片输送到读卡机里面就行了。这些人往往为了能够省下一条或两条指令而废寝忘食。麦卡锡常常将这些学生比做滑雪爱好者。他们从“将代码效率发挥到极致”的精神中得到的快感就像狂热的滑雪爱好者从山坡上飞驰而下时体会到的那种感觉。因此,在不影响输出结果的情况下使用尽量少的代码进行计算机编程,便被称为“programbumming”。你会时不时地听到有人喃喃自语:“也许我还可以再少用几条指令,这样我只需三张而不是四张八进制修正卡就够用了。”
1959年,麦卡锡的兴趣从象棋转移到一种新的与计算机交互的方式上,这种全新的语言就是“LISP”语言。阿伦.考托克和他的朋友们迫不及待地接手原来的象棋项目。他们在IBM的批处理计算机上,开始了训练704型、后来的709型甚至更往后的7090型下象棋的漫漫征程。最后,考托克的小组成为整个MIT计算机中心计算机用时最大的一群用户。
不过,使用IBM计算机仍然会给人以挫败感。送入数据卡片后必须经过长时间的等待,没有什么比这更糟糕的了。哪怕你只在某条指令中输错了一个字母,程序也会完全崩溃,你必须重新再执行一遍上述过程,一步都不能少。此外,计算中心的氛围中还弥漫着各种条条框框,并且这些沉闷的条文有日益增多的趋势。绝大多数规定都是用来防止狂热的年轻计算机爱好者(如萨姆森、考托克和桑德斯等人)碰到计算机的。所有规定中最不容置疑的一条就是任何人都不允许碰到或乱动计算机。当然,这正是S&P小组的成员宁可放弃一切也要做的事,这些条条框框简直把他们气疯了。
有一名“牧师”(实际上属于低级别的助理牧师)在他值夜班的时候格外认真地执行这条规定,于是萨姆森设计了一条计策,让他不大不小地尝了点苦头。一次在埃里的废电子器件商店闲逛的时候,他偶然发现了一块带几个破旧电子管的电路板,和IBM计算机里面的一模一样。一天夜里,还不到凌晨四点,那位助理牧师有事出去了几分钟,当他回来的时候,萨姆森告诉他这台计算机死机了,但他们找到了问题所在,然后他拿出从埃里捡回来的那块破破烂烂的旧IBM 704计算机电路板。
这名助理牧师惊讶得几乎说不出话来:“你……你从哪儿拿的?”
萨姆森大大的绿色眼睛此时放射出激动的光芒,他慢吞吞地指了指计算机架子上的一块空位,当然,这里从来也没有放过任何电路板,但这块地方看上去好像确实少了点什么东西。
助理牧师倒吸一口凉气,他的表情痛苦不堪,他默念着求上帝宽恕自己。毫无疑问,他眼前一定闪现出未来从他的薪水中扣掉100万美元的可怕情景。后来,在他的上级主管(一位高级“牧师”,对TMRC那帮机灵鬼的想法略知一二)把当时的情况向他分析了一遍以后,他才放心。
黑客因不让他们接触计算机而逐渐滋生出了愤愤不平的情绪,感受到这一点的管理员绝不止这位助理牧师一人。
……
一天,TMRC以前的一位成员,现在已经成为MIT的一名教师的黑客回俱乐部来参观,他的名字是杰克.丹尼斯。20世纪50年代初,他还是一名本科生的时候便为铁路模型的底层设计付出了大量心血。丹尼斯当时正使用一台MIT刚刚从林肯实验室(MIT下属一个专门开发军用设备的实验室)接收的TX-0计算机,这台计算机是世界上第一批使用晶体管的计算机之一。林肯实验室此前专门用这台计算机测试另一台大型机——TX-2。TX-2的存储器极其复杂,只有用这台专门建造的同宗兄弟计算机才能找到它的毛病。现在,这台计算机的最初任务目标已经完成,因此这台价值300万美元的TX-0便被运送到此,“长期租借给”MIT使用。显然,林肯实验室的人根本没有设置归还日期。丹尼斯专门到此,想问问TMRCS&P小组的成员是否有兴趣看一眼这台计算机。