今天小编(郜萌運)要和大家分享的是比尔盖茨自述:中学时期就开始偷偷996写代码,欢迎阅读~
57 年前的西雅图冬夜,一个瘦削少年翻出卧室窗户,奔向名为 "C 的立方 " 的计算机实验室。
比尔 · 盖茨不会想到,这段在寒夜中追逐代码的岁月,正悄然叩响数字时代的大门。
当湖滨中学的编程少年们以无偿劳动换取珍贵的上机时间时,一场改变人类文明进程的变革已在晶体管与二进制中孕育——在这个数字时代的黎明,一群年轻的先驱者站在了浪潮之巅,他们以智慧和勇气,开辟了一个全新的领網域:
個人電腦軟體。
几乎与此同时,远在英特尔公司的实验室里,戈登 · 摩尔的预言如同一道闪电,划破了计算机产业的夜空。摩尔定律不仅预示着技术的飞跃,更点燃了无数创新者的激情。
微处理器的诞生,如同打开了潘多拉的盒子,释放出无尽的可能。
当湖滨中学的排课程式顺利运行,当第一台個人電腦上的 BASIC 程式成功启动,当微软公司逐渐崭露头角……
这一切都在宣告,一个全新的时代已经来临。
軟體,这个曾经被视为硬體附属品的存在,如今成为了推动社会进步的关键力量。
翻窗夜奔,目的地:C 的立方
1967 年,比尔 · 盖茨进入湖滨中学(Lakeside School)就读。
这所位于华盛顿州西雅图的私立学校以其优质的教育和创新的教学方法而闻名,吸引了许多优秀学生。
在湖滨中学,盖茨和同伴们实践编程爱好的成本越来越高,按分钟累积起来的机时费不是个小数目。
罗纳夫人(一位家长)给湖滨中学的校方写了封信,提出了一个令人吃惊的建议:
如果学校里的小程式员们能去她的初创公司(即 " 计算中心公司 ",简称 "CCC"。盖茨为其取了个绰号—— "C 的立方 ")帮忙,他们愿意让这些学生无偿使用其新型计算机。
1968 年 12 月,肯特、保罗、里克和盖茨在 "C 的立方 " 往往一待就是好几个小时,他们编写代码,调试程式,起草程式错误。他们知道,终有一日,公司会将他们扫地出门,他们必须在机会消失前尽可能地多攫取一些。
那年冬天的一个晚上,盖茨坐在自己的房间里,腦子里想的就是:为什么我要在这儿浪费时间?这会儿我本可以坐在计算机前面的。
他悄悄地推开卧室的窗户爬了出去,搭乘公共汽车再走 4 个街区,到达 "C 的立方 ",全程只需 20 分钟。
这是盖茨第一次晚上偷偷溜出家门,那年冬天和此后几年,他经常这么干。如果错过了末班车,凌晨 2 点左右,他只能步行 45 分钟回家,一路上在腦海中重写着代码。
许多成功人士在爱上各自选定的领網域后,必然要在一段时间内艰苦而专注地工作。正是在这段时间,最初的兴趣逐渐转变成实实在在的技能。
《异类:不一样的成功启示录》一书中指出,无论是作曲还是打网球,都需要经历 10000 个小时的刻苦练习,才能达到高超的技术水平。
而对于比尔 · 盖茨来说,倘若没有那段幸运的免费上机时间——那最初 500 个小时,接下来的 9500 个小时或许根本就不会存在。
正式完成第一份軟體产品
后来,"C 的立方 " 倒闭了。这意味着湖滨中学不再拥有计算机提供商。
1970 年秋,校方联系上了另外一家经营分时业务的初创公司——信息科学公司(Information Sciences Inc.)。这家公司很快就收到了湖滨编程集团发出的一封措辞十分正式的信件,主动请求为其提供服务。
信息科学公司的一个客户希望将公司的薪酬管理系统自动化。信息科学公司请盖茨四人为其免费编写这个程式,理由是这是一个很好的学习机会。
他们起草了一份合同,讲定了项目范围,并定下了 1971 年 3 月作为最后完成期限。这只给了盖茨他们大约 4 个月的时间,他们很快便意识到时间非常紧张,勉强够用。
可这个四人小团队不久后便出现了矛盾,两位高年级同学保罗和里克逐渐对这个项目失去兴趣,盖茨认为他们懒散,缺乏专业精神,决定掌握全局。他按照每个人干活的多少,设计出了一个上机时间的分配方案,由他和肯特完成大部分工作,急匆匆地赶写着这个被称为 "PAYROL" 的程式。
程式完成后,他们前去向信息科学公司展示作品。这个 PAYROL 程式还需要添加许多功能,但显然,他们拿出来的核心程式已经足以让公司刮目相看。
保罗和里克毕业后,作为湖滨中学编程小组仅存的两名成员,肯特和盖茨留下来完成了 PAYROL 程式。经过 9 个月的努力,他们在 8 月完成了原本预计仅需 3 个月即可完成的程式。
最大的好消息是:它可以成功运行。
" 想买一个英特尔 8008 芯片 "
20 世纪 60 年代中期,英特尔公司的创始人之一、工程师戈登 · 摩尔做过一个预测:
层出不穷的创新将会使一个芯片上的晶体管数量每年便翻一番(后来他将自己的预测改为每两年翻一番)。
我们感知的这个世界,通常都是以线性、逐步递增的方式增长:积寸成尺,积少成多。计算机产业也没什么不同,很长一段时间进展缓慢。
摩尔的预测意味着微处理器的速度将会以几何级数提升。如果这种情况真的发生了,占据一整间屋子的计算机有朝一日终将小到可以置于桌上。
截至那时,摩尔的预测都很准,当时最新款的英特尔 8008 芯片处理数据的速度是其上一代的两倍。
1972 年秋,保罗和盖茨走进了南西雅图的一个工业区,对销售员说,他们想买一个英特尔 8008 芯片。直到现在,一想起店里那个销售员当时有多惊讶,依然会让盖茨忍俊不禁。
经历了英特尔的发明所产生的巨大影响之后,回望那一时刻,真有种难以置信的感觉。集成电路中晶体管数量倍增的现象将会被冠以 " 摩尔定律 " 之名,而微处理器将会推动数字革命,为我们带来個人電腦和智能手机。
微处理器的发明将成为盖茨职业生涯中意义最重大的事件,没有之一。
没有它,微软公司不会存在。
继英特尔之后,一大堆芯片制造商迅速采取行动,奋起直追。
摩托罗拉、仙童、通用仪器、西格尼蒂克、英特矽尔、美国无线电公司、罗克韦尔、西部数据、国家半导体、MOS 科技、德州仪器等公司都在制造和英特尔 8080 相似的 8 位微处理器。这些芯片中的任何一个,都有可能成为個人電腦的 " 电腦 "。
举目四望,看到的是一个行业的种子正在遍地萌发。
受到牛郎星计算机及其使用的英特尔 8080 芯片的启发,惠普公司的一位工程师购入了一个 MOS 6502 处理器,自行造出了一台计算机原型机。
他的朋友史蒂夫 · 乔布斯看到了这台原型机。乔布斯刚刚回到美国,那之前,他在印度旅居了 7 个月。
不到 1 年时间,乔布斯就会脱掉橘黄色的禅修长袍,重新蓄起头发,并且说服沃兹尼亚克,其在计算机方面的爱好可以变成一桩生意。
没过多久,他们就为自己创办的公司起名为苹果,并且开始销售旗下的第一款计算机——苹果 I。
两个人,准时为学校编写好排课程式
盖茨进入高中后,湖滨中学决定与附近的圣尼古拉斯女校合并。
鲍勃 · 黑格接手了整合两所学校课程安排的任务,但这项任务显然比他预想的难得多,各种困难与问题层出不穷。
在大家因一团糟的局面而火冒三丈时,肯特和盖茨决定介入,试图帮帮忙,思考如何在春季学期解决排课问题。
这一年冬天,盖茨就待在自己的房间里写写画画,试图解出到那时为止他尝试解决的最难的问题:* 如何满足数百人各自不同且似乎互不相容的需求,同时又让计算机可以理解。
他画了一个将学生、班级、教师、时间和其他所有变量都包括在内的矩阵,然后在那一周里一点一点地改进自己的图表,它逐渐变得越来越清晰。
周六那天,他走出房间,知道自己已经以系统的方式厘清了各种冲突,这也是一种计算机能够掌握的方式。
当时已经没时间根据盖茨想出来的那个解决方案重新编写程式,为了赶在春季学期开学之前准备就绪,他们必须优先想出临时补救措施。
大约有 3 周的时间,肯特、盖茨和 4 名教师每天工作 20 个小时,千方百计终于让程式能正常工作了。
校长对这个结果很满意,他说,他可以想办法凑到一笔资金,雇盖茨等人编写一个拥有学校所需全部功能的全新版本,并使用他们选择的 BASIC 语言来编程。
在花了数周时间解决细节问题之后,盖茨他们与湖滨中学签订了关于从下一阶段编写排课程式的工作中获取报酬的合同。校方同意给他们一笔津贴,并且支付由此产生的机时费。
在肯特去世后,盖茨给从大学回家过暑假的保罗打了个电话,告诉他,自己要在月底免费机时用光前完成排课程式。虽然没明说,但完成和肯特一起张罗的这件事对盖茨来说很重要,何况学校还指望着他呢。
一个月的时间里,保罗和盖茨就住在计算机房。这个疯狂的计划,一部分是他们化解心中伤痛的途径。保罗比任何人都清楚盖茨在经历着什么,他知道,对盖茨来说,最好的应对方式就是全身心地投入那个错综复杂的代码谜题中,而他想要陪在盖茨的身边。
幸运的是,连轴转的工作终于有了回报。盖茨两人准时完成了排课程式。
那年秋天,它运行得十分顺畅,在随后几年中一直被湖滨中学使用。
为第一台個人電腦编写了首个程式
1974 年 8 月,保罗来到了波士顿,在离哈佛大学 40 分钟车程的郊区租了一间公寓。
那年秋天,保罗向盖茨兜售了许多创业点子。因为保罗对计算机硬體情有独钟,他的点子通常都围绕着建造某种创新型计算机而展开。
不过,保罗很清楚,盖茨对制造硬體这个想法越来越不感兴趣。
一次又一次,盖茨和保罗共进晚餐时的谈话会转移到軟體问题上。軟體与硬體不同,没有线路,也无需工厂。编写軟體所需的只不过是腦力和时间,在这个领網域,他们有优势,甚至可以引领方向。
1975 年 1 月号的《大众电子》刊登了一篇文章:" 迄今为止功能最强大的小型计算机项目——造价低于 400 美元 ",这就是微型仪器和遥测系统公司(MITS)推出的牛郎星 8800(Altair 8800)计算机。
《大众电子》上的报道对軟體几乎只字未提。
为了实现无须拨动开关便可轻松地将程式写入牛郎星计算机的目的,大家必然需要一台电传打字机终端,以及一种像 BASIC 或 FORTRAN 这样专门为 8080 处理器量身定制的编程语言。但是,文章的作者并未言及,是否已经有一种可供应用的语言。
他们打赌还没有这样的语言,决定为其编写一版。
盖茨和保罗最大的担心是时间不够。按照估计,只有几周时间来完成程式并提交给微型仪器和遥测系统公司,否则别人就会赶在他们前面。有太多的工作要做,而他们只有两个人,一个有一份全职工作,另一个功课已经满负荷。
无意中,他们拉来了一位新伙伴,数学专业的大一新生蒙特 · 达维多夫。由盖茨继续负责程式的主要部分,蒙特开始编写处理加、减、乘、除和指数运算的代码,保罗对他开发的模拟器进行微调。
在疯狂编写了 6 周代码后,他们的 BASIC 终于可以顺利运行了,这已经足够拿得出手向微型仪器和遥测系统公司展示。保罗给牛郎星的开发公司打了电话,安排了一次会面。
在微型仪器和遥测系统公司,保罗输入了他的引导装入程式代码,随即启动了纸带阅读器。
最后,纸带到头了,计算机开始运行程式。终端机上显示出下列字样:
MEMORY SIZE(内存大小)?
保罗输入了几个 BASIC 指令,以此展示他们的 " 传世杰作 "。
PRINT 2+2
4
伴随着这行代码,为第一台個人電腦编写的第一个程式就此诞生了。
梦想一家服务全球的 " 軟體工厂 "
秉承新生的個人電腦世界的嬉皮士精神特质,当时人们普遍认为軟體应当是免费的。
硬體是看得见、摸得着的;与之相对,軟體是虚的,需要充分发挥想象力,才能看到某个人曾花费了数千小时来进行设计、编写和调试,付出了最大的努力令其得以正常运行。
因此,軟體可以从朋友那里拷贝得来的,可以公开共享,甚至偷也无妨。
但是,保罗和盖茨想要构建一种商业模式。他们坚信,随着個人電腦变得越来越便宜、走入大小企业和千家万户,对高质量軟體近乎无穷无尽的需求将随之产生。
有朝一日,如果一切如他们所愿,微软将成为一家 " 軟體工厂 ",提供多种多样的产品。那时候,如果有人问盖茨他们目标是什么,他或许会详尽描述这个軟體工厂的愿景,也可能只是简单地说上一句:
我们希望让自己的軟體运行于全球每一台個人電腦上。
保罗协助微软公司设定了技术研发方向,他还是开发工具大管家。他开发的用于 PDP – 10 的模拟器及相关工具,不仅让两人在手头没有牛郎星计算机(或英特尔 8080 处理器)的情况下打造出了自己的第一个 BASIC 軟體,还得以为不同的处理器编写不同版本的 BASIC 和其他軟體。
他的工作帮助微软在这一领網域占得先机,并且在很长一段时间里都保持着巨大的优势。
盖茨他们靠着一两通长途电话和一张飞往阿尔伯克基的机票,就搞定了 2000 英里外的微型仪器和遥测系统公司。但是要寻找下一个和下下一个客户,他们必须通过写信、参加行业展会、拜访公司的方式推销自己和自己的产品。他们还有一大堆问题需要解决:应当收取多少费用?如何进行市场营销?怎么雇用员工?薪酬和税务这一整套流程谁来处理?
1976 年,盖茨回到校园后,几乎马上就收到了微软的召唤,他们找到了一家大客户——国家收银机公司(NCR),这是当时最大的计算机制造商之一。他们签下了一笔交易,对 8080 BASIC 进行修改,使其适应国家收银机公司的 7200 计算机。
合同的成交价格为 15 万美元,这在当时是一笔巨款。
盖茨希望拥有付费用户之后,能雇人编写代码,这随之变成了现实。与国家收银机公司和其他几个客户达成的交易,给他们带来了每月大约 2 万美元的收入,这让微软公司可以雇用自己的第一名员工。
4 月,盖茨给湖滨中学校友马克 · 麦克唐纳打了个电话,他是常泡在湖滨中学计算机房里的那伙人中的一员。
几天后,盖茨又收到了一封里克写来的信,他打算重新加入微软。盖茨、保罗与里克建立了一个三方合伙公司。
盖茨写下了他们的商业计划,有两个主要目标:
一是扩大规模和知名度,二是赚钱。
这封信标志着他们齐心协力打造一家独立公司的行动进入了下一个阶段。他们一致同意,至少在未来两年内," 会将微软作为我们的头等大事 "。
争取微软的独立发展
但很长一段时间内,微软依旧严重依赖微型仪器和遥测系统公司。通过向牛郎星计算机提供 8080 BASIC 軟體授权而获得的特许使用费,依然是微软公司最大的收入来源。
此外,微型仪器和遥测系统公司拥有 8080 BASIC 的全球独占权,盖茨他们每为这个源代码找到一家客户,合同都必须经过它的审批,并且在他们签下一笔交易后,要跟该公司平分收益。
1976 年夏天,微软逐渐摆脱对微型仪器和遥测系统公司的依赖,开始寻找自己的办公场所,着手开发能够吸引新客户的产品。
寻找新客户的任务主要落在了里克头上,他相当于公司的总经理。在达成三方合伙協定几个月后,里克又改变了心意,选择退出合伙后。保罗和盖茨继续按照 60% 和 40% 的比例分配微软公司的所有权。
他们寄出一封又一封打印信函,拨出一通接一通电话,联系一家又一家公司,寄希望于可以找到有兴趣购买微软公司軟體的人。
BASIC 的大受欢迎让微软公司得以起步,而盖茨他们会继续对它进行改编,以适应不同的处理器。
不过,尽管 BASIC 易于使用,而且颇受计算机爱好者欢迎,它却并不是更专业的计算机购买者中意的语言。
科学家和高校的研究人员使用的是 FORTRAN,公司则使用 COBOL;与此同时,在数字设备公司小型计算机的很多用户中,作为 BASIC 替代选项的 FOCAL 十分流行。
为了扩大业务范围,微软需要为这三种语言开发各自的版本。
为了支持新产品开发,夏日将尽时,微软开始招聘第一批全职员工。对盖茨来说,那些新雇员让微软感觉变成了一家真正的公司。
后来,一家名叫 Pertec(周邊設備公司)的公司提出了收购微型仪器和遥测系统公司的要约。
在 Pertec 开始接触微型仪器和遥测系统公司后不久,与微软公司相关的一切业务都彻底停了下来:特许使用费的付款停止了,向第三方授权的交易也停止了。
随着 1977 年春天的到来,盖茨越来越清楚地意识到,微型仪器和遥测系统公司和 Pertec 根本不打算向他们支付逾期未付的特许使用费,也无意将 8080 BASIC 授权给其他公司。
但在先前的合同中就已明确:盖茨他们不曾将这款軟體的所有权转移给微型仪器和遥测系统公司,只是授权给他们使用。而且,微型仪器和遥测系统公司负有尽最大努力将这款軟體授权给其他公司的合同义务。
保罗和盖茨受够了。
他们和律师联名向爱德华 · 罗伯茨发出一封信函,列出了微型仪器和遥测系统公司违反合同约定的诸多行为。6 月,按照合同约定,他们与微型仪器和遥测系统公司的纠纷被移交仲裁。
听证会持续了大约 10 天。经过漫长的等待,仲裁结果出来了:仲裁员站在微软公司这一边。这位仲裁员解除了盖茨他们向微型仪器和遥测系统公司的 8080 BASIC 独占授权,明确指出他们享有源代码的所有权。
盖茨他们立即给所有一直等待获得这款軟體授权的公司打了电话。几周内,便收到了五六家客户的付款。
不再依赖微型仪器和遥测系统公司
1977 年年底,康懋达 PET、苹果 II 和睿侠 TRS-80 开始进入学校、办公室和家庭。
几年内,其用户便多达数十万人,其中大多数从来都没摸过计算机。
后来被称为 "1977 年三巨头 " 的这三款计算机将個人電腦革命引入了主流社会,其他厂牌则落在了后面。
在构成 "1977 年三巨头 " 的每一台计算机上,都安装着一版微软根据其制造商的要求度身定制的 BASIC:在睿侠的计算机上,运行着 Level II BASIC;在苹果计算机上,运行着把他们两家公司的名字合二为一的 Applesoft BASIC;在 PET 计算机上,则运行着康懋达 BASIC。
微软不再依赖微型仪器和遥测系统公司,也决定将公司搬至西雅图。
在盖茨离家上大学时,曾对父母说,他永远都不会再生活在西雅图。似乎他一定会在一个更大的世界打造自己的生活,回家将被视为一种退却。
但实际上,情况已经有所不同。
回来的不只是盖茨,而是微软——这是一家他和朋友共同创建的公司,它拥有一群各具特点的员工、一项蒸蒸日上的盈利业务,而且从那一刻起,它将会成为定义盖茨人生的不可或缺的一部分。
One More Thing
上述内容来自中信出版社出版的比尔 · 盖茨首部自传《源代码》。
「13 岁学编程,20 岁从哈佛退学创办微软,31 岁成为世界首富。」
盖茨成长路径中的几个决定性时刻,塑造了一位科技少年敏锐的洞察力和高瞻远瞩的战略眼光。
1995 年,比尔 · 盖茨就曾在《未来之路》中预言互联网及 AI 发展。他认为,未来軟體会越来越智能,电腦会理解人类语言,还能分析复杂的数据。
而在《源代码》里,盖茨讲述了他从童年到大学、整个青少年时期的成长故事,从中我们能发现微软创业背后的灵感来源和隐藏逻辑。
在中信出版社的授权下,量子位将继续陆续与大家分享书中部分与 AI、科技、计算机强相关的节选篇幅,与君共勉。
本文系连载第二篇,第一篇可回顾下文:
《比尔盖茨自述曾是熊孩子:16 岁徒步数百英里,边走腦中边写 BASIC 代码》
关于比尔盖茨自述:中学时期就开始偷偷996写代码就分享完了,您有什么想法可以联系小编(郜萌運)。