核工程师

字数:928

1976年,一位名叫戈登·尤班克斯的年轻核工程师即将完成在美国海军的服役任务。未服役时,他曾在IBM公司担任过9个月的系统工程师。海军方面为他提供了一份奖学金,让他在位于加州太平洋丛林镇的海军研究生院攻读计算机科学硕士学位。为什么不呢?尤班克斯想。这听上去很划得来。

对尤班克斯来说,和大多数一听起来就很诱人的事情相比,上课显得更加枯燥乏味。他戴着厚厚的近视眼镜,说话轻声细语,这些掩饰了他内心对冒险的由衷热爱。尤班克斯在一艘能快速攻击的海军核动力潜艇上工作,并完全乐在其中。他的朋友、软件设计师阿兰·库珀总结道:“尤班克斯喜欢紧张刺激。”

尤班克斯也很喜欢努力工作。来到海军研究生院后,他很快听说这里有一位教编译原理课的教授,这位教授名叫加里·基尔代尔。人人都说基尔代尔是最严厉的导师,尤班克斯心想,也许能从这位教授那里学到点儿东西。尤班克斯在基尔代尔的课上付出的努力得到了回报。他开始对微型计算机产生了兴趣,并长时间泡在教室后方的实验室里,在基尔代尔为英特尔公司工作换来的那台计算机上工作。当尤班克斯找到他的教授讨论毕业论文的想法时,基尔代尔建议他扩展并改进一款由自己开发的BASIC解释器。

尤班克斯开发的BASIC被称为BASIC-E,它和微软公司开发的BASIC有一个重要区别。微软的版本是经过解释的,语句可以直接转换成机器代码,但尤班克斯的BASIC是一种伪编译语言,也就是说,用BASIC-E编写的程序会转换成中间代码,再由另一个程序将中间代码转换成机器代码。俄亥俄州立大学开发的一个BASIC编译程序也采用了同样的思路。

这两种方法各有优点,但BASIC-E有一个关键优势。其程序可以通过中间代码的版本销售,这个版本是人类无法读取的,所以购买者可以使用程序,但无法修改程序,也无法窃取其中的编程思路。因此,软件开发人员可以用BASIC-E编写程序并进行销售,不必再担心自己的思路会遭到剽窃。有了伪编译BASIC后,售卖软件变得合情合理了。

在尤班克斯心中,BASIC-E只不过是一个学术项目。他将BASIC-E放到公共域里后就回到海军去接受一项新任务了。不过在此之前,尤班克斯参加了两场重要的会议。

第一场是和两位年轻程序员阿兰·库珀和基斯·帕森斯的会议。他们二人意识到编写个人计算机软件可以赚到钱,于是决定开办一家应用软件公司,而且声称要“每年赚50000美元”。他们想要尤班克斯的BASIC-E,于是尤班克斯给了他们一份源代码副本,并没指望今后会再见到他们。

戈登·尤班克斯 在加里·基尔代尔的指导下,尤班克斯的硕士论文成为早期的业界标准编程语言。(资料来源:数字研究公司)

第二场是和以姆赛公司的会议。


另一种BASIC商用软件