26

文/ Peter Seibel  译/李琳骁

开启编程生涯

Jamie Zawinski(简称jwz),Lisp黑客、Netscape早期开发人员。Zawinski十几岁开始编程,一直投身Lisp和人工智能领域,浸染于黑客文化;领导开发了XEmacs,后来成为最著名的开源分支之一;Netscape浏览器Unix版本及其后Netscape邮件阅读器最初的开发人员之一;与Brendan Eich一道,通过mozilla.org促成了Netscape浏览器的开源;目前在旧金山经营夜总会,力争让它成为各年龄层都能进入的现场音乐表演场所。

Jamie Zawinski(简称jwz),Lisp黑客、Netscape早期开发人员。Zawinski十几岁开始编程,一直投身Lisp和人工智能领域,浸染于黑客文化;领导开发了XEmacs,后来成为最著名的开源分支之一;Netscape浏览器Unix版本及其后Netscape邮件阅读器最初的开发人员之一;与Brendan Eich一道,通过mozilla.org促成了Netscape浏览器的开源;目前在旧金山经营夜总会,力争让它成为各年龄层都能进入的现场音乐表演场所。

Seibel:你是怎么开始学习编程的?

Zawinski:哇,很久以前的事了,都快没什么印象了。没记错的话,我第一次真正使用计算机编程大概是在八年级。当时学校里有几台TRS-80,我们边玩边学了点BASIC。我记不清是不是专门开了门课,好像只是课后摆弄过。我记得那些机器没法保存程序,只能照着杂志或手册什么的,将程序逐行敲进去。当时我看了很多书。书中讲到的计算机语言,我没办法实际运行,只好在纸上编写那门语言的程序。

Seibel:后来你是怎么开始接触Lisp的?

Zawinski:我看了许多科幻小说,觉得人工智能实在太迷人了,计算机将统治世界。为此我学了点人工智能。我高中时有个朋友叫Dan Zigmond,当时我们俩互相换书看,于是一起学习Lisp。有一次,他去参加Apple用户协会(Apple Users Group)在卡耐基•梅隆大学举办的活动,这其实就是大家聚在一起交换软件,而我朋友只是想搞点免费的东西。另外,他还找了个大学生模样的人搭话,那个大学生说:“喂,大伙来看,这里有个15岁的孩子会Lisp,真是少见。你该去找Scott Fahlman要份活干。”Dan真的照做了。而Fahlman还真给了他一份活。Dan又说:“对了,我有个朋友你也一起要了吧。”他指的就是我。Fahlman就那么雇了我们。我猜他大概是这么想的,哇哦,有两个高中生居然对这东西感兴趣,让他们在实验室里晃荡也不会有什么大碍。于是我们开始做些简单的活,比如用新版编译器重新编译整套代码。整个过程真叫人难忘。你可以想象,只有我和Dan两个是小孩,其他都是研究语言和人工智能的研究生。

Seibel:高中毕业后,你很自然地就去了CMU。

Zawinski:是的。事情是这样的,我讨厌高中,那是我生命中最糟糕的日子。快毕业时,我去找Fahlman要一份全职工作,他回答说:“不大好办,不过我有几个朋友刚开了家公司,找他们谈谈。”那家公司名叫Expert Technologies,也就是ETI。他们正在打造一个专家系统,可以自动给电话簿标页码。他们使用Lisp开发,我认识其中几个人,之前都在Fahlman的小组里待过。他们雇了我,一切顺风顺水,约莫过了一年,我开始惶恐不安:哦,天哪,得到这两份工作完全是撞大运,绝不会有下次了。一旦丢了这份工作,没有大学文凭的话,我就只能去打打零工了,看来我应该去拿张文凭。

那段时间真的很糟。上高中时,所有人都抱怨:“净是些没完没了的老掉牙的标准化测试,上了大学,一切都会好起来的。”结果上大学第一年,与高中毫无区别,“放心,等你念了研究生,都会好起来的。”大学和高中一样糟糕,换了时间而已,我可受不了。每天早上8点钟起床,就开始往脑子里塞东西。那门叫做课程介绍的课还非上不可,这门课教你怎么用鼠标。我找到他们说:“我都在这所大学里工作了一年半,我知道鼠标怎么用。”但所有人都得上,概莫能外,“这是规定”。其他也都差不多,我实在无法忍受,索性退学了事。我觉得自己做得很对。

我在ETI干了大概4年,后来公司开始走下坡路。那时我已经写了不少代码,便找了个新闻组,发帖子找工作,还顺带提到自己写过不少代码。Peter Norvig(注:Google研发总监,《十年编程无师自通》作者)看到帖子后安排了面试。

Seibel:Norvig当时在伯克利?

Zawinski:是啊。那份工作很奇特。他们有一大群研究生在做自然语言理解方面的研究,他们基本上都是语言学家,只做一些编程。因此他们打算找个人接手他们自己编写的那些零零碎碎的代码,并整合成真正能用的东西。 阅读全文 »

标签:
阅读:41,728 次
preload preload preload
京ICP备06065162