喜欢中国的王牌程序员——“N-S图之父”王大西访谈

新软件

当IT产业高速发展的时候,有一些人曾默默地奉献,他们可能开创了一个时代,他们的作品可能是IT发展中的一个里程碑……

23-g1-1-1.jpg

他被称为N-S图之父

他参与设计了苹果电脑操作系统

他先后创办了大名鼎鼎的Encore公司、InfoGear公司和Firetide。

他就是Ike Nassi,中文名王大西,一位喜欢中国的王牌程序员。

做适合自己做的事

初夏的北京,万木葱郁,在嘉里中心见到王大西先生的时候,他正拿着一本英汉汉英两用词典,关于王先生的一些趣事也就自然而然浮出水面。

谈起王大西这个中文名,王先生饶有兴趣地回忆了一段有意思的历史,10年前他第一次来北京时,由于在签约时用到印章,他就找人用“大西”二字做了一枚,感觉这个名字非常棒,而回到美国后对汉语更加热爱,并找了一位台湾老师,老师委婉地告诉他Daxi听起来并不很雅,跟着这位汉语老师的姓,在前面又加了个“王”。

提起对计算机和编程的热爱 ,王大西说:“我热爱这个领域,从1970年我就选择了这个领域,并且从没有在任何时候认真地想过干别的事。”

他的第一个精彩的转变是从数学而转向计算机,他半开玩笑地说他转向计算机的原因,是学数学时不管怎么努力,很难在班级中突出,但转向计算机后,虽然不总是第一,但却能老是前二。所以他在读硕士时选择了计算机,找到了适合自己的专业。

王先生博士毕业后不久,加入具有军方背景的SofTech有限公司,该公司为F-16战斗机等高科技设备提供电子技术支持。1976年加入DEC,并且在波士顿大学教课,直到1984年,他成为Encore电脑公司创始人之一,开始为苹果电脑写软件,这也为他后来在苹果十多年职业生涯埋下了伏笔,由于公司合并,成为苹果电脑公司主管软件的高级副总裁,在那里他领导着苹果软件分公司直到1996年12月。从苹果离职后,创办InfoGear技术公司,担任产品发展和实施副总裁和首席技术官,该公司于2000年6月5日被Cisco收购,顺理成章,他也成了Cisco公司的一员。从Cisco离职后,创办了现在的Firetide公司。

N-S图的发明,是他技术生涯的一个看点,当然,N-S图值得我们回味的地方还有:她的诞生也很曲折,竟然差点中途夭折,而创立的想法来得更突然。直到今天,王先生和Ben Schneiderman 仍然是好朋友,他们一个在东海岸的马里兰州,一个在西海岸的加里福尼亚州,但距离不能阻隔他们的友谊。

开放的明天

对于一个人来说,干着自己热爱的事业,拥有自己的公司,有着自己幸福的家庭,可谓功成名就,王先生正属于这样的人。他对自己的评价非常谦虚。当请他评价一下自己并介绍一些可采访的IT名人时,他说,如果我可以称作大师,那其实有好多人你还未采访到。

新公司可以开办,但技术不可能无根而生,在提到FireTide和苹果电脑的关系时,他说:FireTide的历史从1990年就开始了,那时我正在苹果电脑工作。从1984年开始一直到1996年离开,十多年的时间见证了苹果电脑的浮浮沉沉。

直到现在,他仍然觉得苹果的电子产品,无论硬件还是软件都是最棒的,虽然苹果电脑没有IBM PC兼容机那种规模的风行于世,但他的这一观点不变。同时,他也不无遗憾地说,苹果的最大失误是标准的不开放,如果苹果也遵循IBM PC一样的策略,那关于个人电脑的历史可能就会不同。

苹果公司十多年的历练对他最大的影响是他对软件的认识,那时他是操作系统部门的负责人之一,这和他支持开放源码的态度是分不开的。

相关链接:

王大西主页:http://www.nassi.com

Ben个人主页:http://www.cs.umd.edu/~ben/

对话王大西

问:您的生活是怎样和计算机联系在一起的?

王大西:我在大学时开始对计算机感兴趣。在大学最后一年我意识到计算机课程才是我的最爱。而这之前我有志于成为一名数学教师,但那之后我决定转向计算机科学。问题是我在大学学习时,那里还没有计算机科学系,因此开始时我学习应用数学,并且,计算机科学系一建立,我马上跑到那里去了。

问:您是如何发明N-S图的?

王大西:本.史尼德曼和我发明现在大家熟识的N-S图的设想是在一次午餐上产生的。我们在算法语言的运行时间(即动态复杂性)环境建模上做了不少工作,因为当时我正在学习结构化程序设计,建立一个编程的静态的数据模型,并且查看一下它是否有某种有益的应用,这种想法还比较可行,也就有了N-S图。

刚开始,我们也并不这么认为。我们向一家期刊递交了N-S图的论文,得到的评论是这是一项很失败的工作,因此我们撤回了。几个月后,我们重新审议了论文的内容,我们觉得即使一家期刊社不承认,也不能抹杀它的价值,因此我们在另外一家出版物上发表。结果异常成功。

问:您认为编程有没有简便的方法?

王大西:我认为最好的编程的方法是修改别人已编好的程序。这样可以学习别人怎么想的,找出最经典的程序,并模仿他们的风格。写出别人能够很容易读懂的程序是很难的。如果你能够做到,那就证明你的编程水平比较高了。

问:您能对IT的将来做一下大胆预测吗?用哪一种计算机语言是最好的?理由是什么?

王大西:关于IT的未来,我非常赞同开放源码运动。我有几种不同类型的电脑,包括Macintosh、Linux、微软的 Windows以及Palm的Handspring Treo。我认为Linux和类似的系统是非常令人鼓舞的。

小资料:什么是N-S图

N-S图,又称为盒图,是编程过程中常用的一种分析工具,适合于结构化程序设计,正像我们建筑用的图纸。无论是中国计算机教育大师谭浩强先生的《Basic程序设计》中,还是《C程序设计》中,无不包含这种图。