【人物志】彼得·萨姆森:不爱打游戏的音乐家不是好程序员
2021-09-03 19:00:00 Author: mp.weixin.qq.com(查看原文) 阅读量:42 收藏

本文约3800字,你将用10分钟了解彼得·萨姆森的故事
1962年,某天下午,彼得·萨姆森大步走进麻省理工大学一间实验室。
他瘦高,红色卷发。面前,是一台低声嗡鸣的机器,和两个收音机似的小盒子。
这种小盒子,我们现在通常叫它手柄。他和另一个年轻人拿起来,盯着单色显示器。屏幕上的光映在脸上,两个人眼睛眨都不眨一下。
以现在的UI标准,屏幕上的画面简直不够看。但在当时,在这台不需空调降温的“先进”计算机上,运行的是《Spacewar!》——电子游戏史上最伟大的游戏之一。
这台电脑有4096个18位字节内存,放现在能存一张一寸证件照。在这上面,玩家可以控制飞船转弯加速,避免撞击,同时发射导弹攻击对手。
它的重力判定让人头疼。把握不好加速度,飞船时不时会被吸入“超空间”。有人不慎撞击,屏幕上会出现表示“破碎”的光点。
屏幕亮点闪烁,窗外夜幕降临,年轻人们忘了时间。
1
了不起的游戏
1941年,彼得·萨姆森出生在马萨诸塞州的一个县城。
少年时期,萨姆森偶然看到关于计算机编程的电视节目,那是他和计算机的初见。他一见倾心,感觉计算机里有“童话一样的浪漫”。在他看来,二进制和电信号像童话故事里的许愿精灵——你对它说出愿望,它就会帮你实现。
所以当别的孩子还在花园里堆乐高时,他已经开始制造机器,参加竞赛。别人弹球机坏了扔掉,他捡回来,不是为了修了自己玩,而是拆出里面的“逻辑单元”,一研究就是一下午。
带着对“逻辑单元”的热情,萨姆森成功考到麻省理工。并加入了TMRC——一个对计算机无比痴迷的组织。
他高兴坏了,喜事一件接着一件,他加入了一门新开的计算机编程课。这门课的老师可是个大人物,有“人工智能之父”之称的约翰·麦卡锡,头发乱蓬蓬,胡子也乱蓬蓬。
乱蓬蓬老师脾气也怪,“向麦卡锡教授提问是一件挺神奇的事儿。”萨姆森记得某天他询问了一个程序问题,麦卡锡像没听见,理都没理他。但两天后,麦卡锡突然在走廊拽住他,滔滔不绝开始解答。
如同经历巨大的网络延迟,萨姆森甚至来不及记笔记。但萨姆森也说,麦卡锡的回答既简洁又精准,句句见血。
麦卡锡管理宽松,得益于此,TMRC的成员能不分昼夜捣鼓计算机。1961年,麻省理工买回了PDP-1。成员们群情激昂,他们知道这种可单人操作、带有单色显示器的计算机意味着什么,非在上面搞出点名堂不可。
史蒂夫·拉塞尔是是麦卡锡的研究生。他爱看科幻小说,那时他刚读完爱德华·史密斯的科幻小说《透镜人》,一个关于星际战争的故事。
他突发奇想:为何不写一个关于星际战争的游戏呢?
“好主意!”萨姆森与其他成员和他一拍即合。他们翘首期盼游戏诞生,如同一群准备受洗的婴儿。
在当时,“拖延癌”这个词还没发明,但拉塞尔的症状很明显。他幻想着自己驾驶宇宙飞船浴血奋战,但他一行代码都没写。
萨姆森他们急眼了,像三番五次被《赛博朋克2077》放鸽子的现代玩家一样,他们疯狂催促拉塞尔。
拉塞尔非常后悔,自己为什么要多嘴,把主意说出来呢?他只能向别人解释,我不知道飞船运行轨迹的数学程式,没法开始写。
游戏玩家的能量是空前的。另一位叫考托克的成员直接给PDP-1的研发商打了电话,然后开了一下午的车,马不停蹄打了来回,把程式的拷贝怼在了拉塞尔的脸上。
“糟了,”拉塞尔回忆,“我环顾四周,发现这回啥借口都没了。”
在当时,这属于纯幻想式的游戏,没人见过。他写了几个星期,写出了一个可以操作的光点,通过按钮控制方向和速度。
同时,他还写了能把光点四溅开的子程序,这可能是最早的“碰撞检测”概念。
你还别说,这游戏写起来怪上瘾。
六个星期后,在其他成员的帮助下,游戏有了更合理的机制和更高的游戏性。萨姆森在这时接手,准备让游戏拥有更美丽的星空。
在太空大战诞生之前,萨姆森他们最喜欢玩的是楼下酒吧的弹珠游戏。他们会编程到半夜,然后去边喝酒边打弹珠边吹牛。
但这次萨姆森意识到,这个游戏可能是颠覆性的——弹珠最多算是道具,但自己现在做的,是构建一个世界。
 
