王小川: (本文)是怀念从1985年开始二十多年的编程岁月,怀念那癫狂得如痴如醉的创作心智。从让计算机发声奏曲,编写俄罗斯方块小游戏,到主持开发搜索引擎;从解决八皇后问题,到参加国际信息学奥赛获得金牌,再到作为教练参与命题、培训和选拔国家队;为了编程可以在上语文课时开小差,可以忘了参加做清洁而被罚一个月。这其中的酸甜,到今天都是难以告别的记忆。感谢这个伟大的时代,赐予我们计算机这种神奇的伴侣,通过编程来传递思想、创造生命。
以下是正文。
我最欣赏的天才程序员是斯蒂芬·沃尔夫勒姆(Stephen Wolfram)。他是英国籍犹太人,12岁读大学,20岁博士毕业。他的“计算知识引擎”(WolframAlpha),是每个极客必备网站,能把算法和编程语言完美地结合在一起,被誉为“第一个真正实用的人工智能”。
我和编程结缘,源于小学时我妈给我报的课外兴趣班。不过不是计算机,是书法。学期末,大家都把成果拿出来展示。
我的书法挂在那儿,门前冷落,另一边却很热闹。我跑过去看,大家围着一个接了软键盘的黑白电视机玩游戏“导弹打飞机”。我就排队玩,回家后请求父母,明年把兴趣小组改到计算机,家里同意了。
计算机小组的领头人是我们数学老师,他给我看一本关于BASIC语言的书。很快就发现,我对编程这事儿有天赋,很快学会不说,还能利用这个改游戏,把一首曲子《金蛇狂舞》给输进去了。学校升旗仪式还让我做演示。
三年级,成都少年宫组织学生学LOGO语言,学校推荐我去。这是麻省理工学院(MIT)发明的一种计算机语言,目的是培养儿童智力。它有“海龟作图”习题,特别直观,你按照自己的想法输入代码,一拍回车运行,它就呈现给你,太有意思了。
1990年,我以成都市第一名的成绩考上了成都七中数学实验班。家里给我买了台电脑,叫“中华学习机”,600块钱,在当时很烧钱了。
我的中华学习机有两个用途,一是学习LOGO语言和汉显语言,一是学习BASIC语言和DOS系统。1990年代学习计算机的人都知道,DOS是基层系统,学习它就像解剖人体,看到里面精密的结构,理解它的语言,琢磨它的数据结构……后来我把它给反汇编了,就跟破译密码似的,非常有趣。
我不停地参加各种计算机竞赛。小学我参加成都市竞赛,就干掉了中学生队。到了中学,屡获成都市及四川省的数学、物理和计算机编程竞赛第一名。初三时,在“全国数学联赛”中获得一等奖,被保送进成都七中高中部。
数学老师研究用计算机证明几何定理,我们数学实验班跟着一起做。在中科院院士张景中的指导下,我用“吴文俊方法”做机器证明,首次实现了在计算机上求解初等几何的全部题目,获得杨振宁颁发的“伊利达青少年发明奖”。
高三时,我被选拔进入中国信息学奥林匹克比赛集训队,而后进入国家队,并代表中国在匈牙利参加第十二届国际信息学奥林匹克竞赛(IOI96),获得金牌,被点招进入清华大学计算机系读本科。我成为清华1996级学生,在校期间曾担任清华大学学生科学技术协会副主席、中国信息学奥林匹克比赛集训队教练。
和比尔·盖茨的第一次近距离接触,是上大学后给我带来震撼的第一件事。1996年盖茨访华,在清华计算机系主楼后面的礼堂做演讲。我是计算机系优秀新生,辅导员给了我一张票。我去得有点晚,站在最后一排,当时英语也不太好,他具体说的什么没有太懂,但内心受到了强烈的震撼。
微软,当时的科技帝国;盖茨,帝国的最高大神。那种气场特别强大,让你觉得和世界最顶尖的人站在同一个地方。他的演讲在我心里埋下一颗种子。
后来我在哈佛大学有个演讲,提到清华是有优势的,它让你接触全国甚至全世界最优秀的人,让你产生一种不掉队的意识,远离自卑感。
快大三的时候,发生了另一件大事。我到ChinaRen打工,这是陈一舟、杨宁的创业公司。
当时杨宁说要做社区,包括新闻、评论、游戏、邮箱、论坛等。我负责新闻这块,做了一套CMS(内容管理系统)。后来老板提出做相关新闻,就是一条新闻后面链接其相关新闻。现在看来这稀松平常,但当时可没有。
我用了一段时间把它做出来了。2000年搜狐收购ChinaRen时,老板给搜狐演示的就是这个,这是中国第一个相关新闻系统,也是第一个能够评论的。
后来我一边读研究生一边在搜狐工作。
现在搜狗有2000多人,80%都是技术人员。我早就专注做战略和管理,有好几年不碰编程了。
这也是源于我作为一个码农的某种执著。我记得做CMS时,把宿舍好友拉过来帮忙,但我发现我不能接受两个人一起编程,因为会破坏我那些代码原来的美感。作为码农,我不能放弃优雅和美感,但作为管理者,我就要妥协。
对我来说,编程是创造一个生命。这个生命有你的技术展示,有你的思想注入,有你对美的理解,最后产生表达虚拟运行的生命。程序是有生命的。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。