Local EPUB Text
第7章 刑罚之地
■工业世界:为了钱而非兴趣工作■贝尔实验室的商业分析系统中心
■庞大的科层体系中的一小部分■设计软件很美好
每天早上9点钟之前,我一定要坐在公司的办公桌前。现在,我已经在华尔街工作了17年,这样的时间安排看起来已经是非常晚的了。可在当时,这绝对非常早。如果约书亚不吵醒我的话,我大约在早上7点钟起床,吃过早餐,浏览完《纽约时报》,然后从洛克菲勒大学公寓楼地下车库中取车,驾车穿过林肯隧道,上新泽西高速公路,在纽华克的24号公路向西拐,直奔默里山。这是一个与别人相反的上班路线,路上大概需要一个小时。晚上回来的路上即使遇上晚高峰,也只需要一两个小时。第一天上班的早晨,由于不确定开车到达公司需要多长时间,我提前到达,停在当地的一家麦当劳吃了一个蛋饼,用一种悠然的方式浪漫地感受了一种一无所有的快乐。
我还从来没有从事过有固定时间约束的工作。以前我总是做我想做的工作。现在,我像绝大多数人一样,为了钱而做“上司”想让我做的工作。这才是真实的世界。
刚刚上班前几周,当我开上高速公路的时候,我会有一种深夜品尝威士忌酒般忧伤的想法,浅酌一小口,感受一下自己身处窘境的滋味,还要寻找一些生活的希望。最初,我试图将开车上下班的时间当作一种冥想练习。但在接下来的几个星期里,我完全放弃了这种想法,转为听新闻或音乐。那时我最喜欢的是收音机里的脱口秀节目,在20世纪80年代的纽约这种节目才刚刚流行。我喜欢的交通广播节目是WBAI,这个节目有着20世纪60年代的风格,标新立异,充斥着一些固执己见的社会底层群体,他们能把任何让他们困扰的事情说上个把钟头。我听到过迈克·菲德,上西区一个帮派成员,每周一次用斯伯丁·格雷风格的独白,搞笑地唠叨一个小时,都是他生活中令他痛苦的事情,掺杂着一些短暂的快乐时光。多年以后,他在位于西81大道和百老汇大街的莎士比亚书店工作,而现在这家书店早已被超市和互联网搞垮。我还听过玛格特·阿德勒的女性节目,还有关于她在巫术流行之前作为巫师的生活。还有一个男同性恋主持一个一小时的情感类音乐节目,就是在这个节目中,我第一次听到克伦·阿克斯演唱的日耳曼风格的歌舞秀。有时,我会收听古典小说如《磁带上的书本》(Book on Tape)等。但还是脱口秀更适合我,特别是由不开心的、被压迫的人所做的脱口秀。我也喜欢自我提升类的节目,特别是WABC频道在每天傍晚我开车回家时播出的托妮·格兰特主持的节目,她用动听、清纯、流畅的美国口音告诉带着问题打电话进入节目热线的听众“慢慢来,不要着急”。在贝尔实验室工作的5年,是我唯一一段听广播能超过几分钟的时间。
那些一直靠工作谋生的人告诉我,贝尔实验室是一座象牙塔。可对于我来说,这里不过是一个赚钱的地方。我在科罗拉多大学大概能赚到1.8万美元,可在贝尔实验室刚开始就能赚到4.2万美元,半年后又提高到4.9万美元。但对于在纽约生活的我们来说,还是显得过少,而且增加的薪水也没能使在世界中迷失方向的我得到宽慰,尽管我努力不把这点表现出来。
从没有过的焦虑和压抑,促使我比其他人更注意AT&T各种形式的规定。我每天9点钟之前一定要到办公室,一天,在上班路上我车上的气泵出了故障,我能估计到这至少会让我迟到10~15分钟。8点45分的时候,我十分惶恐地将车停在高速公路边上的公共电话厅旁,然后给我上司的秘书打电话,告诉她我可能要迟到。而当我半个小时后到达办公室的时候,她尖锐地批评了我,说我认为所有人都会在乎这些事是不是精神有问题。但我是他们雇来工作的,我必须按照他们所要求的行事。我怨恨这种状态,有种强迫症的倾向,更关心规章制度的文字表述,而忽略其宗旨。一次,为了去约书亚的幼儿园,我需要请假一个上午,我试图向哈里解释一下原因。哈里很善意地告诉我,他根本不想知道这些琐事。但我又是太爱抠字眼且不够成熟,不想利用这些非常有益的自由。很多年后,当我离开贝尔实验室的时候,我才意识到在那里我是可以做任何我喜欢的事情的,还可以做上很长一段时间,甚至都不会有人会注意到。我的朋友马克·哥尼斯伯格在1986年年末离开贝尔实验室而去所罗门兄弟公司就职之前,就用他工作中的大部分时间来研究期权理论的相关书籍,尝试寻找一种确定美式看跌期权价值的闭式(closed-form)解决方案。我怀疑是否有人完全知道他在做什么。尽管马克的研究可能是一个伟大的发现,但这并不能给贝尔实验室商业分析系统中心带来直接的商业价值。但那时又怎么样呢?
我真的不能记起到底那里是叫“商业分析系统中心”还是“商业系统分析中心”了。他在5号楼办公,那里有100多人。我们这些前科学家来自各种领域,现在略做培训就为AT&T遇到的各种可以用数学方法加以改进的商业问题提供内部咨询了。我们听命于上司吉米·唐斯。他以前是一位应用数学家,大概将近50岁,受到当时某些物质利益的吸引,来领导这个部门。
每个人都不同程度地畏惧唐斯。他似乎将社交活动当成一场竞争性的奥林匹克赛事,将他那旨在迅速将对手扳倒的充满柔道色彩的对话技巧运用得炉火纯青。通过对所讨论的问题做出某种咄咄逼人的、玄妙但又让人摸不着头脑的定论,唐斯完成了“比赛”。让我懊恼的是,他手下的那些资深员工还四处宣传他那些令人费解的言论。我最近听说罗杰·洛文斯坦——一名供职于《华尔街日报》的记者,同时也是《当天才陨落之时》(When Genius Failed)一书的作者——评论约翰·梅利韦瑟是“除非占尽优势,否则绝不出手”。唐斯相信自己在任何地方都占尽优势。他在每次交换意见时都要占主导地位。你所知道的任何事实,你所具备的任何兴趣,都是一个表面没什么特别但其实内藏暗箭的攻击,需要他进行报复,把你打倒。如果马克·哥尼斯伯格对解决热传导中一个边界值问题发表了意见,那么唐斯就会用南方人那种拿腔拿调的语气,谈起在20年前他用傅里叶分析做出的一项非常聪明(但却毫不相关)的成果。当他看到我们一群人准备在午饭时间去跑长距离长跑时,他立刻会加入我们,尽管他已经吃过午饭了。他会速度非常快地向前冲,决心超过我们这些年轻人或是空腹的人,直到因为胃痉挛而速度越来越慢。我在他身边感到不舒服,与他保持着距离。当我们有一次在一起吹牛聊天的时候,谈到冥想是实现忘我和谦卑的一种途径,他有意无意地坚持说,他比我们中的任何人都要谦卑。这种说法中的讽刺意味连我都差点没注意到,当然他就更不会体会到了。我认为让他真正受折磨的是一种被夸大的让人没有安全感的竞争压力,这种压力同样折磨着很多科学家和学者,但却让他变成一个焦虑的管理者。
我的直接上司是罗恩·谢尔曼,他是部门总监哈里手下的四位主管之一。罗恩是一位身材矮胖、和蔼可亲的工程学博士,曾是电磁脉冲(EMP)领域内一篇很重要的实验研究的共同执笔者。这项研究表明,核爆炸所产生的强磁场将会在全国电话网电话线上产生法拉第电流的瞬间增大和热量的瞬间聚集,因此,一次核攻击即使没有人员伤亡,也很可能会融化并毁掉整个电话网。罗恩是我们中心最温和、优雅的人之一,富有幽默感,待人友善,尽管他早年经历过家庭悲剧,使他成为两个幼子的单身父亲,其中一个儿子已经能够写出很受欢迎的剧本。在我看来,罗恩在贝尔实验室过着令人艳羡的生活,他自己制定自己上班与下班的时间,且不受别人约束。他兴趣广泛,年复一年积累着更多的学位:先是工程学博士学位,接下来是高级管理人员(Executive MBA,EMBA),最后我想好像是个法律方面的学位。在贝尔实验室,行政助理和秘书类的岗位很少,罗恩会在我准备下班时,把一堆文件交给我,让我复印给小组里的每一位同事,而他似乎可以从中得到一丝快乐。有时,他会让我在小组讨论会上做会议记录,并称赞我写的字好。不幸的是,这让我感到自己很重要的同时,也感到自己很幼稚。
罗恩和我不过是巨大科层体系中的两个节点。在贝尔实验室和AT&T还没有分开时,这个巨大的科层体系不但包括整个贝尔实验室,还包括AT&T、西部电力公司以及天知道还有哪些属于整个贝尔系统的组织。每个主管下面有三四个MTS(技术人员,譬如我),每个部门总监(如哈里)下面有四五位主管(如罗恩),每位“吉米·唐斯”下面又会有四位“哈里”。从这里开始,整个组织架构向上延伸到越来越高的层级,最终把整个公司都包括进来。我曾经想过,如果他们再将公司扩展四个层级,或许他们就会把整个美国的成年人都变成雇员了。
每位新来的员工都会逐渐凭直觉意识到这种报告层级。当你第一次进入公司,很快就会有人向你解释说,贝尔实验室组织架构里的职位要比AT&T组织架构里差不多同等级的职位高半级。这也就是说,我们这些位于贝尔实验室底层的技术人员事实上“几乎相当于AT&T里的主管”。我在贝尔实验室的五年中,经常听到有人大声说“我刚刚参加完一次四级会议!”我一直没有搞明白,这种说法到底是指这个会议非常重要,需要有一位来自高高在上的第四层级的人出席来体现其重要性,还是指会议议题涉及广泛,需要同时有四个层级的人参加呢?职级越低,级别越高,你会为这些职级高的人身上散发出的神秘色彩而颤抖。吉米·唐斯常说,除非你自己得到提拔,否则你永远不会理解比你高一级别的人的行为,比你高两个级别的人的行为注定永远就是个谜。这种说法听起来有种卡夫卡式的怪诞意味。华尔街整体上(特别是高盛)让我印象特别深刻的是,当我在这些地方工作五年以后,并没有因为职级高低差距悬殊而带来恐惧感。那时在高盛,如果业务上需要,你是非常容易接近那些重要(也是很富有的)人物的。举例来说,在我进入高盛的第一年里,我就曾与鲍勃·鲁宾谈过好几次话,那时他还是固定收益部的总监。
整个贝尔实验室系统是一个庞大的科层体系,大概有100万的工作人员,从架线工到律师。贝尔实验室有着自己内容丰富得像百科全书式的各种各样的规章和制度。我有一次亲眼目睹一位主管在我为了一件临时任务需要向纽约打电话时,把行为手册翻了个遍,想找到这件事的合适处理方法。就像军队一样,贝尔实验室把你身上所有有关特长、学位或荣誉这些外在的装饰物都全部剥去,然后赋予你它自己的装饰物——主管、部门总监、中心主任,以及再往上的一些头衔。不知为什么,大家都理解公司卡上不能印上外面的学术头衔。安迪·索尔特豪斯是一位前物理学家,也是一位对天文学充满兴趣的业余爱好者,喜欢观测小行星,他比我先加入贝尔实验室。他对这种现象的解释是,这有助于缓解紧张关系,否则一名带有博士学位的技术人员向只有硕士学位的主管汇报工作时会出现尴尬。[1]
从地理空间上说,商业分析系统中心坐落在久负盛名的默里山建筑群北部边缘地带简陋的活动房屋中,这片区域也是贝尔实验室最有趣,也是最有学术气息的部分。从逻辑空间上说,我们是网络系统区域90号的一部分。而10号区域虽然是数字最小的,但却是皇冠上的明珠,是一个纯粹的研究中心,那里有着一流的科学家和工程师,从事着最尖端的研究工作,他们没有向政府寻求经费支持的负担。在那些没有放开竞争的日子里,AT&T公司是因政府管制而产生的垄断企业,它可以凭自己的需要制定价格,让消费者买单。
10号区域在计算机科学和物理学方面的科学家绝对是世界级的。在那里,布莱恩·柯尼汉、丹尼斯·里奇与合作者们共同研发了现在名扬四海的C程序语言和UNIX操作系统,后来还设计了一整套应用程序,他们还给这些应用程序起了一些呆里呆气的名字,如“awk”“ed”“sed”“finger”“lex”以及“yacc”。10号区域在使人们广泛接受程序即是工具又是文本的观念上发挥了重要作用,程序语言写出来不但为了控制电子机器,还是为了让人读懂,为人所用。在贝尔实验室,人们以计算机编程为傲,并将其视为一种艺术。在物理学和工程学方面,贝尔实验室拥有实验方面和理论方面的强大研究力量,在电子学和信息理论方面都做了大量研究,使得后来通信领域的很多进展成为可能。巴丁、布拉顿和萧克利就是1947年在贝尔实验室发明了晶体管;克劳德·香农于1948年在《贝尔系统技术杂志》(Bell System Technical Journal)上发表了里程碑式的论文《一种关于通信技术的数学理论》。这里也做基础性研究——由于发现了罗伯特·赫曼(Robert Herman)所预测的宇宙大爆炸后遗留下来的宇宙射线,彭齐亚斯(Penzias)和威尔逊(Wilson)获得了诺贝尔奖。即便是我在贝尔实验室的工作期间,霍斯特·斯特默(Horst Stormer,现在在哥伦比亚大学)对量子霍尔效应进行了研究,最近凭借这项研究使他与他人共享了诺贝尔奖。就在1984年我要离开贝尔实验室的时候,费曼来这里做了一次关于量子计算的讲座,当时这项技术刚刚起步。10号区域的经济学研究团队(后来解散了)同样声名远播,罗伯特·莫顿(Robert Merton)于1973年在《贝尔经济学与管理科学期刊》(Bell Journal of Economics and Management Science)上发表了他的权威论文“理性期权定价理论”。
10号区域里的人有着明显的自由,我羡慕那里的每一个人,并对自己都能感觉出来的不自由感到懊恼。我连续好几年与他人分享一辆小型货车上下班,往返于曼哈顿和默里山之间,因此得以接触到其他一些像我一样在贝尔实验室做应用研究的技术人员。我注意到那些从研究生院直接到贝尔实验室工作的工程师,能很快习惯于这里的官僚习气和不被重视的感觉,他们不知道还有比这更好的。但是我们这些曾经是独立科学家的人,总是对这里的行政机构氛围而感到恼火,我们中的很多人最后都离开了。
比尔·托伊是几年后我在高盛的合作伙伴,他曾是一名实验粒子物理学家,他的博士生导师是杰里米·弗里德曼(Jerome Friedman),弗里德曼因为在深入质子内部的非弹性电子-核子碰撞实验中发现夸克的结构而获得诺贝尔奖,也正是这一实验启发了我的博士论文研究。比尔在进入高盛之前也是在贝尔实验室工作,他经历了与我一样的困惑。我们这种人的问题在于,我们希望取得某种成就。而贝尔实验室则更适合那种对摆弄最先进的昂贵仪器设备感兴趣的人,但我却不是这样做事情的,我的满足感来自于创造出一些什么东西。可在5号楼里,我所参与的一些项目最终都令人困惑地陷入了绝境。你做了些工作,写了一些内部报告,哈里向吉米·唐斯做了汇报,然后唐斯宣布这个项目因为某个不明所以、神神秘秘、说不清楚的原因而失败或成功了。由于所有权属于贝尔实验室,我们写的报告是不可以对外发表的,可通常是,公司内部也不会有人真正用到这些研究成果。我越来越觉得“信息需要自由”这句话说得真是太对了。
我憎恶贝尔实验室中对管理层的顶礼膜拜。我进入贝尔实验室的时候已经35岁了,一到那里我很快就意识到除非成为管理者,否则在90号区域内是得不到尊重的。在我以前研究物理的生涯中,才干和技巧就是一切——你会对那些为了成为行政管理者而停止创造的人感到遗憾;可在贝尔实验室,才干似乎是一种商品,是一种可以供管理者购买和再分配的原材料。事实上,主管们是禁止从事“技术工作”的,理由是这些工作会与下属竞争从而降低士气。因此,管理者们就成为了公司内部的调配专家,他们似乎已经放弃了自身的能力,而去适应只在这家机构、只在当时才有价值的管理体系。
在贝尔实验室,我感觉自己年龄太大了。我的同事认为所有40岁以上的技术人员都在走下坡路。我也违背了自己良好的初衷,开始这样看待他们和我自己。我难以想象这样的日子再过20年会变成什么样子。当我最终去高盛工作的时候,我发现高盛会欣赏过硬的技术和才干,我对此感到宽慰和兴奋。交易员、销售人员、程序员、期权专家,他们都靠自己的双手工作,发家致富。
同样也是在贝尔实验室,我第一次体会到了什么叫政治正确。那时还是在1981年,我们每年都要离开公司参加一次为期一天的集体治疗性质的会议,会议由外部咨询师负责组织。在那里,我们接受色彩和性别敏感度的训练。我们还玩集体游戏,就是那种必须当着大家的面宣布把自己看作哪种动物,并说明原因(一个在其他方面都很温顺的女同事,将自己说成是狮子,原因是狮子是以杀为荣的雌性动物,一年之后她就成了我的主管)。我们听音乐并描述音乐所唤起的感觉。我们还假设工作场所出现危机而表演小品。以其中一个情节为例,我们被告知一群男技术人员和女技术人员去离公司不远的餐厅吃午餐,其中没有他们的主管。在餐馆里,其中一个男技术人员讲了一个黄色笑话,其中一个女技术人员觉得受了侮辱,那么女技术人员应该:(a)保持沉默;(b)向这名男技术人员提出抗议;(c)在返回贝尔实验室后向主管报告此事?我记不清正确答案是哪一个了。
你被认为应该在这些工作之外的会议中向同事和主管坦诚你自己的私人想法,然后第二天回到单位再与他们一起工作。这种对个人隐私的侵犯表面上的合理理由是,你的性格和个人看法可能会影响到工作的质量,因此公司关注这些也是合情合理了。我憎恶这种将个人生活和公司生活混在一起的做法,原因很简单,我受雇于公司并不意味着我每年一次都要在公众面前讨论我个人的内心烦恼,而且我也特别不喜欢听到别人的烦恼。在20年后互联网泡沫快要破裂的时候,有段时间我也为高盛感到悲哀,因为它也开始充斥着江湖郎中沿街叫卖似的咨询师,成功兜售那些时髦的、专门针对团队建设的培训。
同时,在5号楼里人们处处表现出野心勃勃的样子。跟我们其他人一样同是前科学家的几位女同事,开始热衷于阅读并遵从《为成功而着装》(Dress for Success)之类的书。她们开始穿着带着垫肩的男性套装,系上丝绸领带。一位女技术人员警告我永远不要穿棕色套装,她说话的语气非常认真,以至于我以后真的都不敢再买棕色西服,怕她万一知道什么重要的潜规则。可是,有一天她在倾诉她个人生活的时候却在我的办公室里失态大哭,似乎没人知道我应该表现得公事公办一些,还是应该表现得富有同情心一些。我在贝尔实验室待到一半的时候,因为贝尔系统的解散和贝尔子公司的分拆,贝尔实验室本身有一部分被分租出去了。我仍留在AT&T,而我的一些同事则被派去贝尔通信,这是由贝尔电话公司新成立的一家电信实验室。
贝尔实验室工作的低效率与令人恼火之处可以写满一本书,最能体现其官僚作风无聊本质的愚蠢之处是在1984年,有一次从上层某处发起,要求我们在每周都要填写的考勤表上再填上加班时间(在公司或在家),然而加班根本就没有加班费。这不过是诱导你哄骗领导说你在正常工作时间之外又做了多少工作而已,以此讨好领导。这种荒唐事真抵得上斯科特·亚当斯创作的“呆伯特”(“Dibert”)讽刺漫画。而亚当斯本人就在太平洋贝尔公司工作过几年。
但是,在贝尔实验室的生活也有好的方面。中心里充斥着前科学家和数学家,他们中的一些人是顺应20世纪70年代末期的“时代潮流”而从学术界退出来到企业工作的。其中有些粒子物理学家我以前就认识。我与马克·格尼斯伯格逐渐交好,他对任何形式的难题都兴致勃勃。我去贝尔实验室面试那天,他正好不在。但我正式开始工作后不久,对很多相同事物的共同反感把我们联系在了一起。我离开贝尔实验室转投高盛6个月后,他步我的后尘离开贝尔加入了所罗门兄弟公司。马克、我还与拉里·凯格利斯交上了朋友。凯格利斯是一位与我年纪相仿的物理学家,几年前当他还是宾夕法尼亚大学广义相对论博士生时我就遇见过他。史蒂夫·布拉哈是另外一位前粒子物理学家,过去7年里我在各种学术会议上经常遇见他,他放弃了威廉姆斯学院的博士后职位,也来到了中心工作。几年后,他也离开了贝尔实验室,成为一位波士顿地区的软件咨询师和作家。
马克、拉里和我经常混在一起。有一次,我拉着他们去位于纽约的伦理文化协会,听秋阳·创巴仁波切本人的一场讲座。拉里像我一样受到讲座内容中不同寻常之处的吸引,并对莱克分析法产生了兴趣。几年前我曾看过马克维耶夫关于莱克的有趣影片《W.R.:有机体的秘密》(W.R.:Mysteries of the Organism),很欣赏影片中斯拉夫式的感受力和在性压抑与政治压抑之间的巧妙平衡。现在我正在阅读莱克学说的追随者迈伦·沙拉夫所著的讲述维尔姆·莱克与众不同、令人难忘的一生的传记作品《愤怒在地球上》(Fury on Earth)。
贝尔实验室的生活是相对松散的,我们常去第22大道的低档新泽西小饭馆吃午饭,可以吃很长时间。当我们偶尔带着来面试的人出去吃晚饭时,一定会去L’Affaire。这家餐馆不落俗套、复杂难懂的名字就等于告诉你经营这家餐馆的是什么样的人,它卖的是什么菜,以及什么样的人才会去吃。有一次我们在外面用过漫长的一餐后,外面下起瓢泼大雨,马克、拉里和我坐在停车场我的车里,开始琢磨起一道在中心里广泛传播的、著名的两个安全套组合问题。
这让人很难抵挡住将同样的做法推广到N对恋人的诱惑。
拉里是一位认真的马拉松爱好者,他和我都是贝尔实验室里一小群热衷于跑步的人,每个星期我们都会利用午饭时间长跑几次。我们会下楼去一间小淋浴室,这间淋浴室是归大楼和运动场管理员使用的。我们在那里换衣服,然后去草地上做热身运动,跑上30~45分钟,调整一下,做一些整理运动,洗个澡换上衣服,然后去自助餐厅吃饭。整个过程差不多要用两个小时,占工作时间中的很大一块,特别是如果工作时间安排是朝九晚五的话,但似乎没人会在意。我在此前后都没有这么健康的身体状态,也没有跑得这么快过。
我们在小组内部也偶尔搞一些教育性质的学术交流会,有一次是在1981年年初的时候,拉里介绍了布莱克-斯科尔斯理论,我在那之前从来没有听到过。当听到期权的收益居然也涉及在粒子物理学研究中曾用过的海维赛德(指标)函数中的代数和微积分时,我开始有些感兴趣了。后来我读到过一篇伯克利大学的马克·加尔曼的早期论文,他对同样的这些关系进行了分析。但期权理论与我们贝尔实验室中的工作关联不大,我暂时的兴趣很快就消散了。我不明白什么是对冲或风险中性,也不关注股票市场。
几年后,拉里、马克和我被派往麻省理工学院参加一个为期两周的管理人员暑期金融培训班,斯图尔特·迈尔斯给我们上课,用的是他和布雷利合著的教材。我们住在大学宿舍里,尽情享受远离公司生活的自由,下午晚些时候在麻省理工学院的跑道上跑步,晚上在Cambridge吃晚饭。迈尔斯的课程主要是讲资本资产定价模型,我着迷于金融理论与热力学之间明显的相似之处。我看到了热能与金钱、温度与风险、熵与夏普比率之间的或许过于牵强的联系,但那时我还没有想清楚如何利用这种相似之处。课程非常短暂、密集,我们在学习方面也没有花足够多的时间。课程的讲师之一是泰瑞·马什现在是伯克利大学的教授,也是金融软件公司Quantal的创始人之一。那时,他才刚刚小有名气。多年后,当我参加专业金融会议或要在伯克利哈斯商学院做讲座时,总是乐于去拜访他。
我只是将AT&T视为一份工作,而且是一份令人失望的工作。可哈里却有着强烈的精神使命感,认为我们都在为提高人类通信事业贡献一份力量。那时我每想及此总是想笑,但在某种层面上也许他是对的。不管怎么说,他、马克和我都憋闷得要死,都在5年内离开了那里。
我在贝尔最喜欢的事情就是创造软件的美妙。不了解的人将其称之为“编码”,好像有些机械的意味,表示仅仅是不动脑子地将一种符号转换为另一种符号。喜欢它的人常自称为“程序员”。不管怎么称呼,我发现编程是最纯粹的活动之一,是真正的利用语言的建筑。然而我在科学界和商业圈的朋友们竟然奇怪地对编程一致反对——他们认为编程远远没有研究物理或是赚钱重要,但我就是喜欢编程。
当你编程做得不错的时候,你是在尝试着设计一种机器去完成某项任务。你利用人造的编程语言设计,如FORTRAN、Lisp、C++以及Java。编程无异于让一位朋友帮你完成某项任务,最大的不同是计算机比任何朋友都要抠字眼,因此这项任务的每一个细节都要描述清楚,就好像这台计算机对整个世界一无所知一样。
在1980年我到贝尔之前,我从来没有意识到编程能够如此美妙和具有挑战性。我从来没有用过计算机终端。在我求学和博士后期间,我所有的编程都仅仅是为了一次又一次地获得复杂数学公式的计算数值。我认为计算机不过是过于美化的计算器而已。唯一一次例外是1965年在开普敦大学时,我用打孔卡片向机器里输入一个词汇,从而创造出随机生成的短诗。我以前一直将那次尝试当成是一种儿童游戏。
但在1980年的AT&T,整个公司都在用C语言,C语言是一种既优美又实用的计算机语言,10年前由丹尼斯·里奇(Dennis Ritchie)在默里山发明出来。他原本是将C语言设计成一种高级工具,用来编写UNIX操作系统的可移动式版本的。UNIX操作系统是也是由肯·汤姆森(Ken Thompson)和里奇在默里山发明的[2]。现在,从电话机交换系统到语言处理软件等几乎所有东西都是利用C语言在UNIX系统写出来的,都有着不可思议的样式。最终,甚至通常只对小数点后有几位数感兴趣的物理学家也开始放弃难看实用的FORTRAN语言,转而选择有着诗歌风格的C语言。编程当时正处于革命的最后阶段,而我才刚刚开始学习。
编程革命的信条要求程序语言必须是人们能够理解的信息文本。而在此之前,情况并非如此,因为计算机程序要储存在昂贵且有限的计算机内存中,程序员一般只关心将程序写得尽可能简短、精炼。程序员以编写简要、凝练、隐晦甚至令人费解的程序为荣。只要计算机运行得够快,设想能够得到执行就可以了,形式不重要,内容才是王道。因此,计算机程序非常容易出错,而且不容易让人理解、修改——不言自明的是,程序只是为了计算机而写,使得计算机可以机械地执行命令。因为编写非常困难,一个计算机程序通常能够占用相当长的时间,在存续期间内,程序的维护、修改、升级成本都非常高昂。这也是计算机千禧年问题(Y2K)为什么令人担忧的一系列背景。
当编写程序时,你在做些什么呢?你尝试着利用一种语言描述一个想象的世界,并要尽可能准确地说清楚它的细节。你尝试着在一台机器上创造这个世界,而这台机器只能理解和执行简单的命令。你只能通过准确的指令实现这一切,通常需要长达几十万行的指令。你的指令序列将由毫无理解能力、做事机械的计算机毫无歧义地予以执行;同时,你的指令序列还要能被自己和其他程序员阅读、理解、记忆和修改。就如同是个力图解决形式与内容之间的张力一样,编程必须解决内容的可理解性与形式的简洁性之间的矛盾关系。为此,你所使用的语言就至关重要了。
在贝尔实验室,人们将编写代码本身视为需要工具的任务。他们鼓励程序员将每一个他们负责处理的具体程序都视为一类更通用的应用程序的一个实例,并由此利用计算机来设计出这类应用程序。也就是说,他们设计程序来编写部分或是全部程序。贝尔实验室的UNIX团队出于热爱而非责任开发出一整套编辑和分析工具,用来帮助人们撰写、检查和修改程序。在汤姆森和里奇的UNIX编程环境中,计算机不仅仅是执行程序的自动装置,还是更重要的、用来创造程序的一种工具。计算机不仅仅是锤子,还是一座熔炉,用来设计出下一代的锤子。
贝尔实验室的技术人员不但是在生产程序,他们还考虑程序需要完成的很多子模块任务(如阅读输入指令、解方程、设计输出格式等)。然后,他们写出短小、专用的编程语言,这些编程语言能够用来生成更大程序中的不同子模块任务。最后,他们用这些小的语言设计出整个程序本身。他们总是能从任务中归纳出工具来。
因为AT&T是一个政府管制的企业,禁止通过与IBM和Digital等公司竞争来销售软件以获取利润,贝尔实验室就将这些工具免费发布给各个大学。这种扩散传播产生了整整一代程序员,他们认为编程不只是一项例行工作,相反,它是一种以计算机为媒介的文学创作上的努力。程序看上去的清晰表达、优美文字、良好结构与程序的高效运行同等重要。
柯尼汉和普罗格在20世纪70年代写了一本著名的、影响广泛的书,叫作《编程风格的元素》(The Elements of Programming Style)。这一书名是向斯特伦克和怀特那本如何写好文章的经典论著《风格元素》(The Elements of Style)致敬。这些成果正式把编写程序和编码开发看作一门艺术的潮流中的一部分。
当我进入商业分析系统中心时,这种文化已经广为流传了。所有新进雇员都要学习UNIX操作系统及其Bourne指令解释的脚本语言,还需要学习用来编程的C语言、用于统计分析的S语言以及线性格式的文本编译程序“ed”。我现在还记得在比尔·乔伊的图像文本编译程序“vi”刚发布不久,学习使用它时的那种兴奋之情。值得称赞的是,中心组织了一系列相当于大师级的计算机科学课程,几乎全部由来自于纽约哥伦比亚大学的教授讲授。我从约翰·肯德那里学会了软件设计和运算法则,约翰是一位举止温和、低调克制的视图软件专家;我们从戴维·肖那里学会了数据库理论,他后来创立了投资公司D.E.肖公司和第一个免费电子邮件服务提供商Juno。在D.E.肖公司里,戴维聘用了杰夫·贝索斯,后者后来离开后创立了亚马逊网站。
戴维当时已经是一位行事随心所欲的企业家了。他运营着一家软件公司,同时在斯坦福大学研究着计算机科学。当我遇见他时,他仍然保持着一种不修边幅的学者风度,与其在商场上的自信完全不相匹配。他是现在无处不在的资本家学者的早期典型。他的后裤袋中装着一个小小的、跟他体型很相配的皮质日记本,里面记着他的各种时间安排。这种日记本是宾夕法尼亚州生产的,很有美国中层管理者的感觉,带着用线圈穿起来、以月为单位的插页,上面留有空白可以列出约会和待办事项。这种本子看起来完全是一派毫无学者气息的公事公办的样子,仿佛是后来很快就开始流行的欧洲Filofaxes牌记事本以及10年后的美国产商务通的早期版本。
显然,戴维是一个很有想法的人。那时他就开始计划设计一种被他称为“NonVon”的计算机,这种计算机有很多小型处理器和存储器组成。这一设想是对带有一个大型中央处理器的标准计算机的颠覆,标准计算机的设计自从约翰·冯·诺依曼和20世纪40年代的电子数字积分计算机开始就已被广为接受了。戴维的自信激起了恐惧与嫉妒。约翰·肯德曾半开玩笑似得对我抱怨说,在竞争哥伦比亚大学有终身教职的他和其他副教授们,都在努力争取十分有限的政府资助来做研究的时候,戴维总是在谈论着那些规模宏大得多的、野心勃勃的计划,实现NonVon的计划最终将需要几十到上百名人员。约翰认为,与戴维那宏大的愿景和近乎吹牛的、不假思索的自信比起来,他和他同事在获得终身教职方面已经没有什么机会了。
对于戴维恢宏的“世界观”,约翰的看法是对的,但对于戴维追求卓越所走过的准确路径,约翰的看法可能是错误的。此后不久,戴维就离开了哥伦比亚大学,前往摩根士丹利传说中的南捷罗·塔泰格利亚团队工作,从事配对交易[3]。当这种努力最终结束的时候,戴维创立了D.E.肖投资公司。他的新公司将自身视为科技与金融交叉领域的专家,制造用来寻找交易机会的高速计算机系统,并呵护这种系统建造者的名声。1966年的《财富》杂志称其为“今日华尔街上最具诱惑力、最神秘的一股力量”。我认识华尔街的一些招聘经理,只要是从D.E.肖公司出来的任何人,他们都愿意给面试机会,目的就是想了解这家公司不为人知的操作内情。1977年,我受邀介绍戴维作为一次会议午宴的演讲嘉宾,我介绍到“……你可以将D.E.肖投资公司视为蝙蝠的巢穴,而将戴维看作蝙蝠侠,他注视着世界,自己却隐身于黑幕之后。”但建造一台无风险的赚钱机器,特别是很大规模的机器,并不那么容易。世界上并没有那么多不承担风险就好赚的利润。最终的结果是,为了让更大规模的资金获得同等水平的收益,就需要采用风险更大的策略。1998年,与美国银行合作的D.E.肖投资公司,据称由于采用了同搞垮长期资本管理公司、令许多其他对冲基金或投资银行损失惨重的相同的投资策略,损失了将近10亿美元。
与此同时,1981年的时候,我参加了贝尔实验室提供的计算机科学课程,学会了编程的实用技术。我特别着迷于语言设计和编码撰写,花了大部分时间来创造特别的计算机语言,以便于使用者解决特定问题。
在高级语言中,像Java、C语言甚至是传统的、已被摒弃的FORTRAN语言,利用它们,你可以轻松写出简短精密的命令,指挥计算机完成复杂的操作。你编程的方式可以非常接近于一个受过教育的人思考和谈论数学的方式。但是计算机的中央处理器却像是极简单的大脑,实际上只能执行逻辑和数学运算,是一个“低能的天才”(idiot savant),被设计为只能“理解”并对简单的儿童语言做出反应。这就像你想告诉一个只掌握了简单儿童语言的小孩(但却对超长的命令串有着非常好的记忆力),去牵着狗散步。你不能只说:“带着狗去散步!”这种说法集中了世界上过多的知识;相反地,你必须将这种高级的、不够具体的指令翻译成一系列非常初级的、按顺序排列起来的一系列动作,每个动作都要用儿童语言描述出来。你必须这样说:
牵狗来;
找到拴狗链;
把拴狗链系在狗脖子上;
握紧拴狗链;
打开前门;
跟着狗走5分钟;
如果狗离开人行道,就用拴狗链将它拉回来;
……
回到前门;
进门;
给狗松开拴狗链。
如果你想设计一种高级语言,让它的使用者发出如“遛狗”这样的高级命令,你必须提供一个编译程序,将这一命令翻译成中央处理器能够执行的简单语言。很显然,翻译过程中的一个错误,或仅仅是某处还不够明确,狗和小孩就永远也回不来了!
当20世纪50年代末,IBM的约翰·巴克斯和他的团队开发FORTRAN语言,也就是“公式翻译”语言的时候,他们希望让程序员用这种语言来运算复杂的数学公式。编译程序必须将FORTRAN语言命令翻译成按顺序排列的儿童语言一般的机器编码,以便简单的计算机逻辑电路能够执行。编译程序不但需要将合理的命令翻译成儿童语言,还需要拒绝翻译不合理的或意义不明确的命令。如果你让它编译“狗这条!带散步”这样的命令,它必须要喊“犯规”,简而言之,编译程序要理解语法。
语法就是合理的句子要满足的一整套规则。成年人不用思考就能本能地认识到语法,但计算机必须按照规则来。巴克斯开发出一种数学形式,用来表述、分析语法,有助于完成语言翻译任务。这种形式在那些简单的编程语法上,也就是在不如自然表达的语法复杂和微妙的编程语法上很好用。巴克斯的这种形式被称为“巴克斯标准格式”(BNF),为创造语法上相一致的计算机语言提供了一种方法,可与诺阿姆·乔姆斯基发现的“生成语法”相提并论。利用“巴克斯标准格式”,我学会了如何设计短小的语法上相一致的计算机语言。
BNF可帮助你界定你的计算机语言的语法。它能让你设计出一种编程语言,对你的语言做句法分析并只接受那些语法上正确的句子。但到此为止,任务只完成了一半。任务的另一半就是完成编译程序的余下部分,将语法正确的句子翻译成儿童语言。这是一种极其乏味和困难的任务,对于人们赖以研究数学或控制航天器的程序而言,翻译上的一个小错误都是潜在致命的。
UNIX操作系统对于程序员而言具有令人激动的开放环境。它含有两个我见过的最美好的工具程序:分别被称为“lex”和“yacc”,它们让我毫不费力地创建编译程序。lex是“词汇分析器”的缩写,yacc代表“目前为止又一个编译程序的编译程序”(Yet Another Compiler-Compiler)。像很多UNIX工具程序一样,人们用短小、可爱的首字母缩写形式来命名“yacc”。你可以利用lex来创建子程序,识别你语言中的所有单词;可以利用yacc来创建另一个子程序,识别并分析合理的句子,然后执行你认为合适的命令。lex和yacc都是“非过程性”程序,你不需要写下词汇分析和句法分析的所有细节。相反,你只需要告诉它们你希望识别怎样的语法,它们就会编写出程序来完成这项任务,所利用的算法规则可以回溯到计算机先驱艾伦·图灵和史蒂芬·克林使用过的匹配模式。有lex和yacc作为帮手,我学会了创建我自己的计算机语言。
费曼图出现之前,只有像施温格和费曼这样的天才人物才能计算出量子力学的各种可行性,费曼图出现后,平凡的物理学家都可以不费脑子地进行计算。与此类似,这些句法分析工具允许普通程序员毫不费力地设计出计算机语言,而此前这样的工作需要付出极大的努力才能完成。
我过去总是将计算机应用等同于数值计算。现在,当接触到计算过程中的语言方面后,我非常遗憾以前没有认识到。我幻想着能够逃离商务分析系统中心的工作,而成为10号区域内一名真正研究计算机的科学家。我还曾尝试着调换部门,但我既没有相关证书又无工作背景,这几乎是不可能的。
尽管如此,我在贝尔实验室5年的大部分时间里,都在从事设计编译程序的工作。我花了好几年的时间设计并运行了一种我称之为“HEQS”的语言,也就是“分级方程式计算器”(Hierarchical Equation Solver)。这是一种关于方程式的语言,为那些知道如何列出方程式,但又缺少足够的数学知识或时间来解方程的商务人士而设计的。这一名字体现了UNIX操作系统工具程序所必备的短小、可爱,但它还是“邪咒”(hex)的音近义异词,简明地反映了我暗地里对在5号楼那段生活的病态看法。
与lex或yacc相似,HEQS是非过程语言,使用者可以说出他们想要做的事情(如“求解这些方程”)而不需要明确列出完成任务的过程(相反,FORTRAN语言和C语言都是过程语言,需要程序员极其痛苦地列出如何执行任务的详细细节)。在HEQS的最终版本中,你可以让它求解上千个代数方程(线性、非线性或二者都有),它也会告诉你因为在你输入方程式时所犯的哪些错误使得求解进行不下去。HEQS还为分析一组方程式提供了工具,使用者可以检验输入和输出之间的关系,从而弄清楚一个变量值的改变通过怎样的链条影响到另外一个变量值。从本质上说,HEQS使AT&T中的商务使用者把时间花在阐明他们的业务活动或是会计模型的关系上,而不必担心怎样去进行计算。
6年后,当个人计算机被广泛使用后,像Visicalc和Lotus这样的电子制表软件为完成相同的工作任务提供了工具。而在那之前,AT&T总部的各种商务人士都是利用HEQS来进行模型计算的,我们中心的很多程序员也将HEQS用在所开发的应用程序中,作为一种计算方程式的工具。在《AT&T技术杂志》(AT&T Technical Journal)的一期中,我对HEQS进行了介绍,很高兴借此涉足研究领域中。[4]
我通过研究lex和yacc来设计HEQS编程语言和它的编译程序,独立完成了HEQS的开发工作。当使用者输入想要求解的方程式后,我所开发的程序就会将这些方程式进行分组,重新分成更小的、可以同时计算的方程组,从而使得一组方程式计算出的结果可以作为进行下一组计算所需要的输入值。受到我在贝尔实验室上过的计算机科学课程的启发,我意识到我可以将一组方程式里的每一个变量都用一个定向坐标图里的点来表示,这样一来,重排方程式就相当于在坐标图里把图形分解成有着紧密关系的分向量。我天真地以为在做真正的数学研究,并以此为荣。
不管到了哪里,我都有很多可以求助的资源。我发现10号区域的计算机科学技术员克里斯·冯维克曾经写出一套求解联立方程组的UNIX工具。他在斯坦福大学完成他的博士论文时就开始这方面的工作了。那时他的博士生导师是唐纳德·努斯,努斯是著名的四卷本《计算机编程艺术》(The Art of Computer Programming)的作者,也是广为使用的、已成业界标准的数学公式排版和词语处理的计算机语言TeX的发明者。我在贝尔的那个粒子物理学家朋友史蒂夫·布拉哈告诉我说,努斯是他大学寝室室友。当我和克里斯在一起工作时,我对克里斯专业的编程技巧印象深刻。我只是一个业余爱好者,主要靠小聪明,而克里斯才真正是个人物,是在他专业领域内工作的研究人员。我觉得自己注定只能是一个业余爱好者。
HEQS是一个很好的想法。很快,中心里的人们就开始用它来求解规模更大的方程组,这时HEQS就需要比我所能提供的更加精巧和高效的设计了。我的HEQS版本只能让使用者用数字(数量)和一维向量来表示金融时间序列。于是,我的一位同事爱德·夏普德被派来和我一起工作,我们计划重写系统来加入多维矩阵变量,以便能够表示更一般的金融时间序列。当我与家人去火岛沙滩上度过两个星期的假期时,爱德突然完全投入系统再设计和重写整个系统的工作中,却没有提前通知我。当我回来后,面对这样一个“既定事实”:系统已经是全新的、增强的、带有APL语言风格的,几乎识别不出来了。现在,爱德的版本可以应用到复杂的动态链接数据结构里,这种结构的细节,我想我这辈子都掌握不了。爱德还聪明地修改了HEQS,当你交互使用它来开发、求解金融模型时,你可以利用它生成一个C语言程序,从而可以以快上好几倍的速度求解方程式。
编程对于爱德而言就是一件自然而然的事,而我从来就没有过这样的感觉,他在编程方面的娴熟程度也令我很沮丧。1984年年末的某个时候,爱德离开贝尔加入了一家保罗·艾伦创立的位于西雅图的Asymetrix公司。我在贝尔余下的日子里,成了我们成功的牺牲品:我常常要埋首于他的编码中,对留在那里的漏洞修修补补,而产生这些漏洞的算法我从来没有写过,也从来没有完全弄懂过,这种工作一次就要花上好几天工夫。
差不多也就是在看爱德所设计和编写的代码时,我意识到很多物理学家是如何误解非学术世界中工作和职业的性质了。物理学家总是认为自己很聪明,一旦自降身段从事了“外面世界”的工作,他们的聪明才智能让他们只需朝九晚五地工作,还能超过其他同事。但是在很多非学术工作中,总是有这样一些人:对他们来说,特定的工作并不是一种妥协,而是一份激情、一种投入,他们非常认真地看待这份工作。是他们,而不是那些聪明但漫无目的混日子的物理学家,给卓越确立了标准。
对我而言,HEQS的最终结果令我满意。克里斯·冯维克和我最终写了一篇关于HEQS的文章,发表在软件期刊《编程:实践与经验》1984年的某期上。我为能再次发表论文,为正在“搞科学研究”而感到欣喜若狂。即便现在,当我在网上偶尔看到有人引用这篇文章时,仍能感到一阵兴奋,尽管这些引用中的大部分是由于克里斯一直在从事非过程性语言研究的缘故。最近,我非常高兴地发现,贝尔实验室的后继者朗讯公司仍在他们的网站[5]上以89美元的价格销售HEQS。但在这Mathematica和Excel的时代,我不能想象还有谁会买它。
1980~1985年在商业分析系统中心工作期间,我几乎没有学到什么商业或金融知识。相反,我在那里学到的软件工程技巧却对我非常有好处,为我后来1987年在高盛设计固定收益金融模型中的很多工作奠定了基础。
尽管受过良好教育,我在贝尔实验室仍时常感到委屈和卑微。在那里工作约一个月的时候,我带着只有3岁大的约书亚去我们还住着的洛克菲勒大学的草坪上玩。他喜欢把鞋脱掉,光着脚在草地上跑来跑去。在他玩的时候,我坐在那里反复思考我都在做些什么。他突然跑过来,看着我问道:“爸爸,你为什么伤心啊?”我那时就知道了,我每天早晚往来于家和贝尔实验室之间不过是暂时的。我只是不知道,该怎样来结束这段旅程。
[1] 在华尔街,直到20世纪90年代晚期,有博士学位的工作人员还很少在名片卜列出学位,因为这样做很容易让人觉得他们不是商业人士。基于同样的原因,宽客和程序员们花了很长时间才开始经常性地在名片上列印电子邮件地址。在1996-1999年随着网络公司的兴起,博士学位才逐步受到重视。
[2] 利用C语言这种高级语言来编写操作系统是一种新的想法。最初,操作系统是在每一台新机器上用特殊的、低级的、难以阅读的、简单的“汇编语言”或“机器代码”从无到有、费尽心思写出来的。使用标准的C语言而非每台机器的特殊机器代码在新生产的计算机上编写操作系统时,仅仅需要在机器上运行C语言,然后就可以很快创造出一个UNIX版本的系统及所有工具。
[3] 配对交易是指寻找一对相似股票的价格价差变动在统计上显著的变动规律。如果你认为你找到了这种现象,就可以在价差扩大时卖出相对昂贵的股票,买人相对便宜的股票,然后在价差缩小时进行反向操作。自从塔泰格利业在摩根士丹利取得声名显赫但昙花一现的成功以来,交易公司、对冲基金和它们所雇用的科学家们就开始经常性地、满怀希望地试图建立由模型驱动的这种所谓“统计套利”的赚钱机器。
[4] 那时,我也开始参加各种各样的计算机科学研究讨论会和技术会议。在这些会议上,我总是惊讶于计算机科学研究和物理学研究的差异。在物理学中,学术研讨会上发言人全部是在讲所取得的成果,而在计算机科学中,发言人讲话的主要内容则是关于计算机系统的研究计划、新计算机语言的提纲以及还没有实施的设想。发表研究成果的门槛似乎是很低的。
[5] http://www.lucentssg.com/heqs.html.