真实性必须具备。萨姆森找来厚厚的宇宙图册,将漫天星辰翻译为自己的程序。将来,大多数玩《太空大战》的人都意识不到,飞船后面的光点,与人们站在赤道上看到的晴朗夜景,是同样的星辰。但萨姆森仍坚信,这样做意味良多。
星星闪烁的频率实现亮度变化。随着游戏进行,星星的位置随之改变,卷动成一片壮丽的星海。萨姆森甚至设置了星座,你能看见仙后座在导弹的尾迹中隐现。他不吝于夸赞这一切,像希腊神话中卡西奥佩娅不吝于夸赞自己的女儿。
“直到猎户座出现了第二次,我才意识到我玩了这么久。”萨姆森说。
2
纯粹的程序员
在使用PDP-1编程前,萨姆森他们使用的是TX-0,一个巨大的、需要空调降温的计算机。往计算机输入之前,你得先把程式打印到纸带上,再慢慢读进去。
 
这台机器在当时价值300万美元,上机需要预约。萨姆森想了个办法,他们专门挑凌晨2、3点的时候来机房,祈祷预约的人开Party喝多了起不来。事实证明,这招还挺管用。
像猫咪沉迷于拨弄线团,萨姆森对机房里空调的嗡嗡声、输出时的滴答电鸣声感到着迷,而不需要去问自己为什么。
有一阵子,萨姆森用每个凌晨去编写一个将阿拉伯数字转化为罗马数字的程序。他把纸带输入进去,感受着电流在电路中流传,盯着那些开关和信号灯。终于,他看见两千四百年前发明的罗马数字从纸带上出现。
他形容那一瞬间的冲击是“大脑最深处的战栗感,就像有姑娘在吸食你的脑髓。”
多数人外行人不理解,萨姆森写这个程序干嘛。这种事情是个人就能做,还不费那么多电。
萨姆森不知道怎么去解释,这看起来像是一种信仰,这种信仰的教旨就是:
“计算机能做的事情是没有边界的!”
TMRC其他成员对此深表赞同。但与之对应,人能做的事情是有边界的——道德和法律。在萨姆森看来,如果系统中存在漏洞,你要做的是研究它,而不是利用它。
TMRC曾痴迷于一个电话线路系统。作为MIT的专有线路,只要电话公司不来找茬,通过映射,他们可以打到美国的任何地方。
这天,萨姆森给了他们一个20位的号码,告诉这个号码可以打到国外,让他们试试。
萨姆森随即走到楼下的电话旁。没过多久,电话果然响起。
萨姆森忍住笑,接起电话,“这里是五角大楼,”他把声音压得很厚,“请问您的安全级别是什么?”
电话那头的喘息忽然变得混乱,急促的像拉风箱。几秒种后,电话就被挂断了。
萨姆森觉得好笑,但想到这电话可能真的会打给某些不该打给的人,他又觉得复杂。
更多的时候,萨姆森他们简单又纯粹。在TX-0上,计算机的内存空间,是每个程序员的阿喀琉斯之踵。这意味着,相同功能下,代码越短,盈余空间越多,运行速度越快。
在这个意义上,编程被赋予了艺术性。萨姆森讨厌那种只是用“蛮力”实现功能的程序。萨姆森喜欢吃中餐,他形容那种精美的、通过算法压缩为几行的程序为“鱼香肉丝”,而那种臃肿的,只用指令解决问题的程序是“过期面包”,只能填饱肚子而已。
想要做出美味的“鱼香肉丝”,需要设计能去掉一整块指令的新算法。这意味着,你不能按正常人的逻辑看待问题。萨姆森为此近乎疯魔,他常常盯着一串程序动也不动,过后又在稿纸上写一堆乱七八糟的公式,如同中世纪的巫师费劲心思缩减自己咒语的音节。
最后,一个100行的十进制转换代码,被他缩减到50行。他看着新的程序,一股未知的力量充盈全身。他几乎要跳起舞来。
3
天籁之音
萨姆森从小喜欢音乐,最喜欢巴赫。小时候他经常跑到街边,听街头艺人用小提琴演奏《小步舞曲》。等艺人演完好久,他还愣在原地,回不过神。
这也许能解释,为什么他会有用TX-0演奏音乐的企图。TX-0的扬声器就像一个汽车喇叭,只能发出单一的、刺耳的嗡鸣。唯一改变声调的方式,是更改累加器中某个字第14位的状态,并用不同的程序变化呈现它。
用TX-0奏乐,意味着庞大的计算量。大多数人认为他疯了。做出过尝试的同学试图劝他回头是岸,他不为所动。学习摸索的过程漫长,他试图去像指挥乐队一样指挥计算机,但发现代码比指挥棒难用的多,TX-0也不是一个合格的乐手。
印着错误程序的纸带堆满几个箱子,TX-0的嗡鸣有时连成一串,有时一声不响。为了鼓励自己,萨姆森在音乐编辑器中加入新功能,每当出现语法错误,输出的纸带就会打印出红色的“To err is human to forgive divine”,翻译过来是“人非圣贤,孰能无过。”
 
