二进制世界
过了一段时间,他们对计算机的认识进一步升华,比尔·盖茨对实际应用程序大感兴趣,保罗·艾伦则喜欢探索计算机的语言。比尔·盖茨在这台现在看来庞大得出奇,处理速度也慢得出奇的 PDP—10 型计算机上编出了第一个软件程序,目的是为了玩三联棋。这台计算机没有终端屏幕,为了下棋,他和保罗·艾伦只能在打字机式的键盘上输入棋步, 然后静待打印机把计算机处理的结果■■地打印在纸上。这种玩法其实相当笨拙费时,远不如使用铅笔来得快捷简单。但是比尔·盖茨认为, “关键是这台机器有那么一点妙不可言的地方”。
这台被称作“迷你型”的计算机,实际上却要使用一个底面积 2 平
方英尺高 6 英尺重 250 磅的支架才能承载,而它的计算能力则不如现在的一些电子手表;在今天看来,这简直是不可想象的事情。他俩打算在这台计算机上模拟成百上千的比赛,以便确定哪一种战略最为有效。
比尔·盖茨后来回忆这段时间对于他兴趣的发展产生的意义时,用了一个形象的说法:“跟所有的儿童一样,我们不仅胡乱鼓捣我们的玩具,我们也改变它们。如果你曾观察过某个儿童用纸板卡通和一箱蜡笔创造出一艘带冷温控制仪表的太空船,或是听到他们即兴制订一些规则,诸如‘红色小车可以超越别的车’等的话,你就知道这种要求一个玩具具有更多功能的冲动是创见性儿童游戏的核心。这也是创造性活动的本质。”
比尔·盖茨对计算机的狂热爱好,与他的数学天赋是分不开的。计算机使用二进制形式表达和处理信息,与我们已经习以为常的十进制完全不同。十进制需要使用从 0 到 9 一共 10 个数字来记数和运算,而二进
制只需要 0 和 1 两个数字就可以了。这就意味着可以在电路里用通和断两种状态来对任何数进行处理。而电路里的通断状态是很容易由半导体来实现的。现在我们可以用硅半导体制成这样的开关,而且可以在一块手表表面大小的芯片里集成几十万、上百万乃至几百万个这样的半导体开关。我们再把一切信息转变为二进制的数字,交给这样的芯片去处理。
比尔·盖茨对计算机处理文本信息的过程作了一个简要的说明。他说,“按照惯例,数字 65 代表字母 A,66 代表字母 B,依次类推。在计算机中,每一个这样的数字都以二进制方式表示:大写字母 A,也就是
65,用二进制表示就是 01000001;大写字母 B,也就是 66,用二进制表示就是 01000010。空格用 32 表示,也就是二进制的 00100000。这样, ‘苏格拉底是一个男人’(Socratesisaman),这个句子就变成了由若干个 1 和 0 构成的一共 136 个数字的数字串:
01010011 |
01101111 |
01100011 |
01110010 |
01100001 |
---|---|---|---|---|
01110100 |
||||
01100101 |
01110011 |
00100000 |
01101001 |
01110011 |
00100000 |
||||
01100001 |
00100000 |
01101101 |
01100001 |
01101110 |
由此很容易推论出一行文本是如何被转换为一组二进制数字的。” 0 和 1 这两个数字的神奇威力令比尔·盖茨折服了。二进制表达法是
现代计算机技术的基础,理解了二进制的原理,就很容易理解计算机的运行过程,就能够为自己打开一个新的世界。比尔·盖茨感到豁然开朗, 觉得他又一次经历了阅读《世界图书百科全书》时获得的那种难以自已的欣喜和愉悦。这一次,他感受到了计算机数学的清晰明澈,体验了严密逻辑给人带来的快感。与一般孩子不同,他对那两个数字不仅不觉得枯燥乏味,反而发现它们是那么充满魅力。他曾不止一次说过这样的话: “大多数杰出的程序编制员都具有某种数学背景知识,因为这知识有助于人们去理解那些公理和法则的纯粹性。有了这种知识,你就不会对你所研究的问题作出任何含糊的陈述,而只能作出一种准确的论断。通过数学,能培养起你一种完美的记忆特性,让你不知不觉把那些公理和法则融会联系起来,这样,你就会用最少的时间来证明某个有待解决的问题。数学与编制程序两者之间的关系是极其密切的,也许我会比别人更加强调这种密切性,因为我正是从这个角度来考虑问题的。我认为它们两者间有着一种非常自然的联系。”
比尔·盖茨对数学的迷恋在湖滨中学时期就有所表现。他当时就已经开始学习华盛顿大学的数学课程。他的数学老师这样回忆他当时的情形:“他能用一种最简单的办法,来解决某个代数或计算机问题。他可以用数学的方法来找到一条处理问题的捷径。我教了这么多年的书,他甚至可以和同我工作过多年的那些优秀数学家媲美。当然,比尔·盖茨在各方面表现得都很优秀,不仅仅是数学;他的知识面非常广泛,数学仅是他众多特长之一。”
比尔·盖茨在学校里渐渐成了知名的“数学家”和“计算机权威”, 连许多高学部的大孩子也来向他请教。他的伙伴保罗·艾伦也常常拿些怪题来考他,向他挑战,说:“嗯,我敢打赌,你算不出这道题!”艾伦是一个文质彬彬的小伙子,语声轻柔,为人谦虚,有很强的进取精神。他的父亲曾在华盛顿大学图书馆工作过 20 多年,他因此有机会博览群书。他同比尔·盖茨经常在一起探讨有关计算机的种种问题。他们渐渐发现彼此有很多共同点:喜欢阅读科幻小说。比尔·盖茨说保罗·艾伦读过的科幻小说是他的四倍。保罗·艾伦对自然科学也有广泛涉猎,能够把诸如“枪炮原理”和“原子反应堆”之类的问题讲得头头是道。他和比尔·盖茨在湖滨中学的计算机房里结成了莫逆之交,经常在一起长时间讨论计算机技术的现状和前景问题。比尔说:“在我十四五岁时, 我有幸同保罗·艾伦作了朋友。在我遇上他不久,我问汽油是从哪儿来
的,我想知道‘精炼’汽油是什么意思,我想确切知道汽油怎样驱动汽车。我已找到一本关于那个话题的书,但那本书让人迷惑。然而,汽油是保罗了解的许多问题中的一个,他以一种有趣而易于理解的方式解释给我,也可以说,我对汽油的好奇心为我们的友谊添加了燃料。⋯⋯保罗对我想知道的许多事情都有许多回答(他还收藏了不少科幻书),我比保罗更擅长数学,我比他认识的任何人都知道更多的软件知识。我们互为对方的资料库。”
在那个时候,保罗·艾伦就已开始仔细阅读每一期《大众电子》及其他类似的杂志,比尔·盖茨却喜欢看看有关商业方面的东西。
他们俩,再加上另外两个同学,也是计算机爱好者的理查德·韦兰德和肯特·伊文斯,在湖滨中学组织了一个程序编制小组,指望利用那台计算机挣点钱,解决继续上机的问题。照比尔·盖茨的话说就是,“让我们呼吸现实世界,并打算卖点什么给它吧!”