转系
大学里专业的选择将有可能决定你一生的航向。我一直认为自己喜欢法律,希望将来做一名律师,哥伦比亚大学新生入学时,没有规定专业,学生可以表明自己的大概意向,我毫不犹豫地填了“政治科学”(political science)。
大学二年级,我开始主修“政治科学”,这属于一种“法学博士预科(pre-law)”的专业。但是,上了几门课后,我就发现自己对此毫无兴趣,便开始和家人商量转系的事情。
我入学时,学校安排我加入了一个“数学天才班”,那里集中了哥大所有的数学尖子,一个班只有七个人。我们在那里学习微积分特别理论,但很快,我就发现我的数学突然由“最好的”变成“最差的”了。这时我才意识到,我虽然是“全州冠军”,但是我所在的州是被称为“乡下”的田纳西州,当我与这些来自加州或纽约州的真正的“数学天才”交手时,我不但技不如人,连问问题都胆怯了,生怕我的同学们看出我这个“全州冠军”的真正水平。这么一来,我越来越落后。当我上完这门课后,我深深地体会到那些“数学天才”都是因为“数学之美”而为它痴迷,但我却并非如此。一方面,我羡慕他们找到了最爱;另一方面,我遗憾地发现,自己既不是一个数学天才,也不会为了它的“美”而痴迷,因为我不希望我一生的意义就是为了理解数学之美。
因此数学系的“备选”,在当时看来,也必须放弃了。失去了政治科学、数学,我的未来之路将通往何方?好在我心中已经有了一个合适的选择,那就是当时还默默无闻的计算机专业。
我在高中时就对计算机有很浓厚的兴趣。有一个周末,我写了一个程序,让它去解一个复杂的数学方程式,然后把结果打印出来。当时机器的运行速度非常慢,写完程序后我就回家了。周一回到学校,我被老师叫去骂了一通:“你知不知道我们所有的纸都被你打印光了!”我心里一惊,原来,这个数学方程式有无数的解,周五我走后,程序一直在运行,计算机也就一直在打印结果。当时一箱打印纸可能要花掉学校几十美元,就这样被我全部打光了,老师当然很生气。
大一时,我很惊讶不用打卡也可以使用计算机了,而令我更惊讶的是,这么好玩的东西也可以作为一个“专业”。于是,我选修了一门计算机编程课,当时,计算机软件的概念刚刚开始兴起,正从过去科学编程所用的FORTRAN走入结构化编程的Pascal和C。我对这样充满魔力的语言无比好奇。
几个月下来,我发现自己在计算机方面相当有天赋,而且远远超过我的数学天赋。我和同学们一起做编程,他们还在画?owchart(流程图),我就已经完成了我所有的题目。考试的时候,我比别人交卷的时间几乎早了一半,我发现自己不用特别准备,就可以得高分,同学们说我是“计算机天才”。通过学习计算机,我还感觉到一种前所未有的震撼:“未来这种技术能够思考吗?能够让人类更有效率吗?计算机有一天会取代人脑吗?”而我知道,解决这样的问题才是我一生的意义所在。
当时,IBM PC还没有推出,我们的功课都是在两台大型机上执行的。一台是上百万美元的IBM S/360,它的速度是16MHz!不到如今一台普通PC(至少2000MHz)的1%(虽然它的价钱贵了1000倍)。更让人不能相信的是,使用这台IBM,我们要把程序打在一叠卡片上面,每张卡片是一条程序的指令,每一个指令都要用穿孔机(card punch)刻出孔来表示,然后,我们把一叠卡片放入读卡机,几分钟后,IBM处理完毕,把结果打印出来。十次有九次打出来的是“程序错误”、“编译失败”等问题,但是,我们没有任何工具,只有自己一行一行地去找错在哪里。没有屏幕,没有互动,用卡片输入,在纸上输出。白天,这台机器主要是学校用来排课,到了晚上才轮到学生用。往往到了半夜,还有很多红着眼睛的学生在那里,翻着一张张卡片来找自己的程序为何出错。
另外一台大电脑是DEC VAX 11/780。这台号称“迷你电脑”的中型机也是个庞然大物,价值数十万美元。但是,学生们都疯狂地喜欢这台电脑,因为这台机器不用打卡,而用上了分时(time-sharing)的技术,可以让几十个人实时地分享这台电脑。每一个学生能够很容易地用一台终端,接到机器上,感觉就像整台DEC只属于自己,但是其实每一秒钟都被分割成很多份,用户轮流使用。就是在这台DEC机器上,我学会了编程,发掘了我在计算机方面的天赋和兴趣。
我每天都盼望着晚上去电脑室,每晚都过得特别快乐,往往一不注意就是一个通宵,第二天自然要逃课了。我深深地体会了那句话:“You are good at what you love;you love what you are good at.(兴趣就是天赋,天赋就是兴趣。)”
著名记者怀特·霍布斯说,“成功就是当你醒来,无论身在何处,无论年龄多大,你很快从床上弹起,因为你迫不及待地想去做你爱做的、你深信的、你有才华做的工作。这工作比你个人伟大、神圣。你迫不及待地要起床,跳进它的怀里。”当时,我在计算机方面的表现和天赋给了我强烈的自信,也给了我对这个专业的向往和热情。而这份热情更激发了我在计算机方面的兴趣,让我自发地读书。我分明感觉到一种向前的动力在指引着我。于是,“放弃政治科学”的火种,也在心里越烧越旺。
大一第一学期期末,我开始在计算机中心打工,酬劳虽然不多,但也是一种鼓励。同学们有什么计算机方面的问题,都会来找我解决,当时,“会计算机”在学校里是一件很时髦的事情,大家都觉得这个人太酷了。那时候,我的ID都跟别人不一样:一般人的ID都是“院系名+姓名”,比如学计算机的就是“cs.kaifulee”,学政治的就是“ps. kaifulee”,而我的是“cu. kaifulee”,cu代表哥伦比亚大学,哥伦比亚+李开复,和校长一样,多牛啊!
记得在计算机中心打工时,有一个钻石工厂的总裁满脸愁容地跑来,他说他们有一个精确到小数点后几位的电子秤,每次都是工人将钻石称重以后,输入电脑里,可是工人有可能在输入的过程中,修改钻石的重量,然后以小换大,不容易被发现。所以,他希望有一个电脑软件来记录流水线上钻石的重量,也就是钻石称重以后数据直接记录在电脑里,然后流水线上方安装一个摄像头进行监视。总裁先生希望哥伦比亚大学能够帮他设计一个相应的软件,所以找到了我。我觉得这个程序编起来不难,就一口答应下来。当时我用一颗颗石子做试验,很快就把这个程序编了出来。这件事情,也在哥大引起了不小的轰动。
哥大法律系当时在全美排名第三,如果选择法律系,我的前途大概可以预见到:做法官、律师,参选议员等等。因为在我之前有很多范本,我可以照着规划。而计算机系只是新设的一个专业,前途看起来并不很明朗,我甚至连将来要做什么都想不出来,当时也没有软件工程师这种职业。
但是,我想得更多的是“人生的意义”和“我的兴趣”(做一个不喜欢的工作多无聊、多沮丧啊!)而没有让这些就业的现实问题影响自己。大二时,我决心从“政治科学”转到“计算机科学”。
当时,一个物理系的同学开玩笑说:“任何一个学科要加‘科学’做后缀,就肯定不是真的科学。看看你,从一个‘假科学’跳到另一个‘假科学’,跳来跳去还是成不了科学家。”
大学二年级的下半学年,我正式决定改变专业。我的导师非常认真地和我谈了一次以后,发现我是慎重考虑过后做出的决定。他拍了拍我的肩膀,没有多说什么,还帮我办理了转系手续。现在,我非常感谢哥伦比亚大学灵活的转系制度。它给了学生一整年的时间,一边在基础学科里学习,一边寻找自己真正的兴趣所在,学生大都在兴趣的指引下,有激情地学习。而在中国的教育体系里,我很遗憾地看到,高校设置了非常难的转系制度。而且,还有服从调剂制度,让很多孩子去学自己不喜欢的专业。这对于人才的培养,其实是个弊端。
随后,我在计算机专业的学习也证明了,一个人的兴趣能够激发出最大的学习热情,找出我那时的成绩单,你能鲜明地感受到分水岭一般的变化。
之前在“政治科学”专业,我的成绩单上不是B就是C,到了“计算机”专业,我如鱼得水,每天都像海绵一样吸收着知识。兹维·郭历理(Zvi Galil)教授的“可计算性和形式语言”的课,被公认为是计算机专业里最难通过的一门课。虽然教授是个以色列的数学天才,但是他的英语很难懂,因此,同学们上这门课都很挠头。这样一门课,我居然考了100分,也就是A+的分数,创造了该系的一个纪录。郭历理教授找到我说,“这门课程从来没有人得到过100分,你居然就得到了。”他多年以后见到我,竟然还记得我就是他的课上唯一得满分的那个学生。
大三大四,我就开始和研究生一起选修硕士和博士的课程,接手各种各样的项目。那些项目就是一个个的课题,在这些领域中,我尝试着攻克一些难关。
在“自然语言处理”课上,我提出:“能否挑战图灵测试?”图灵测试就是说能否用计算机写一个程序,表现和人一模一样,让人都无法分出真伪。我当时提出的想法是做一个即时通讯的系统,通话的另一端不是人,而是软件。我当时和另一位非常有才华的华人同学胡林肯(Lincoln Hu)一起,做了一个模仿老师的软件,可以回答任何和“自然语言处理”相关的问题。虽然我们的程序并没有100%模仿成功,但是其表现超过了老师的期望。老师非常喜欢我们的创意和成果,给了我们最高的A+分数。
在约翰·坎德(John Kender)教授的计算机视觉课程上,我和胡林肯做了一个运动光显示(moving light display)的项目。这个项目是在人的四肢上绑上灯光,然后在人自然行动时捕捉灯光的移动,再从中推算人的四肢物理移动公式,探索如何模拟人的四肢行动,做出人类走路和其他行动的仿真合成。这个问题有许多数学方面的难度,我们找到一篇著名的博士论文,是里克·雷斯特(Rick Rashid)博士写的,然后我们在他的基础上发扬光大。而成绩发下来,我依然是那个无可争议的“历史最好成绩A+”。
约翰·坎德教授很惊讶,他对我说:“开复,真没想到你做得这么好,你应该和卡内基·梅隆大学的教授里克·雷斯特直接交流交流。”
“什么,约翰,我只是一个大学三年级的学生啊!”我很惊讶地说。
“怕什么,这对你们的研究大有好处啊!”坎德教授对我的说法不以为然。
我当时并没有意识到,坎德教授其实是在为我申请卡内基·梅隆大学铺路。后来,我真的给里克·雷斯特打了电话,交流了我们关于这个课题的一些看法。就是这个电话,让我后来的人生又有了一些戏剧性的变化。我毕业的时候,坎德教授推荐我去卡内基·梅隆大学念计算机博士,而雷斯特教授一直记得我的论文,所以,他就帮我作了一个建议录取的推荐。更富有戏剧性的是,后来我的职业生涯一直和雷斯特教授有着千丝万缕的联系,他跑去微软工作,我当时去了苹果,我想去找他合作,被他婉拒了。后来,又是他把我挖到微软,成了我的老板,而我从微软离职的时候,又是他警告我,“小心,鲍尔默真的会告你!”
值得一提的是当时和我合作的胡林肯,他也是从台湾来的小留学生。这两个项目的成功也给了他很大的信心,尤其是在计算机视觉和图形学方面。胡林肯后来成为工业光魔公司(Industrial Lights & Magic)的首席技术官,他在《深渊》、《终结者》等著名影片中负责用计算机图形来模拟特殊效果,两度得到奥斯卡科学技术金像奖。
在整个大学里,我第一学期的GPA(grade point average,意思就是平均分)只有3.5,第二学期的平均成绩下滑到2.9,而从我转到计算机专业以后,我此后三年的GPA达到了4.1(2个A-,14个A,10个A+),这提升了我整个大学四年的GPA,使之达到了3.9。这个成绩在计算机专业,是史无前例的高,我最终以全系第一名的成绩在哥伦比亚大学计算机专业毕业。可以说,转系的关键性决定,改变了我的一生,让我此后的人生都能在计算机技术领域孜孜不倦地追求。
有趣的是,多年以后我在一个论坛上遇到了一位大学同学,现已经成为法律系教授。他对我说,“你还记着,奥巴马和我们同一时期在同一个校园里读书吗?他读的也是哥大的政治科学。”
后来我遇到一位从事律师行业的老同学,他笑着对我说:“转系亏了吧,不然说不定你现在也是教育部长呢?”我哈哈大笑,说“你有没转系,现在也没成司法部长啊?”