当约翰·塞巴斯蒂安·巴赫的《勃兰登堡协奏曲》第一次在TX-0上滴答作响,萨姆森骤然想起在街角听《小步舞曲》的那个小男孩。这一切显得不可思议——你即使盯着TX-0再久,也不可能找到音乐藏在哪。
显然,代码只是一串数字。累加器中不可能存在旋律,电线和开关里也没藏着唱片机。如果非要解释这一切,那就只剩一种说法——
计算机程序本身,就是音乐。
坦然讲,TX-0的音色甚至不如一个2美元的口琴。但这不影响萨姆森成了某种宏大叙事的一部分。他编出了一个了不起的程序,实现了他想要的功能,这就够了。
从麻省理工毕业,萨姆森慢慢变成了丈夫、父亲、公司总裁。他做出了斯坦福大学音乐与声学计算机音乐组的主要引擎,为NASA写了超级计算机的中央存储器子系统。
 
但他最怀念的,还是那个TX-0上响起约翰·塞巴斯蒂安·巴赫的凌晨,他说自己那时候最纯粹,像作家,像诗人,像画家,像音乐家。
作为萨姆森的好友,同为TMRC一员的鲍勃·桑德斯认为,他当时纯粹到反常。
“他甚至不去约会!要知道,校园里有那么多漂亮姑娘!“
桑德斯对此颇有心得,他很早就结婚,喜欢钻研东西到深夜,然后吃点柠檬果冻。”我打赌,就算邀请他的派对上有玛丽莲梦露,他也会选择去研究那几行代码。”
他清楚地记得,有一次预约了下一时段TX-0的人没来——这意味着他们可以再用两个小时,萨姆森因此激动地抱住他,肋骨硌得他生疼。
“哪有正常人会和一堆细纸带和信号灯谈恋爱,这不是疯子是什么?”
桑德斯把手交叉在胸前,目光似乎看向很远的地方。
“但改变世界的,恰恰也是这群人。”
他摇头微笑,补充道。
- END -
E
very Friday
   18:00
让我们一起从人物的角度,编码0和1的世界。

文章来源: http://mp.weixin.qq.com/s?__biz=MzAwMzYxNzc1OA==&mid=2247491827&idx=2&sn=4031fccdd2ddabf2a01280fab55fea22&chksm=9b3ac642ac4d4f54ab41203f732f1502fb0785bf8735f82125ef2c464d5752ca2722ab8cdbd2#rd
如有侵权请联系:admin#unsafe.sh