“马上就要发生了!”
《多布博士》和《人民计算机公司》的许多读者不止考虑了简化BASIC,他们以埃里森的程序为起点,对其进行改良,经常创造出能力更强的语言。一些早期的简化BASIC让大量程序员开始使用微型计算机。最成功的两个版本来自汤姆·皮特曼和王理瑱。皮特曼曾经为4004微处理器写过一个最初的程序,因此他和英特尔公司的工程师一样了解微处理器。在实现简化BASIC的既定目标方面,皮特曼和王理瑱是“成功的”,他们为用户提供了一种更简单的语言。这两位简化BASIC的作者不打算靠自己的产品发家致富,但市面上出现了一款更具野心的BASIC。1974年秋天,比尔·盖茨已经离开华盛顿前往哈佛大学。盖茨的父母一直希望他去读法学,此时他们终于感到盖茨走上了正轨。
也许是因为盖茨少年老成,盖茨发现室友是一位比自己更加锋芒毕露的数学系学生。室友告诉他,自己不想主修数学而打算学习法律,盖茨大为震惊。盖茨想:“如果连这个人也不修数学,那我肯定也不会学。”审视了自己的选择后,盖茨全身心地投入了心理学课程以及物理学和数学方面的研究生课程,并在课外的夜间长时间打扑克。
保罗·艾伦(左)和比尔·盖茨(右) 二人创办了微软公司。(资料来源:微软公司)
然后,至关重要的《大众电子学》杂志的1975年1月刊出了,保罗·艾伦在哈佛广场上发现了它,并将杂志拿到盖茨面前不停挥舞。
“看,马上就要发生了!”艾伦嚷道,“我告诉过你这件事会发生的!我们就要错过它了!”盖茨不得不承认他的朋友是对的;似乎是他们一直寻找的“那件事”找上了他们。
盖茨立刻致电MITS公司,宣称他和搭档有一套用于Altair的BASIC。罗伯茨之前已经听过很多类似的许诺,他问盖茨何时可以前往阿尔伯克基演示他们的BASIC,盖茨看着他的童年好友,深吸一口气说:“哦,两到三周之内。”盖茨放下电话,对艾伦说:“我想我们得去买一本说明书。”他们直接去了一家电器店,买了亚当·奥斯本撰写的那本8080的说明书。
接下来的几周内,盖茨和艾伦日以继夜地开发BASIC。写完程序后,他们想要确定BASIC可接受的最少功能。阿尔布莱特和埃里森也面临过同样的挑战,只不过简化BASIC必须适用于多种机器,而盖茨和艾伦则没有这个限制,他们可以随心所欲地开发自己的BASIC。当时,BASIC和别的软件都没有行业标准,主要是因为那时这个行业尚未形成。盖茨和艾伦自行决定了BASIC需要哪些内容,并为之后将近6年的软件开发设定了一套模式。这两位程序员没有开展市场调研,他们在一开始就定好了软件的功能。
这两人全身心地投入到项目之中,每天熬夜编程。盖茨甚至做出了重大牺牲,连夜间玩扑克也放弃了。他们有时在半梦半醒的状态下工作。有一次,艾伦看到盖茨将头靠在键盘上打瞌睡,然后突然惊醒,看了一眼屏幕,又立刻开始打字。艾伦认为盖茨一定是做梦也在编程,所以一醒过来就能继续写下去。
两人睡在终端机边,一边吃饭一边讨论BASIC。有一天,在哈佛大学的宿舍食堂里,他们讨论了一些运算规则。他们认为BASIC需要一些运算非整数数字的子程序。这些浮点程序写起来不难,但很无趣。盖茨说他不想写;艾伦也不想。从桌子的另一端传来了一个迟疑的声音:“我写过一些浮点程序。”盖茨和艾伦都将头转向这个奇怪声音的来源方向,就这样,马蒂·大卫杜夫在学校自助餐厅吃午餐时加入了他们的编程团队。
在项目进行期间,盖茨、艾伦和大卫杜夫都没有见过Altair。他们在一台大型计算机上编写BASIC,艾伦之前写过一个让大型计算机模拟Altair的程序,他们就用这个程序来进行测试。有一天,盖茨致电罗伯茨,询问Altair如何处理通过键盘输入的字符,罗伯茨感到很惊讶,他们居然真的在推进这个项目。罗伯茨将电话转给电路板专家比尔·耶茨,耶茨告诉盖茨,他是第一个提出这个问题的人,而这个问题显然非常关键。耶茨对盖茨说:“也许你们真的有点儿料。”
6周后,艾伦一边和盖茨一起努力完成BASIC,一边预定了飞往阿尔伯克基的机票。艾伦计划搭乘早上6点飞往阿尔伯克基的航班,他们在出发前一天晚上还在工作。凌晨1点左右,盖茨叫他的朋友去睡几个小时,并说等他醒来时,存有BASIC的纸带就会准备就绪。艾伦接受了他的建议,等他醒来时,盖茨将纸带递给他说:“天晓得能不能用?祝你好运。”艾伦交叉手指期待好运,随后动身前往机场。