必读网 - 人生必读的书

TXT下载此书 | 书籍信息


(双击鼠标开启屏幕滚动,鼠标上下控制速度) 返回首页
选择背景色:
浏览字体:[ ]  
字体颜色: 双击鼠标滚屏: (1最慢,10最快)

硅谷之火

_5 迈克尔斯韦因 (美)
回想起来,处理器技术公司的某些基本问题早就十分明显。
索尔计算机并不是个人的开发成果,因此它的设计思想不是那么清楚和连贯。尽管有人说索尔计算机由费尔森斯坦的汤姆·斯威夫特终端的思路演变发展而来,但是费尔森斯坦设计的这种计算机并不是为了使自己得到满足,而是为了履行合同。
第二个问题是所谓的“企业家毛病” 。英格兰姆拒绝将处理器技术公司的任何控制权转让给其他人,结果公司只能在他和马什的业余管理水平下从事经营活动,资金严重不足。如果公司的管理人员经验十分丰富,公司能够得到一定的投资,并且为设计人员提供更大的自由,那么处理技术公司的结局就不会这么惨。
也许它可以永远经营下去,不会破产。
尽管如此,处理器技术公司和类似的其他公司对于微机产业的形成起到了很大的作用。不久,微机产品就将服务对象从计算机业余爱好者转向了普通消费者, 相应的微机市场也建立起来了。
到了1 9 7 9年,克罗门科公司成为一家名闻遐迩的微机制造公司,它的机器主要销售给工程师和科学家。向量图形公司主要销售商用微机,用一把钥匙打开机器,立即就能运行商务应用程序。苹果公司的计算机采用塑料机壳,它是最早的游戏机。打入小型计算机经营领域的阿尔发微系统公司也提供微机系统,这些微机系统能同时支持若干个用户。
在后来的几年中,霍姆布鲁计算机俱乐部的传统继续影响着产品的设计和营销原则。该俱乐部既是发明微机的促进因素,也是推动微机不断发展的机构。但是,由于计算机逐步成为许多人都能买得起的设备,因此必须进行另一种创造性的工作,使普通人也能使用计算机。像费尔森斯坦这样的计算机革命者抱有的将计算机的力量赋予普通人的梦想,要有软件才能实现。若要将微机变成个人计算机,关键在于要有用户使用起来很方便的、功能强大的和价格适当的软件,同时还要具备生产软件的手段。
这时,新生的微机产业迫切需要一个软件产业。
计算机奏出了音乐
脸上带着傻笑的人是深藏不露的人。
—伦农/麦卡特尼
1 9 7 5年4月1 6日晚上,在加州门洛帕克市的一所小学中举行的霍姆布鲁计算机俱乐部会议上,史蒂夫·多姆皮尔做了一次令人难忘的表演。
多姆皮尔并不是个演员,他看上去是个瘦高身材、动作敏捷的年轻人,长而直的头发一直披到后背的中间,下身着一条牛仔裤,上身穿一件随意的运动衫, “它喜欢用年轻人的习惯用语说话,说话的速度很快。 ”李·费尔森斯坦回忆道: “当他认为没有必要咬文嚼字的时候,便喜欢说一些‘废话’ 。 ”
多姆皮尔拥有一台A l t a i r计算机。当时参加计算机俱乐部会议的人中间很少有人见过这种机器。由于 M I T S公司尚未正式开始向客户供应A l t a i r计算机,因此多姆皮尔不得不亲自乘飞机到阿尔伯克基去弄了一台。跑1 000英里 去弄一个价值3 9 7美元的玩具,在别人看来无异于发疯,然而多姆皮尔却认为这完全不值得大惊小怪。他对俱乐部会议的与会者说,这是一台真正的计算1英里=1609.344米。—译者注计算机中的精灵
我认为大多数人购买计算机的动机是为了学习,他们想要知道计算机究竟能够做些什么。
—VisiCalc软件的开发商丹·法尔斯特拉机。这台真正的计算机现在就摆在这里,并且人人都可以买一台。
自己买一台计算机?大家心里都提出了一个疑问。通常情况是只有极少数人才打算为自己买计算机。计算机一般是由穿着白大褂的技术人员控制着的,这些人担当着计算机与普通用户之间的中介人的角色。当天晚上与会者中的技术幻想家被多姆皮尔的兴奋激动深深地感染了,他们开始想象如果自己有一台计算机的话,他们将能做些什么,或者说一旦他们拥有自己的计算机,他们将能干些什么。
当天晚上多姆皮尔向与会者展示的计算机使他们懂得了他的思想是多么激进。
李·费尔森斯坦回忆道: “他带着他的A l t a i r计算机和其他‘附件’来到了会场,弯着腰将机器安装在靠门的一个角落。他将一根电源线拉到门厅里,插入那里的一个电源插座,然后弓着背伏在A l t a i r计算机上,通过前面板上的开关,输入他的程序,对于人们提出的所有问题,他一概回答说‘等会儿就知道了。 ’ ”
与会者对多姆皮尔的计算机产生了很大的兴趣,但是由于它没有显示器,也没有键盘,并且内存又很小,因此认为它没有太大的功能。不过有些人认为多姆皮尔也许能够展示一些有趣的功能。他是个踏踏实实讨人喜欢的小伙子,在他的身上闪耀着计算机的火花。李·费尔森斯坦好奇地想知道多姆皮尔究竟能用A l t a i r计算机来做什么。他想,如果说有的人喜欢猎奇看热闹的话,那么多姆皮尔是个喜欢探寻珍宝的人。
显然他不是个不喜欢猎奇看热闹的人。多姆皮尔花了几分钟时间拨动复杂的开关,输入了他的程序。他知道,如果稍有差错,输入程序的整个过程就得重来。这时,正当他完成了程序输入的时候,有人踩掉了电源线,结果前面的工作前功尽弃。他重新插好电源线,又重新启动机器,耐心地输入他的程序。最后终于再
次完成了所有的操作。
这时他站直了身子,对大家简单地说了一句话,这句话只是对“等会儿就知道了”这句话的补充说明。费尔森斯坦回忆道:“对于究竟会出现什么情况,他什么也没有说。这时,从他放在A l t a i r计算机上的便携式收音机喇叭中开始传出噪声,接着发出了一种声音,最后传来了音乐声。我们立即听出这是甲壳虫歌曲‘山野莽汉’的美妙旋律。 ”
多姆皮尔不等人们鼓掌,便对大家说:“等一等,后面还有。
它要开始自动播放音乐了。 ”
这时,从收音机喇叭里传出“戴西,戴西(双人自行车) ”
的音乐。
费尔森斯坦回忆道: “1 9 6 0年在贝尔实验室我们第一次听到计算机“演唱”的这首歌,而现在这首歌却从这个完全是业余爱好者开发的设备中传出来,这使我们感到异常惊奇。 ”
音乐声停止,掌声响起。全体与会者起立给多姆皮尔报以热烈的掌声。
从技术上讲,多姆比尔的表演只不过是耍了点小聪明,这并不是人们完全不熟悉的技巧。他只是利用了小型计算机的一个特性,但结果却在后来的5年里给这位计算机主人的邻居带来了无尽的烦恼。计算机会发出射频干扰,使电视画面出现雪花,给无线电传输产生静电干扰。当多姆皮尔得知 A l t a i r计算机产生无线电干扰时,他决定解决这种静电干扰问题。通过认真思考,他弄清了如何修改他的程序,以便控制噪声的频率和持续时间。
多姆皮尔的“收音机接口”小程序如果写在纸上,那么对于不了解它的奇妙作用的任何编程员来说,看上去一定感到莫名其妙,但是这个小程序却能够将静电干扰转换成人能听懂的音乐。
一年之后,在《多布博士》杂志上,多姆皮尔发表了一篇介绍他的研究成果的文章,题目为“一种音乐” ,将这次演示称为“Altair计算机的第一个音乐会” 。
不过霍姆布鲁计算机俱乐部会议的与会者能够理解多姆皮尔的演示所具备的革命性意义。多姆皮尔也懂得,通过将这种计算机用于如此普通和完全是非专业的目的,他就在一个崭新的领域中树起了一面旗帜。他向人们宣布,这种计算机属于我们,正是这种违背计算机卫道士精神的行为, 而不是多姆皮尔的技术才能,才在那天晚上受到与会者的热情鼓励。
多姆皮尔编写的程序很短,也很简单。 A l t a i r计算机不具备从事复杂操作的内存。当时计算机业余爱好者对硬件的兴趣超过了软件。 毕竟他们当中的许多人一直梦想拥有一台自己的计算机,他们不能为并不存在的计算机编写程序。但是,随着 A l t a i r计算机的问世,软件不仅变得可以使用,而且也变得非常重要。
这些早期的计算机爱好者没有别的选择,他们只能自己来编写他们的软件。当时没有人会想到任何人都可以向其他人购买软件。计算机业余爱好者编写了一些较小的程序,这些程序对计算机并没有太大的用处,而只是用来展示其潜在的功能而已。
在微机开始改变世界之前,就已经需要软件将游戏变成有用的工具。少数开拓者在早期计算机内存非常有限的情况下努力工作,开发出一些非常巧妙的程序。随着内存的增加,可以编写更加复杂和有用的程序。最早的较为复杂的程序往往华而不实,但是不久就出现了比较实用的商务和财会应用软件。
计算机编程最初是业余爱好者搞起来的,后来很快就变成一项重要的商业经营活动。
新型计算机如果要真正发挥作用,必须具备两种程序,一种是操作系统,另一种是高级语言。操作系统是一整套程序的集合,用于控制磁盘驱动器之类的输入/输出设备,将信息输入内存并
从内存中取出信息,并且可以自动执行计算机用户想要执行的所有其他操作。实际上用户通常是通过操作系统来对计算机进行操作的。大型计算机拥有其操作系统,而且许多人都知道微机也需要操作系统。
每一台计算机也必须具备所谓的机器语言,机器语言实际上是指计算机能够识别的一组命令。这些命令只是用来激活机器的基本操作,比如在计算机的内存寄存器之间传递数据,将数据存入内存,或者对数据执行一些简单的算术运算。只有当能够用单个命令来激活所有这些基本操作的时候,计算机才能得到广泛的应用。这些功能更强并且更有意义的命令集合便称为高级语言。
机器语言的复杂性使它成为一种使用很不方便的复杂语言。高级语言使得计算机用户不必了解机器语言的细节就能进行各种操作,因此可使计算机运行得更快,并且能够产生更有意思的结果。
利用程序员工具,可以编写各种各样的应用程序,这种软件可使计算机完成一些实际的操作。不过在1 9 7 6年的时候,操作系统和高级语言尚未问世,应用软件甚至是更遥远的东西。接着出现的是将计算机变成打字机代用品的文字处理程序,用于跟踪工资单记录和打印支票的财务处理程序以及向计算机用户介绍新的学习方法的教学软件。当时的计算机业余爱好者望着他们新买来的计算机,自己问自己,这些计算机究竟用来干什么呢?他们的答案是,玩游戏。
游戏软件走俏
人是喜欢玩游戏的动物,计算机是适合玩游戏的一种工具。
—开发计算机游戏软件的先驱斯科特·亚当斯在计算机高级语言和操作系统使编程变得日益简单之前,计算机爱好者早就开发出了游戏软件。他们主要是从当时日益流行的电子游戏中得到的启发。 早期的微机游戏常常只是 “导弹命令” 、“小行星”和其他游戏的简单翻版。
玩游戏是早期计算机业余爱好者购买计算机的主要理由。当朋友问起购买计算机作何用途时,这些业余爱好者就会炫耀一种好玩的游戏,比如史蒂夫·多姆皮尔的《目标》或彼得·詹宁斯的《电脑国际象棋》 ,他们会不断发出“哦嗬”和“啊哈”之类的惊叹声。
多姆皮尔在A l t a i r计算机上编写游戏软件是最具创意的一个人。由于A l t a i r计算机没有输入/输出设备,只有前面板上的开关,因此要使这种计算机进行某种操作是很费脑筋的。许多人,包括多姆皮尔,编写的游戏都是当时流行的“西蒙”电子游戏的变形。在这些游戏中,玩主要跟随计算机前面板上不断闪亮的1 6个指示灯,设法按下对应的按钮,使指示灯“非常优美地”闪烁。
编写游戏软件也提供了一种学习编程的途径。B A S I C语言则为那些愿意编写简单游戏软件的人提供了他们需要的基本工具。
当时还出版了若干种著作,介绍加载不同的游戏时所用的程序。
A l t a i r、K I M - 1、I M S A I和索尔计算机的用户可以键入这些程序,然后随时都可以玩游戏。第一本这种类型的著作是戴维·阿尔在数字设备公司工作时撰写的《1 0 7个B A S I C游戏》 ,这些游戏本来是在小型计算机上玩的。早期游戏不能显示复杂的图形,只能在电传打字机上打印一些由星号组成的图案,与今天的交互式多媒体生动直观的游戏相比,这些游戏非常原始。
早期的游戏许多都可以从小型计算机和大型计算机移植到微机上去。 (有人说现代计算机游戏的早期始祖都是一些闪烁的图形,属于在示波器上玩的类似网球的简单游戏。 )对于在办公室
里的大型计算机系统上玩过游戏的早期计算机业余爱好者来说,游戏并不是什么新鲜玩意儿,有时他们甚至将游戏软件加载到大型分时系统的内存中。当然,如果他们在玩游戏时被老板抓住的话,就会遇到麻烦,但是玩游戏有着无法抗拒的诱惑力。
可以在大型机上玩的较为流行的游戏之一是“星际旅行” ,玩游戏的人可以扮演成船长柯克的角色,通过执行一连串攻击克林冈飞船的任务,最后占领企业号飞船。 “星际旅行”不是公开玩的一种游戏,它隐藏在公司或大学的计算机中,在老板不注意的时候偷偷地玩。人们不必花钱购买游戏的拷贝,也从来不向游戏的作者或开发人员支付任何费用。斯科特·亚当斯是R C A公司的一名员工,从事卫星识别程序的开发,他曾在卫星跟踪雷达屏幕上玩过“星际旅行”游戏,这种行为使得政府官员对他很不喜欢。
由于大型计算机已经相当普及,因此“星际旅行”自然就成为最早的微机游戏之一。 当时这种游戏已经存在许多不同的版本,不久又为微机编写了更多的版本,包括多姆皮尔为索尔计算机编写的一个版本。后来出现了更加先进的技术,可以在微机上显示图形,于是“星际旅行”游戏程序增加了模仿“最后战线”游戏的图形。
1 9 7 6年底,在微机中增加图形处理功能的问题显得越来越重要了。生产D a z z l e r视频接口板的克罗门科公司和生产视频显示部件(V D M)的处理器技术公司为A l t a i r提供了最初的图形处理功能。1 9 7 6年推出的V D M也可以在I M S A I、索尔和多态系统公司的计算机上运行,也可以在采用S 1 0 0总线结构的任何其他计算机上使用。
许多情况下,图形处理软件主要用于测试或演示计算机的能力。由于这个原因,约翰·霍顿·康伟开发的游戏“生命”所展示的万花筒般的绚丽图形和不断变化的图案曾经风行一时。史蒂夫·沃茨尼亚克为苹果计算机开发的游戏“爆发”和史蒂夫·多姆皮尔为索尔计算机开发的“目标”是出色地展示计算机功能的两个游戏。像多姆皮尔这样聪明的编程员能够很容易用游戏来展示计算机的潜在功能。例如, “目标”这个游戏被开发者描述为“击落飞机式的游戏” ,当时就成为一种风尚。处理器技术公司的员工常常在午餐时玩这种游戏,不久玩的人越来越多。
一天晚上,多姆皮尔在家中玩“目标”这个游戏,他不经意地瞟了一眼对面房间里的彩色电视机。突然电视屏幕亮了起来,出现了图象,电视机上出现了他的游戏,五彩缤纷。在惊诧中他缩回放在键盘上的手。他心想,电视机与计算机之间不存在任何物理联系。难道计算机能够将游戏送到电视机上去显示吗?更为奇怪的是,电视屏幕显示出一个不同于他现有终端的游戏舞台,但是两个屏幕肯定都是在显示“目标”这个游戏。突然电视屏幕上的游戏渐渐化为汤姆·辛德的面孔。多姆皮尔意识到这位电视现场采访主持人也在玩“目标”游戏,这显示出索尔计算机能够在美国东西海岸之间传递信息的能力。
另一种游戏在当时也产生了很大的影响,它也依赖于微电子设备,但是它不是在计算机上玩的。一位名叫诺兰·布什内尔的才华横溢的工程师兼企业家发明了一种电子游戏机,它成了弹球游戏机的后继产品,布什内尔通过他新创办的公司阿塔里(Atari)销售这种游戏机。这种名叫庞(P o n g)的机器使布什内尔名利双收,最终生产了数百万台电子游戏机和家庭视频游戏机。 1976年,布什内尔将阿塔里公司卖给了华纳通信公司,当时阿塔里公司的年销售额达到3 900万美元。虽然作为阿塔里公司特产的游戏机并不属于通用计算机,但是为个人计算机编写游戏软件的编程员从阿塔里游戏机中得到了很大的启发。 (后来阿塔里公司也开始
生产它自己的个人计算机。 )
尽管像多姆皮尔这样的“目标”游戏软件引起了人们的广泛兴趣,游戏机也得到了普遍的推广,但是1 9 7 6年的时候微机编程员通常并不把计算机软件看做是一种可以进行的商业活动,当然它不能像计算机硬件那样进行买卖。当时除了将软件卖给计算机公司外,很少有程序员将软件卖给个人,而在这样一个狭窄的市场中,软件的销售价格是非常低的。
多伦多一位名叫彼得·詹宁斯的国际象棋爱好者(他与电视新闻中的象棋比赛无关)比其他大多数人更早预见到微机用户将会非常愿意向独立软件公司购买软件。詹宁斯常常考虑要设计一台能够玩国际象棋的机器,实际上在他读高中的时候就安装过一台计算机,它能够在象棋比赛开局时移动棋子。
在他接触到微机之后,詹宁斯就考虑为计算机编写程序,以便玩古老的纸牌游戏。在大西洋城举行的 1 9 7 6年P C展览会上,詹宁斯买了一台内存不足2 K的K I M - 1微机,将它带回家,并且对他妻子说: “这是一台计算机,我要教它下象棋。 ”
要想编写一个非常紧凑的国际象棋程序,使它占用的内存不超过几百个字节,这对于大多数人来说困难太大,因此一定会知难而退。像国际象棋这样复杂的游戏,可能要占用大型计算机的很大一部分内存。面对困难,詹宁斯没有退缩,而是勇于面对这个挑战。在一个月内,他编写完成大部分代码,又用几个月对代码进行了完善,不久,他便通过邮购方式开始销售他的国际象棋程序。
詹宁斯以1 0美元的价格向用户提供一份1 5页的手册,里面包含国际象棋游戏软件“微机国际象棋” (M i c r o C h e s s)的源代码。
他在K I M - 1用户通告的新闻通讯中刊登了该软件的公告,这是最早的微机应用软件广告。当K I M - 1计算机制造商M O S技术公司的总裁查克·佩德尔想用1 000美元买断该软件的版权时,詹宁斯拒绝了,他说: “我自己销售这个软件可以赚更多的钱。 ”
一天,詹宁斯正在等待用户发来的汇款,这时电话铃响了起来,打电话的人称自己名叫鲍比·费希尔。这位已经隐退的国际象棋大师想与他的国际象棋游戏软件进行一次比赛。詹宁斯明白比赛的结果将是什么,但是他欣然同意了。后来,在费希尔大骂这个游戏软件之后,却又很有礼貌地对詹宁斯说,这场比赛很有趣。
詹宁斯销售国际象棋软件的经历非常有趣,而且有利可图,订单雪片似地飞来。他发现有些根本不懂国际象棋,甚至没有兴趣学习国际象棋的人,也购买他的游戏软件。借助M i c r o C h e s s这种游戏软件,计算机的主人可以向朋友显示他们拥有的确实是功能强大的计算机,因为它能够玩国际象棋。从某种意义上讲,这个游戏软件使得人们购买微机时有了一个冠冕堂皇的理由。
最早购买M i c r o C h e s s游戏软件的人之一是丹·法尔斯特拉,他在担任《字节》杂志的副主编时订购了这种软件。后来,他创办了一家名叫个人软件(Personal Software)的公司之后,拜访了詹宁斯,两人建立了合伙经营关系。不久他们将销售M i c r o C h e s s得到的利润投资于商用软件 Vi s i C a l c的营销活动。
Vi s i C a l c软件是丹·布利克林与鲍勃·弗兰克斯顿开发的。法尔斯特拉与詹宁斯搭档,创办了业内最重要的软件公司之一。布利克林与弗兰克斯顿开发的Vi s i C a l c软件则是个人软件公司经营得最成功的产品。
在微机行业中曾经多次发生过从经营游戏软件过渡到商务软件的情况。早期的几家游戏软件公司后来都增加了商务软件经营部。游戏软件给公司带来了利润,而利润又促进了商务应用软件的经营。
“探险”是另一个地下流行的计算机游戏。这个游戏原先是由威尔·克劳瑟和唐·伍德在麻省理工学院的大型计算机上编写的,它只有一个简单的游戏人物的玩法,用户在迷宫里探寻,与龙搏斗,最终发现宝藏。该游戏没有任何图象。玩游戏的人键入一些简炼的动宾命令,比如“ GET GOLD” (拿到金子)或“OPEN DOOR” (开门)等,并键入描述想象中的迷宫附近有些什么东西来作出响应的程序。
通过存入由动词和名词组成的很大的词典,并将它们与某些命令联系起来,编程员就能形成这样一个概念,即“探险”游戏软件能够理解这些简单的两个单词组成的句子。只有编程员才知道该游戏软件的词汇表,搞清如何与该游戏软件进行通信,这是该游戏的最重要部分。 “探险”游戏获得了广泛欢迎,旧金山海湾区的编程员格雷格·约布也为微机编写了一个规模有限的“探险”型游戏,名叫“寻宝” ,它是一种四方形房间的迷宫。
1 9 7 8年,斯科特·亚当斯决定创办一家公司,专门销售计算机游戏。好心的朋友劝他说,在微机上编写“探险”游戏软件是不可能的,因为存放迷宫结构的数据和它的命令库需要很大的内存,微机没有这么大的内存。但是亚当斯在两周内完成了编程,并且创办了探险国际公司。该公司后来成为一个微机游戏王国,它的产品在计算机展览会上引起了大量观众的兴趣。
亚当斯认为,他的“陆地探险”和“海盗奇遇”之类的游戏起到了使普通人了解计算机的作用。其他软件公司也开始销售探险游戏。即使是当时对游戏软件没有专业兴趣的微软公司的比尔·盖茨和保罗·艾伦也推出了一个“探险”游戏版本。除了“星际旅行”和“探险”等游戏外,其他一些游戏,如“月球登陆者” ,也从大型计算机转到了小型计算机上。
1 9 7 9年,当客户走进计算机商店时,他们会看到货架上、墙上陈列柜和玻璃陈列柜中放满了各种软件,其中大部分是游戏软件。外太空题材的游戏特别流行,比如“太空探险” 、 “太空探险Ⅱ”和“星际旅行”等。直到今天,游戏软件在每年推出的软件中仍然占有相当大的比例。
这时也出现了许多为苹果 Ⅱ计算机编写的游戏软件,包括普罗格拉玛公司开发的仿真视频游戏“苹果入侵者” 。缪斯、天狼星、布罗德邦德( B r o d e r b u n d)和在线系统公司( O n - L i n e S y s t e m s)等软件公司都在游戏软件经营中大发其财。普罗格拉玛公司搜集了大量的各种各样的游戏软件,后来证明这并不是一种明智的经营策略。该公司销售了许多种类的软件,包括游戏软件,但是并非所有软件的质量都好,结果公司的牌子倒了。当出现激烈的竞争时,普罗格拉玛降为二流软件公司,最终公司倒闭了。尽管如此,许多个人计算机编程员的编程生涯是从为普罗格拉玛公司编程而开始的。
早期的软件公司很少拥有个人软件公司的员工所具备的那种业务技能,而像数字研究公司那样,因为其操作系统而受到用户的广泛欢迎,这样的公司就更是凤毛麟角。
最早的操作系统
C P / M是个占用5 K内存的操作系统,它为你提供的操作系统功能恰到好处,不多也不少。
—个人计算机软件的开拓者艾伦·库珀在微机产业的形成过程中,可以称得上一种技术标准的最早的操作系统,实际上在 A l t a i r计算机问世之前就已经出现了。
C P/M操作系统并不是几十名软件专业人员经过多年有计划的呕心沥血研究而得出的成果。与早期开发的大多数重要软件一样,
CP/M操作系统是根据一个人的思路开发而成的。
1 9 7 2年中期,加利福尼亚州蒙特里的美国海军研究生院计算机学教授加里·基尔多尔在告示牌上看到一则广告,上面写着“出售微机,价格25美元” 。广告中所说的产品是英特尔4004芯片,它实际上是个微处理器,它是世界上最早的微处理器,不过基尔多尔认为它的价格真便宜,于是决定买一个。
虽然许多微机公司的创始人并不具备业界领导者的典型形象,而加里·基尔多尔则根本不想成为这些人当中的一员。基尔多尔从华盛顿州立大学获得博士学位后,便移居加州的帕西菲克格罗夫市。他喜欢这个海滨城市的旖旎风光,那笼罩在薄雾蒙蒙之中的恬静环境使他感到非常舒适。基尔多尔说话温和,充满着令人敬佩的智慧,平时总是穿着随意的运动衫和牛仔裤。他是个嗜图如命的人。当他讲话时,如果想要解释某个观点,他常常会找出一支粉笔或铅笔,用画图来说明问题。7 0年代初,基尔多尔非常喜欢海军研究生院的工作。他喜欢从事教育工作,因为这项工作使他有时间从事编程工作。他没有特殊的经营技巧,也不想离开学校,比较完全安于现状。
加里·基尔多尔还喜欢摆弄计算机,他对计算机懂得很多,无论在理论上还是在实践上,都称得上是内行。在华盛顿州立大学时,他与另外一个人一直负责伯劳斯( B u r r o u g h s )公司的B 5 5 0 0计算机的运行和维护。后来,当该学校购买了新的 CDC 6400计算机时,由于基尔多尔具备丰富的计算机知识,受到了大家的尊重,因此由他担任采购该计算机的技术顾问。
另一位负责B 5 5 0 0计算机维护的人是迪克·哈姆雷特。他与另外3个人在西雅图创办了一家计算机分时服务公司,公司使用数字设备公司的P D P - 1 0计算机和数字设备公司开发的新软件。
开办这个公司的目的是让人们可以远程登录到 P D P - 1 0计算机,以便充分利用该计算机的功能。哈姆雷特创办的公司名叫计算机中心公司,即C立方公司(C Cubed) 。有一段时期,两位1 0几岁的孩子比尔·盖茨和保罗·艾伦在公司员工下班后就在那里工作,查找数字设备公司的软件中存在的错误。
英特尔4 0 0 4芯片的2 5美元价格原来是批量购买价,而且微处理器本身并没有什么用处, 它必须装入计算机后才能发挥其作用。
基尔多尔买了一份英特尔4 0 0 4微处理器的说明书,在学校里的大型计算机上编写了一个程序,来模拟4 0 0 4的功能,然后开始编写和测试4 0 0 4的代码,以便确定廉价买来的4 0 0 4芯片究竟能够干什么。
基尔多尔回忆说,他的父亲在西雅图开办了一所导航学校,他总想有一台计算机能够计算导航三角课题。基尔多尔编写了一些在4 0 0 4芯片上运行的算术运算程序,并且主观地认为他能提供一些父亲可以使用的程序。他摆弄了一下4 0 0 4芯片,试图了解它究竟具备何种能力,可以达到什么样的运行速度和精度。他发现这种处理器的功能非常有限,但是他仍然喜欢使用它。此后不久他用一些4 0 0 4程序向英特尔公司换回一个开发系统,也就是一台用4004芯片组装的小型计算机, 它实际上是最早的真正微机之一,尽管它不是个商用产品。
1 9 7 2年基尔多尔参观英特尔公司的微机业务部时,他惊奇地发现这家领先的半导体公司给整个微机业务部划出的一块地方还不到普通人家的厨房那么大。他在那里见到了一位非常聪明的编程员,名叫汤姆·皮特曼,他不是英特尔公司的雇员,与基尔多尔一样,他对4 0 0 4芯片也很感兴趣,并且已经为它编写了软件。
基尔多尔和皮特曼与英特尔公司的员工相处得很好,基尔多尔每周用一个休息日以顾问身份开始为英特尔公司工作。借助这个新职务,他对4 0 0 4芯片软件又作了几个月的调整,直到他“对该芯
片着迷到几乎不能自拔为止。 ”这时他意识到他将永远不会回去给大型计算机公司工作了。
不久基尔多尔又开始从事与英特尔公司开发的第一个 8位微处理器8008相关的编程工作。 他采取的仍然是二级软件开发方法,也就是在小型计算机上为微机处理器开发软件,这是盖茨和艾伦使用的方法。与保罗·艾伦一样,基尔多尔先在较大的计算机上编写模拟运行微处理器的程序,然后使用模拟的微处理器和它的模拟指令集,编写在微机上运行的程序。但是,与盖茨和艾伦不同的是,基尔多尔可以利用开发系统提供的方便,一边工作,一边在开发系统上进行测试,以检验自己开发的软件是否可行。
仅仅几个月时间,基尔多尔便在大型机语言P L/I的启发下,开发成功称为P L/M的语言,这是比B A S I C更为复杂和巧妙的语言。基尔多尔在他的教室后面安装了软件开发系统,实际上建立了海军研究生院的第一个微机实验室。好奇的学生下课后常常走到教室后面,在开发系统上操作几个小时。当英特尔公司将I n t e l l e c - 8系列芯片从8 0 0 8升级为8 0 8 0,并且为基尔多尔提供了一台监视器和高速纸带阅读机时,这位教授和他的学生便拥有了一台可以与早期A l t a i r计算机相媲美的系统,而这时尚未有人提出Altair计算机的开发思路。
但是,基尔多尔意识到他仍然缺少成功的计算机系统所需的一个重要部件—有效的外部存储设备。当时大型计算机上常用的外存设备有两种,一是纸带阅读机,一是磁盘驱动器。鉴于微处理器的运行速度非常慢,因此纸带存储器就显得太笨拙,而且价格昂贵。基尔多尔打算买一台磁盘驱动器,并且编写一段小程序,以便从舒加特公司那里换取一台磁盘驱动器。这里有一个必须解决的问题,那就是为了使磁盘驱动器能够工作,需要有一个特殊的专门控制器,即一个电路板来处理计算机与磁盘驱动器进行通信的复杂任务。
基尔多尔曾经多次试图设计这样一个控制器。他还试图开发一个接口,使他的计算机系统能够与盒式录音机相连接。但是他发现他的编程能力已经不能解决两台机器之间接口的复杂工程设计问题。控制器的设计项目失败了,基尔多尔认为他完全不适合硬件的开发。尽管如此,在技术上仍然显示了他的远见卓识。直到许多年之后,磁盘驱动器方才普遍应用于微机。最后到了1 9 7 3年底,基尔多尔找到了他在华盛顿州立大学的一位朋友约翰·托罗德(后来他成立了自己的微机公司) ,他对朋友说: “如果我们能够使磁盘驱动器运转起来,那么它将成为一个非常有用的设备。 ”托罗德果然使磁盘驱动器能够在微机上运行了。
与此同时,基尔多尔对软件作了进一步的改进。 1 9 7 3年底,正当他在磁盘驱动器问题上不知所措的这几个月中,基尔多尔花了几周时间用他的P L/M语言编写了一个简单的操作系统。他将它命名为 C P/M操作系统,这是英文微机控制程序 ( C o n t r o l Program for Microcomputers)的缩写。虽然C P/M提供了将信息存储在磁盘上时所需的软件,但是它仍需作进一步的改进。
C P/M操作系统的某些改进是在好奇心的驱使下进行的。基尔多尔一方面继续从事教学工作,一方面参与了本·库珀从事的一个项目开发。库珀是旧金山的一位硬件设计师,他曾与乔治·莫罗共同开发了磁盘存储器系统,后来又创办了他自己的公司,即微型化公司。库珀想,他能够开发一种用于星占图的机器,并且一定可以赚大钱,于是他让基尔多尔来帮助从事这个项目的开发。两个人对星占学都没有兴趣,也不相信星占术,认为这都是无稽之谈,不过库珀对该产品已经形成了一定的思路,而基尔多尔则想做一些星宿位置的数学计算。他们也考虑这项产品的开发可能会在商业上取得成功。这样,库珀便开始进行硬件的设计,
基尔多尔则负责编写程序,最后他们终于推出了所谓的“星占术机器” ,它安放在杂货店里,像电子游戏机那样吃进两角五分钱硬币,然后打印出星占图。在基尔多尔看来,这种机器真是妙极了。
但是结果事与愿违,星占术机器在经营上一败涂地。制造商将这种机器放在旧金山的许多地方,基尔多尔与库珀两个人感到非常得意的机器上的漂亮旋钮和拨号盘却激怒了用户,原因很简单,用户把两角五分钱硬币放进机器,而打印星占图的纸却出不来。基尔多尔与库珀为了排除故障而疲于奔命。基尔多尔后来只能哀叹说,这是一次彻底的失败。
尽管星占术机器开发的结果令人失望,但是这使基尔多尔第一次有机会测试他的C P/M程序的各个部分。在编写星占术机器程序的过程中,他重新编写了调试程序和汇编程序,这是开发软件所用的两个工具,并且他着手开发了编辑器。这些程序是操作系统的基本组成部分。此外,他还编写了一个 B A S I C解释程序,可以用来为星占术机器编写各个程序。在开发B A S I C软件中他学到了一些技巧,后来又将这些技巧教给了他的学生戈登·尤班克斯。
当基尔多尔与托罗德开发磁盘驱动器与计算机之间的接口时,他们交换了关于微处理器潜在应用的想法,但是没有更多地谈论微机的问题。他们与英特尔公司的设计人员仍然认为微处理器将可以用在榨汁机和汽车化油器等设备中。他们考虑推出一种综合性的硬件与软件开发系统,以便促进微处理器在各个领域中的推广应用。基尔多尔对未来微处理器的这些“嵌入式应用”思路无疑是受到了他在英特尔公司中许多同事的启发。在一段时期内,基尔多尔与另外几位编程员使用4 0 0 4微处理器编写了一个简单的游戏软件。当他们向英特尔公司的头头罗伯特·诺伊斯建议销售这个软件时,诺伊斯拒绝了。他认为微处理器未来的应用领域不是游戏机,而应该用在手表中。
这样,托罗德和基尔多尔在没有创办公司的情况下,便一道销售他们的硬件和软件,他们不是将软硬件作为一个微机系统来销售,而是作为一个开发系统来销售。当基尔多尔在妻子多萝西的鼓励下终于开办了一家公司, 并且开始销售CP/M操作系统时,他还根本不清楚自己编写的软件究竟值多少钱。他怎么会知道呢?当时微机软件开发商本来就很少。
起先, 基尔多尔将他们的公司命名为星际空间数字研究公司。
这个名字很快简化为数字研究公司,这时负责公司经营的多萝西开始使用她少女时的名字麦克尤恩作为公司的名字,因为她不希望客户把她看成“只是加里的妻子” 。数字研究公司最早的客户与公司做成了几笔很合算的生意。例如,曾经创办最早的微机公司G N AT计算机公司的托马斯·拉夫勒尔最早购买了一批C P/M 操作系统软件。他以9 0美元的价格获得了将C P/M作为他公司开发的任何产品上的操作系统来使用的权利。但一年之后,C P/M 的使用许可证价格上升到了上万美元。
多萝西后来称,1 9 7 7年与I M S A I公司签订的一个合同是个转折点。在此以前,I M S A I公司一直是以单拷贝方式购买C P/M操作系统的。由于该公司雄心勃勃计划销售数千台带有软盘的微机系统,因此促使它的市场部主任西摩·鲁宾斯坦与加里及多萝西展开了认真的洽谈。最后他以2 . 5万美元的价格购买了C P/M系统。这比G N AT公司支付的9 0美元高了不知多少倍,但是鲁宾斯坦却感到心满意足。他认为加里·基尔多尔是个出类拔萃的编程员,但是在经商上他还是个乳臭未干的婴儿。
鲁宾斯坦认为,他实际上从开发者那里偷到了C P/M操作系统。但是基尔多尔的观点却有所不同,他认为与I M S A I达成的交
易使得数字研究公司成了一家从事软件开发的专门企业。在I M S A I公司购买C P / M后,其他许多公司也接踵而来。C P/M成了如此有用的一种软件,以至于在I B M公司于1 9 8 2年推出配有另一种操作系统的微机之前,数字研究公司在软件领域成了打遍天下无敌手的强大公司。能够向数字研究公司发起挑战的编程员这时还在阿尔伯克基的MITS公司中默默无闻地干着自己的工作。
BASIC语言探源
如果有人扼杀了比尔·盖茨,微机产业的发展进程将会倒退两年。
—早期计算机零售商迪克·海泽
虽然业余计算机爱好者兼企业家开发的微处理器和原始的微机确实将计算能力赋予了普通人, 但是只有依靠BASIC编程语言,他们才能利用这种计算能力。达特默思学院的两位教授为了寻求一种更好的办法,使他们的学生能够使用计算机,便利用全国科学基金会提供的经费,于1 9 6 4年推出了B A S I C语言。由约翰·凯门奈伊和托马斯·库尔茨开发而成的这种语言是一种能够迅速见效的产品。与用F O RT R A N语言进行编程时的缓慢、烦琐和复杂的过程相比(F O RT R A N是当时比较常用的计算机语言) ,B A S I C 给人以快捷而方便的快感。
在接下来的两年中,全国数学教师委员会就究竟支持F O RT R A R还是B A S I C作为标准教学语言的问题展开了争论。
F O RT R A N广泛用于科学计算,因此比较适合执行大型计算任务,而B A S I C的特点是学习起来非常容易。鲍勃·奥尔布雷克特是B A S I C语言的积极支持者,作为儿童计算机教学的先驱者,他一向不喜欢F O RT R A N语言。在使教学者认识到计算机能够帮助学生学习的过程中,个人计算机和B A S I C语言是两个最重要的产品。
鲍勃·奥尔布雷克特开发软件并不是为了实现个人野心。他一向致力于让孩子们对计算机产生兴趣,当A l t a i r计算机问世时,他自问道: “如果能够开发出一种小型B A S I C语言,使之能够放入2 K内存中,并且适合孩子们使用,这不是很好吗?”这种软件可以放入Altair计算机有限的4K内存中,并且可以立即使用。
奥尔布雷克特请他的朋友、计算机学教授丹尼斯·艾利森从事小型B A S I C的开发。 《人民计算机公司》和《多布博士》杂志刊登了软件开发进展情况的报道。艾利森在报道中称: “小型B A S I C项目的开发,表明我们试图为计算机业余爱好者提供一种更便于使用的语言以及用于对程序进行加密的方法。 ”在早期的一份《人民计算机公司》的新闻通讯中,艾利森与“其他一些人”
讲述了他们要达到的目标:
假定你今年7岁,并不关心浮点运算、对数、正弦、矩阵求逆和核反应堆等计算。你的家用计算机运算能力比较小,内存也不多。也许这是一台M a r k - 8或Altair 8800计算机,内存不到4 K字节,并且配有一台TV打字机用于数据输入和输出。
你想使用这台计算机做家庭作业,进行数学演算,并且用它玩数字、星星、陷阱、赫克尔(H U R K L E) 、斯纳克(S N A R K)和巴格尔斯(BAGELS)等游戏。
那么你应该考虑使用小型BASIC软件。
《多布博士》杂志和《人民计算机公司》的读者考虑的不仅仅是小型B A S I C语言,他们想得更远。他们将艾利森开发的程序当做一个起点,并对它进行修改,创建出功能更强的语言。这些早期的小型B A S I C语言使得许多程序员能够开始使用微机。其中最成功的两个版本是汤姆·皮特曼和王利成(Li-chen Wa n g)开发的。而皮特曼像英特尔公司的工程师一样,对微处理器有着清
楚的了解,因为他曾经为4 0 0 4微处理器编写过程序。皮特曼和王利成之所以取得了成功,原因是他们实现了小型B A S I C语言的既定目标,为用户提供了一种比较简单的语言。小型B A S I C语言的开发者并不想用它作为发财致富的工具。当时另一种功能更强的B A S I C语言也在开发之中。1 9 7 4年秋,比尔·盖茨离开华盛顿进入哈佛大学。盖茨的父母一直想让他读法律,而此时他们终于认为他找对了前进的目标。
虽然盖茨相当聪明,但是他发现与他同住一起的一位数学系学生比自己还要机灵,当这位同学跟盖茨说,他不打算读数学而想改修法律时,盖茨感到非常吃惊。盖茨想: “如果这个同学不学数学,我肯定也不学。 ”经过选择,盖茨投入了心理学课程的学习,而选修研究生的物理和数学课程,晚上则长时间玩扑克。
后来,1 9 7 5年1月号的《大众电子学》杂志刊登了介绍A l t a i r 计算机的封面报道。盖茨的朋友保罗·艾伦手里拿着这篇文章,穿过哈佛广场,来到盖茨面前,说: “你瞧,微机终于问世了!”
我跟你说过,它一定会问世的!我们一定要抓住这个机会!”盖茨不得不承认他朋友的话是对的,看来他们一直要找的东西终于被找到了。
盖茨马上打电话给 M I T S公司,声称他与合伙人有一种B A S I C语言可以用于A l t a i r计算机。当M I T S公司的老板埃德·罗伯茨问盖茨何时能来阿尔伯克基展示他的B A S I C语言时,盖茨看了看他的朋友,深深地叹了口气,说: “好吧,再过两三个星期。 ”
盖茨放下电话,转身对保罗·艾伦说: “我想我们该去买一份说明书。 ”于是他们径直来到一家电子设备商店,买了一份亚当·奥斯本写的关于8080处理器的说明书。
在接下来的几个星期里,盖茨与艾伦夜以继日地从事B A S I C 语言的开发。当他们编写程序时,他们设法确定适用的B A S I C语言的起码特性,这与奥尔布雷克特和艾利森面临的问题相同,差别在于小型B A S I C可以用于各种不同的计算机。盖茨和艾伦不受这方面的限制, 他们可以将BASIC语言搞成自己想要的任何形式。
B A S I C语言或其他任何软件都不存在固定的产业标准,因为当时它还没有形成一个B A S I C软件产业。通过自己确定B A S I C语言的要求,盖茨和艾伦制定了一个大约持续6年的未来软件开发模式。
他们没有对市场展开调研,而只是在开始时规定了将什么特性放入他们的软件。
两个人全身心投入了这项软件的开发,编程工作每天都要进行到夜深人静的时候。盖茨甚至牺牲和放弃了夜间打扑克的娱乐活动。有时他们工作着就打起了瞌睡。有一次艾伦看到盖茨打瞌睡脑袋碰到键盘,突然醒过来,朝屏幕看一眼,又立即开始键入操作。艾伦想,他的这位朋友肯定是睡着时进行编程的,醒过来之后又继续干下去。
他们两人就在终端旁边睡觉,经常一边吃饭,一边讨论B A S I C的问题。一天,在盖茨就读的哈佛大学宿舍区的餐厅里,他们讨论起某些数学例程的问题,这些子程序可以用来处理BASIC需要的非整型数运算。 这些浮点运算例程编写起来并不难,但是他们都不太感兴趣。盖茨说他不想编写这些程序,艾伦说他也不想干。这时,从桌子的另一端传来一个着急的声音: “我编写过一些浮点运算例程。 ”两人都把头转向这奇怪的声音传过来的方向,这就是在校园餐厅用午餐时马蒂·达维多夫加入他们编程小组的故事。
在B A S I C语言的开发过程中,盖茨、艾伦或达维多夫都没有见过A l t a i r计算机。他们在一台大型计算机上编写 B A S I C语言,然后用艾伦编写的在大型机上模拟A l t a i r计算机的程序对B A S I C进行测试。到了一定的时候,盖茨打电话问埃德·罗伯茨,
A l t a i r如何处理键盘键入的字符,罗伯茨得知他们真的在认真开发这个项目,感到非常惊奇,于是他又打电话给负责电路板技术的专家比尔·耶茨,耶茨对盖茨说,他是第一个提出这种重要问题的人。他对盖茨说: “也许你们真的能够搞出点名堂。 ”
6个星期后,盖茨和艾伦认为这个项目的开发已经接近尾声。
他们将这个情况电话告诉了罗伯茨,罗伯茨请他们去展示开发的成果。当艾伦和盖茨对B A S I C语言进行收尾工作时,艾伦订了一张飞机票。在艾伦准备乘坐第二天早晨6点钟飞赴阿尔伯克基的航班的头天晚上,他们仍在忙于B A S I C的工作。大约凌晨1点时,盖茨叫他的朋友去睡几个小时,等他醒来的时候,装有B A S I C语言的纸带就准备好了。艾伦接受了盖茨的好意,当他醒来时,盖茨将纸带递给了他,并且说: “谁知道这东西行不行?祝你好运。 ”
艾伦用手打了3下响指,急忙去赶飞机。
艾伦对自己和盖茨的能力充满信心,但是当飞机接近阿尔伯克基上空时,他的心里却犯起了嘀咕,他担心他们的软件中会不会漏掉了什么东西。飞机就要降落的时候,他突然想起,他们没有编写加载程序,以便从纸带上读取B A S I C。如果没有这个加载程序,艾伦将无法将B A S I C加载到A l t a i r计算机中去。在模拟的A l t a i r计算机上,这不是个问题,因为这种模拟并不那么精确。
艾伦找出一张废纸,当飞机降落时,开始用8 0 8 0机器语言编写加载程序。就在飞机落地的一刻,他已经草就了一个加载程序。现在他不再担心B A S I C语言,却又开始担心起这个草草编成的加载程序。
这时艾伦已经没有时间担心这担心那了。罗伯茨已经在约定的时间来到机场迎候他。埃德·罗伯茨不拘礼节,开了一辆小型运货车来接艾伦,这使艾伦非常惊奇。他原想一定有一位身着制服的人开一辆漂亮的汽车来迎接他。同样使他惊奇的是 M I T S公司总部破旧的外观。罗伯茨将艾伦引进房间,对他说: “我们到了,这就是Altair计算机。 ”
在他们面前的一张凳子上,放着配有当时世界上最大内存的微机,这台微机拥有7 K内存,放在7块1 K内存板上,它正在运行一个程序,通过将随机信息写入计算机内存并读取信息,对内存进行测试。内存需要测试,不过这个程序并不是他们拥有的惟一测试程序。程序运行时,A l t a i r计算机上的所有指示灯都在不停地闪烁。这一天他们刚刚使它用7K内存进行工作。
罗伯茨建议将B A S I C的测试推迟到次日再进行,然后让艾伦住进了“阿尔伯克基最昂贵的饭店。 ”第二天,由于艾伦没有携带足够的钱来支付饭店住宿费用,因此不得不由罗伯茨掏钱。
这天上午,当机器开始运转时,艾伦屏住了呼吸,他用了大约5分钟时间装入纸带。他拨动A l t a i r计算机上的开关,输入启动程序的起始地址。当他拨动计算机的“运行”开关时,他心里想:“如果我们在某个地方出了差错,比如在汇编程序或解释程序中出错,或者我们对8 0 8 0中的某个问题没有搞懂,那么这个程序就无法运行。 ”他急切地等待着结果。
“它打印出了‘内存大小是多少?’这个消息”罗伯茨说道。
“这是什么意思?”
对于艾伦来说,这意味着他们的程序能够运行。若要打印这个消息,至少要有7 5%的代码是正确的。他输入内存大小—7 K,又键入“PRINT 2+2” (输出2+2的结果) 。机器打印结果为“4” 。
罗伯茨相信这个程序确实能够运行,然后又要求艾伦增加一些他认为B A S I C必须拥有的附加特性。几个星期后,罗伯茨委任艾伦担任MITS公司软件部主任之职,艾伦欣然接受了。盖茨认为在哈佛大学读书不如到M I T S公司工作有意思,于是他转到朋友艾伦的手下工作。虽然盖茨从未成为 M I T S公司的专职员工,但是他的大部分时间是为M I T S公司工作。后来他和艾伦发现,除了A l t a i r计算机用户外,还存在着更大的软件市场。
因此两人与埃德·罗伯茨签订了一份B A S I C语言的使用特许权协议,同时着手寻找B A S I C语言的其他客户。这时,盖茨和艾伦开始将他们的企业称为微软公司。
其他BASIC语言
研究计算机科学最初是美国海军提出来的想法。
—软件开发先驱戈登·尤班克斯
早期的个人计算机产业只有一种操作系统占据着一统天下的地位,这就是基尔多尔的C P/M操作系统。相比之下,语言系统的情况则不同,由于创建新的B A S I C语言功能比较容易,因而导致两种较高级语言之间展开了竞争。一种是盖茨和艾伦开发的B A S I C语言,另一种是海军研究生院计算科学教授加里·基尔多尔的学生开发的。
1 9 7 6年,一位名叫戈登·尤班克斯的年轻核子工程师在美国海军即将服役期满。入伍前,他曾作为一名系统工程师在I B M公司工作了9个月,海军为他提供了一份奖学金,让他在加州帕西菲克格罗夫的海军研究生院进修计算机学的硕士学位。他想,为什么不去呢?这是个千载难逢的好机会。
对于尤班克斯来说,与大多数最初显得很有吸引力的事情相比,上课是比较枯躁乏味的。他的深度近视眼镜以及他那轻声轻气的说话样子与他喜欢冒险的性格完全不相称。尤班克斯非常喜欢他在海军快速攻击核潜艇上的工作。他的朋友、软件设计员艾伦·库珀对他的评语是: “戈登非常喜欢紧张的冒险性工作。 ”
戈登的学习也很刻苦。当他来到海军研究生院时,不久就听说有一位名叫加里·基尔多尔的从事编译程序理论教育的教授。
人人都说基尔多尔是个最严厉的老师,因此尤班克斯想,自己可以从这位教师那里学到真正的知识。对于尤班克斯来说,他在基尔多尔班上的刻苦学习得到了应有的收获。他对微机产生了浓厚的兴趣,并且在教室后面的实验室中度过了大量的时间,研究基尔多尔从英特尔公司拿到的计算机。当尤班克斯请他的教授为他选择一个毕业论文课题时,基尔多尔建议他扩充和修改基尔多尔已经着手研究的BASIC解释程序。
尤班克斯开发而成的B A S I C语言称为B A S I C - E,它与微软公司的B A S I C之间存在着一个重要的区别。微软的B A S I C是个解释语言,它的语句可以直接翻译成机器代码,而尤班克斯的B A S I C 是个伪编译语言。这意味着用B A S I C - E语言编写的程序必须翻译成中间代码,然后再由另一个程序将中间代码翻译成机器代码。
俄亥俄州立大学开发的一种B A S I C编译程序也采用了与此相同的基本思路。
每种方案都有它的优点,但是B A S I C - E具有一个重大的优越性。由于它的程序可以用中间代码版本来销售,而这种代码是人们无法阅读的,因此用户只能使用该程序,而无法修改它,也无法了解它内含的编程思路。这样,软件开发商在用B A S I C - E编写和销售程序时就不必担心他们的编程思路被他人窃取。有了伪编译BASIC后,才可以从事真正的软件销售。
就尤班克斯而言,B A S I C - E仅仅是他的一个学术研究项目。
他将B A S I C - E公布后,便返回海军去执行一项新的任务。不过在他前往执行新任务之前,他要进行两个重要会面。首先要与两位年轻的编程员艾伦·库珀和凯思·帕森斯进行会面,两人都想开办一家应用软件公司,用他们的话来说: “每年可赚5万美元。 ”
他们想要得到他的B A S I C - E语言,因此尤班克斯为他们提供了一个源代码拷贝,并且再也不想见到他们。
在海军研究生院的另一名退学学生格伦·尤因的鼓动下,尤班克斯访问了I M S A I公司,以便了解一下这家年轻的微机公司对他开发的B A S I C语言是否有兴趣。结果发现I M S A I公司对此并无兴趣(至少开始时没有兴趣) ,不过尤班克斯并不感到失望。过了一段时间,他收到I M S A I公司发来的一封电报称,该公司软件部主任罗布·巴纳比想要见他。此后不久,即1 9 7 7年初,尤班克斯便与I M S A I公司的市场部主任西摩·鲁宾斯坦洽谈签订了一份合同,为该公司的8 0 8 0微机开发一种B A S I C语言。洽谈中鲁宾斯坦对尤班克斯提出了十分苛刻的条件。最后尤班克斯同意为I M S A I 公司开发B A S I C语言,并且为I M S A I公司提供该语言的有限分销权,以换取一台I M S A I计算机和一些其他设备。尤班克斯仍然拥有BASIC的所有权。
这笔交易对尤班克斯来说显得有失公平,这是他做的第一笔软件交易,他还很不成熟。正如艾伦·库珀所说: “戈登说, ‘他们还给了我一台打印机呐!’ ”不过尤班克斯希望的不只是挣一台打印机那样的设备,他梦想用他的 B A S I C语言赚上1万美元,这样他就能在夏威夷买上一幢房子。
1 9 7 7年4月,在旧金山举办了首届西海岸计算机博览会。尤班克斯与他原来的教授加里·基尔多尔共用一个展台,展出了他的B A S I C - E语言,这时基尔多尔已经创办了数字研究公司。艾伦·库珀和凯思·帕森斯也参加了这次博览会,并且与尤班克斯再次相见。他们称,他们对尤班克斯的BASIC语言作了一些修改,并且已经着手开发一些商务应用软件,尤班克斯则问他们对他的I M S A I开发项目有何建议。此后不久,三个人决定展开合作。当尤班克斯修改B A S I C语言,罗布·巴纳比对它进行测试时,库珀和帕森斯便开始在结构性系统集团公司的名义下编写总分类账软件,也许这是最早用于微机的真正商务软件。
与微软的B A S I C语言一样,尤班克斯的B A S I C语言开发也是需要经常加班加点到深夜的紧急开发项目。库珀和帕森斯要开车前往加州瓦列霍市库珀的家里,一直干到凌晨 3点钟,一边喝着可口可乐,一边思考大量的程序清单,设法确定哪些程序语句要放入B A S I C语言。与盖茨和艾伦曾经做过的工作一样,尤班克斯主要根据自己的判断来确定B A S I C语言的内容,有时所作的选择并无十分科学的依据。 他们仿佛与世隔绝地待在瓦列霍的屋子里,艾伦·库帕望着代码,突然建议说: “你为什么不加上一个W H I L E循环?”这是经常使用的一种编程语句。尤班克斯则回答说: “我认为这很好, ”于是就将这个语句放入程序。
许多个不眠之夜没有白熬,尤班克斯终于开发成功C B A S I C 语言,这使他能够在后来创办他自己的编译器系统公司,库珀和帕森斯的结构性系统集团公司成了他的第一个分销商。但是尤班克斯不知道他的B A S I C语言究竟应该卖到什么价钱。库珀和帕森斯建议定价为1 5 0美元,基尔多尔建议定价为9 0美元,这是C P/M最初的售价。尤班克斯将两种价格粗略地平均了一下,最后定为100美元。
他们还必须给这个产品做一个包装,写一份说明书。库帕与尤班克斯写出了说明书,并且印刷了5 0 0份。他们很快接到一个需要4 0 0份说明书的订单,因此不得不重印一批。他们知道产品的销售工作正在顺利进行着。
戈登·尤班克斯真的在夏威夷购置了一套房子。实际上他低估了他能从C B A S I C语言销售中得到的盈利数目,他也同样低估了夏威夷住宅的价格。这时,一个软件产业刚刚开始形成,不过它的地基上已经垒上了一些砖块。另一个砖块既有别于BASIC,也不同于CP/M。
电笔软件
当我开始从事商务活动时,我有一个秘密电话号码。
—抓拍相机公司的前摄影师迈克尔·施雷耶1975年秋, 在南加州计算机学会成立初期举行的一次会议上,一位与会者为大家带来了一份特殊的礼物。鲍勃·马什提供了一个处理器技术公司的公共域软件包的拷贝,这个软件称为一号软件包(Software Package One) 。它是许多位编程员编写的程序集合, 而这些程序又是能使程序的编写和修改变得更加容易的工具。
马什对大家说: “朋友们,这就是我带来的礼物,希望大家喜欢。 ”
软件开发商迈克尔·施雷耶认为,一号软件包是当时存在的最重要的产品, 因为它使人们可以用它来很好地进行软件的编写。
若干年前,自称是“悠闲人”的施雷耶从纽约迁到加利福尼亚。
他已经厌倦了他在商业电影界中的乱哄哄的生活,他曾经在艾伦·丰特的抓拍相机公司做过摄影师的工作,在拍摄一种软性饮料的商业广告过程中,他发现这种激烈竞争已经不值得进行。来到加利福尼亚之后,他与南加州计算机学会建立了密切的联系,并且在该学会中看到了一号软件包。
施雷耶对于一号软件包的编辑器部分并不完全满意,他可以提供更好的编辑器。他开发出一号扩展软件包(E S P - 1) ,并且建立了最早的一家软件公司。其他的计算机业余爱好者都想购买E S P - 1软件,购买的数量使施雷耶感到吃惊。多数情况下,他要为每个客户使用的特定计算机重新进行软件配置。几乎在一夜之间,这位悠闲的纽约人发现自己已经陷入一场新的激烈竞争之中。
施雷耶很快就赚到了足够的生活费用,这是一项很有前途的业余爱好,收入丰厚,他发现自己很喜欢编程工作。他与南加州计算机学会的其他成员经常聚集在一起,没完没了地谈论计算机的问题。他不断地为客户提供E S P - 1软件拷贝,他觉得这项工作有着无穷的乐趣。
接着施雷耶又提出了一个思路,后来证明这个思路对刚刚萌芽的软件产业产生了非常重大的影响。由于他不想用手工打字机打印汇编程序的说明书,因此他决定使用他的执行程序( E x e c u t o r )软件(E S P - 1的升级版)来完成这项工作。他想,为什么不用计算机键入说明书呢?当时还没有类似文字处理软件那样的东西。在从未听说过文字处理软件这种术语的情况下,施雷耶决定发明一个这样的软件。
1 9 7 6年圣诞节,经过将近一年的努力,施雷耶开发的电笔(Electric Pencil)软件大功告成。虽然电笔软件最初是在A l t a i r计算机上编写的,但是它在处理器技术公司的索尔计算机上变得名噪一时。不久“电笔”软件就成为一种十分畅销的产品。这位原来的摄影师将他的公司命名为迈克尔·施雷耶软件公司,后来他感到这个名字起得很不妥当,因为他把自己的名字搞得尽人皆知,从而影响到他自己的隐私。尽管如此,在他的公司成立之初,他拜访了许多个计算机俱乐部,介绍他开发的电笔软件,并因此而受到大家的赞赏。
电笔软件的推广应用范围是如此之广,以至于当时所有的微机用户都希望购买这种软件。施雷耶花费大量的时间为不同的计算机系统重新编写该软件。不仅每种计算机需要不同的电笔软件版本,而且每种打印机或终端也都需要不同的版本。此外,施雷耶还不断地对电笔软件的功能进行升级。总计他编写过大约7 8个不同的电笔软件版本。
倘若施雷耶是个经验比较丰富的编程员,他会使该软件能够更加容易地进行修改。如果他是个更有经验的经营者,他一定能够采用更好的方法来销售这个软件。可惜他两者都不是,重新编写软件耗尽了他的宝贵时间,而软件的销售则常常限于单份订单的邮寄销售。施雷耶慢慢对电笔软件的经营产生了厌倦情绪,并且变得非常烦躁, 因为它已经发展成为一种真正的企业经营活动,这需要他投入更多的时间。为此他聘用了一些编程员,为他编写某些新的电笔软件版本。
施雷耶的经验表明,1 9 7 7年硬件制造商仍未认识到软件的重要性,也许他们认为这个市场仍然被业余爱好者控制着。不管怎样,没有一个硬件公司愿意花钱购买施雷耶的电笔软件,安装在他们的计算机上,不过,如果施雷耶自己将电笔软件安装在他们的计算机上,他们当然不会有意见。
正如基尔多尔、尤班克斯、盖茨和艾伦以前所做的那样,迈克尔·施雷耶按照自己的思路和愿望继续从事着软件的开发,为他选择的任何一种计算机编写软件。当他最后失去了对整个软件业的热情时,他又重新回到了离开电影界时过着的平静生活。
多年后,电笔软件的声誉似乎达到了顶峰。成千上万的个人计算机用户继续在北极星和无线电室的 T R S - 8 0之类的计算机上使用电笔软件。施雷耶是位成功的软件开发者,因为他的软件使得非技术人员也能够用计算机来执行一些应用操作。
新兴软件公司的崛起
我失业的日子终于熬到头了。
—软件设计师艾伦·库珀
在协助尤班克斯编写完成C B A S I C语言之后,艾伦·库珀与凯思·帕森斯便着手实现他们每年赚取5万美元的梦想。他们两人是从高中开始相互认识的,是帕森斯教会库珀如何打领带的,这是库珀在大学里变成“长头发嬉皮士”时不屑一顾的事情。库珀非常想要“从事计算机工作” ,他请年岁稍大的帕森斯给他拿个主意。 “你是个训练有素的计算机专业人员, ”帕森斯对他说道。
“你可以退学后找一份计算机工作。 ”库珀接受了他的建议。下班后,他与帕森斯常常聚在一起,谈论自己成立一家公司的问题。
他们心想,要是一年能挣5万美元,那就太好了。
当A l t a i r计算机问世时,库珀和帕森斯便制订了他们的计划。
他们决定销售微机用的商务软件。他们聘请了一名编程员,把他关在一间小房子里,让他编写程序。他们自己也忙着编程。有一段时间,两人试图销售交钥匙(t u r n - k e y)系统,即配有高级软件的计算机系统,当机器启动时,软件便开始运行,但是他们无法实现这个思路。他们真正需要的是个操作系统,不过就他们所知,当时并不存在这样的操作系统,也许他们需要一种高级编程语言。后来他们与加州圣拉菲尔市字节公司的彼特·霍林贝克进行了一次谈话,使他们结识了加里·基尔多尔和尤班克斯,并且知道了CP/M操作系统。
他们对尤班克斯的B A S I C语言以及他们自己的商务软件进行了几个月的开发之后,库珀与帕森斯准备采取行动,每年赚它 5万美元。他们在一份计算机期刊上刊登了C B A S I C语言的第一个广告。经过认真考虑,他们又决定在广告中对他们的商务软件提上一笔。在广告的底部,用小字写着“总分类账软件 9 9 5美元” 。
他们估计业余爱好者一定会指责他们以A l t a i r计算机3倍的价格销售他们的软件。
不久,他们得到了人们对广告作出的反应,不过这不是他们所担心的严厉指责。美国中西部地区的一位商人发来一份购买总
分类账软件的订单。库珀制作了该软件的一个拷贝,将它与说明书一道放入一个带拉锁的塑料包中,这成了当时包装软件的常用方法。不久,他们就收到一张9 9 5美元的支票。库珀、帕森斯和结构系统集团公司的全体员工一道出去吃了一次比萨饼。
与此同时,他们继续从事着软件的开发。他们的工作节奏非常紧张,而工作环境完全不像是个正规的公司。帕森斯连衬衫也不穿,在办公室里踱来踱去,而库珀则长头发披到背上,还喝着能使“钢铁融化”的浓咖啡。他们两人沉浸在咖啡因和 9 9 5美元支票的激动兴奋之中,热烈争论着潜在的软件市场和一些商业术语。帕森斯的女朋友一边进行电话销售,一边在他们“办公室”
后面的院子里赤裸着身子晒日光浴。
返回书籍页