比尔·盖茨确实会让人有一种想要敲开他脑袋,看看里面装的究竟是什么的
冲动。他比这个星球上的绝大多数人
富有、比这个星球上的绝大多数人
成功,
关键他还是
辍学的。
但也正因如此,很多时候聚光灯只照到了盖茨超过700亿美元的个人
财富,而盖茨
成功之
路上最
关键的东西,却被落在了阴影里。
盖茨的
成功之路充满传奇,同样也有着各种
偶然性。就像是当年有着全球最强芯片设计与
生产力
能力的IBM,在推出PC(IBM Personal Computer)时,
选择尚属于
创业状态的微软所编写的BASIC,
作为PC上最基本的人机对话语言。很大一部分的
原因是,策划IBM PC操作系统的两位雇员中,恰巧有一位是盖茨
母亲玛丽·盖茨的
朋友。
作为前面这个
偶然故事的后续,盖茨与IBM签下
协议,并且答应两个月之后向对方交货的时候,手上既没有
任何现成的已经
完成的操作系统,当时的微软
公司也没有开发操作系统的队伍。就是这样的
背景下,盖茨和艾伦硬着头皮搞定了这个合约。
我所接触过的那些向盖茨汇报过的微软
员工,几乎都有同一个反馈就是,盖茨的反应极其迅速,并且
拥有极强的逻辑
思维,往往能很快的抓住程序或者是
项目中的
关键点。这样的
能力得益于盖茨从小对于数学的
天赋,以及在
计算机编程上的
努力。
其实一直到
哈佛法学院,盖茨的最大
理想还是想要成为一位“受人
尊重的数学家”,为此他还在
哈佛的时候,
选择了MATH 55这门号称全美最难的本科数学课程。其难度在于
需要在两个学期中
完成涵盖
大学4年的课程,同时在难度上比起普通课程更难。
盖茨在数学方面算的上
天才,但是为了
完成课程,还是常常
需要学习到每天凌晨2、3点。但让盖茨感到
压力极大的是,在
哈佛MATH 55的课堂上,每个人都极其
聪明,每个人都
拥有超高的SAT。
当然盖茨的
成绩也很棒,盖茨在大二期间发明了
煎饼排序(Pancake Sorting)的一种全新算法,并且在此后30年这一
问题都是
最好的算法。这样的
成就许多数学博士都未能
完成。
单独提盖茨的数学
水平,是因为在当时那个
时代,数学与编程之间的
关系更加紧密。而不是现在我们在编程的时候,可以直接调用大量的API
帮助实现功能。
盖茨编程
实力的展现大概是从13岁的时候
开始,那时候他刚刚在湖滨中学(Lakeside School)接触到
电脑,
开始在机房中鬼混。但是机房的上机
时间有限,于是他找到了
西雅图计算机中
心公司(Computer canter Corpration),通过为CCC的PDP-10机查找软件
错误,换取上机
时间。那时候盖茨不仅很好的
完成了这项
工作,还通过
自己的编程破解了CCC的
安全密码,以便
自己修改用机
时间。
而盖茨的编程
能力真正让他声名远播是在牛郎星(Altair)上。1975年,牛郎星出现在了《大众无线电》的封面上,虽然这时候MITS并没有
真正组装出能够使用的牛郎星
电脑,但盖茨和保罗·艾伦就已经意识到个人
电脑时代的到来。
他们“空手套白
狼”式的给MITS
公司打
电话,说
自己手上已经为牛郎星开发出BASIC编译器,能够在英特尔8080微芯片上
成功运行。其实这时候他们手中什么都没有,甚至都没有见过英特尔8080微处理器。而MITS自然不能放过
市场先机,他们想要3个星期内拿到成品。
这里盖茨
开始展现他超过强的BASIC
能力。他们没见过英特尔8080微处理器,于是保罗·艾伦买来了一本英特尔8080的说明书,然后盖茨在
哈佛的
计算机中
心编写了一个8080微处理器的仿真器,通过这个仿真器开发软件。
盖茨的另一个壮举是,当时牛郎星只有4K内存,这样就极大的限制了BASIC语言的长度。盖茨
开始进行字节层面的压缩,最终巧妙的将其压缩到了4K,而他的“4KBASIC”因设计奇巧大受行家
赞赏。
这里还有一个插曲就是,在盖茨与保罗·艾伦乘坐飞机前往MITS
公司的时候,飞机降落前半个小时,保罗发现还缺少一个引导程序。这时候盖茨拉
过程序纸带(当时程序以穿孔纸带交付,有孔代表1,无孔代表0)就
开始编写,最终在下飞机前
完成。而这也是广为流传的盖茨在飞机上,靠打孔且不用Debug就能
完成BASIC引导程序的由来。
最后盖茨的BASIC编译器以授权的形式转让给MITS
公司,并按每个拷贝收
权利费用:4K版本BASIC每个拷贝30美元、8K版本BASIC每个拷贝35美元。盖茨开创了软件授权的先河,也为微软赚到了一大桶金,微软以此共向MITS收取了18万美元的
权利金。
另外在1989年,盖茨曾在《Byte》杂志上公开宣战,程序员可以使用
任何工具和语言,但他一定能够用Quick BASIC编出同样的程序。
而在飞机上代码,也不止一次,在Windows 3。0时期,盖茨就在飞机上编写Windows FAT(文件配置表),上千行代码一气呵成。
现在即便已经不再是微软
CEO了,但盖茨此前还是在Reddit上
透露道,只要
自己愿意,偶尔还是会用C、C#或者BASIC编程。