上文说到Alan Kay在施乐第一次做出了带图形操作界面的计算机,接下来按正常的节奏应该讲乔布斯了,但是我偏不!虽然我用的是MBP,但是给计算机世界带来更大贡献的我觉得是盖茨,码农出身的盖茨也是我这个码农所更能体会和欣赏的。
布什-恩格尔巴特-Alan Kay这条线暂时放一放,盖茨这条线是从另一个神奇的地方开始的。开始这条线的人是一个心很大的胖子:大嘴巴罗伯茨。罗伯茨是远离硅谷,新墨西哥州阿尔伯克基市的一个发烧友兼商人。10年我曾经到过这个英文记不起怎么拼的荒漠之地,这是一个一套house才卖20万美金的鸟地方,我去那唯一的目的就是去看看Intel的数据中心,大家可以理解成宁夏中卫。
作为世界终极发烧友,罗伯茨喜欢捣鼓各种神奇的商业。在搞计算机之前,他做的是在家后院发射火箭玩的生意,一不小心把屁股给点着了。他的公司有一个很酷的名字叫MITS,跟MIT没半毛钱关系,取这个名字就是故意碰瓷的。罗伯茨也从来没有看过《诚如所思》,他连万尼瓦尔.布什是谁都不知道,更是没听说过恩格尔巴特和Alan Kay,燕雀安知鸿鹄呢。
但是这只燕雀很想飞(不然干嘛玩火箭)。当年Intel做处理器,TI等就用Intel的处理器做计算器(注意是计算器而不是计算机),作为Healthkits养大的发烧友,罗伯茨也去弄这个。作为发烧友,罗伯茨觉得卖成品的计算器不过瘾啊,适逢Intel 8080处理器出台,从指令集已看可以编程啊,就弄了个DIY的组装套件。罗伯茨是个赌性很强的哥们,当时8080零售要360刀,罗伯茨夸下海口一下子买下1000片,把价格压低到75刀。其实他心里觉得能卖出200套就不错了。但罗伯茨就是这样的人,要么改变世界,要么很快破产。我想罗伯茨也跟我一样欣赏不了Ada和布什吧。
这样,第一台PC,Altair 8800就诞生了。Altair是牛郎星,据说这个名字是罗伯茨的女儿取的,他女儿是星际迷,恰好那天的剧情是到牛郎星。如果他们多一点中国文化的话,应该会取名织女星吧。订单如雪片般飞来,不出几个月,就卖出去5000多颗牛郎星。改变世界!
敲黑板,接下来到我最喜欢的桥段了。Paul Allen和Bill Gates(我是多喜欢简单的英文名啊,我想恩格尔巴特为什么总是把事情搞复杂就是因为名字太长了,你看Kay和Jobs,多简单)是两个从小酷爱编程的好基友。Paul是一个点子特别多,啥事都想干的激情份子,而Bill则是一个非常非常非常专注的码农和很会很会算账的商人。Bill Gates中的Bill代表的是算账,Gates代表的是计算机中的逻辑门,名字决定一切啊,马云做云计算也是名字中注定嘛。
长话短说,Allen和Gates在看到Altair之前,已经有七八年的编程经验了,当时Gates还不到20岁。都是在大型机上,一开始是Mark-II,后来是PDP-10,这都是大型机历史上划时代的产品。这七八年Gates把BASIC和汇编语言甚至是机器码用的是不知道多溜了。
我说过Gates是一个非常非常非常专注的码农。Gates编起程来,那真是地动山摇,天地为之色变。书中写道,Gates用起功来,坐在椅子上身体前后摇晃,聚精会神,身边堆一大堆可乐。就这样的连续二三十个小时不歇气的,就靠可乐续命,一天下来得喝十多罐可乐(看看Gates那小身板,喝可乐发胖的谣言不攻自破)。然后大睡个十几个小时,醒了后马上就继续,也不管现在是凌晨三点还是下午三点,就当地球不自转一样。有时编着编着,慢慢的身体前倾,然后一把子就趴在键盘上睡了,过阵子醒来,立马恢复前后摇晃的战斗姿势。
Gates的数学是超好的,中学阶段,Gates的数学好的是目中无人。到了哈佛的第一年,Gates业余编点小程序,更多的时间放在做数学题上,不知道是吉米多维奇么?Gates和其他几个同学经常到一个他们中数学最牛的哥们宿舍通宵做题,后来Gates把这哥们弄到他寝室一起住了。不过Gates终于发现有人在数学上就是比他牛,他不能再在这方面目中无人了。正当Gates深陷题海不能自拔的时候,Allen拿着印着Altair的杂志跑来找他,醒醒吧,别TM做题了,我们再不干,就要错过个人计算机时代了。
数学好让Gates的编程内力深厚,不过我觉得作用更大的是Gates还有一个好习惯,就是在把程序写的短这件事情上非常的争强好胜(而不是像OO派那样总是把程序写的长)。早在湖滨中学的时候(想当年18罗汉创业是在湖畔花园,这也是名字决定命运吗?),Gates在编程社团中就经常比谁能把程序写的更短,当然十有八九都是Gates的最短,剩下那十有一二基本也就Allen偶尔能比试一下,其他人都差远了。把程序尽可能的写的短,这说明Gates也是非常追求简单之美的人,这对他后来成就大业我觉得非常关键。虽然Gates缺乏乔布斯那种用户交互界面层面的品味,但他对代码之美的品味又是乔布斯所远远不能欣赏的。这决定了乔布斯的苹果系统关注的是最终用户好不好用,而Gates在微软最关注的是开发者。
读Gates的故事经常会会心一笑,想起当年在寝室比赛谁把代码写的短,每天一大早带着面包矿泉水到机房泡一天,大一寒假回家没计算机就在本子上手写程序的往事(当年可没听说Gates这些故事)。然而Gates的疵至少胜我一倍,我至多从早到晚编十几个小时,Gates可以连续作战三十多个小时,这就是差距啊。
如果说Gates时常令我心有戚戚的话,Bill就是我只能顶顶膜拜天天学习的了。讲完了Gates的故事,继续讲Bill的故事吧。Bill的伟大在于他把软件变成一个独立的产业,把操作系统做成世界的主宰。我想Bill是一开始就清楚这一点。Bill的人生第一桶金来自于给Altair提供BASIC解释器,以便程序员能够在Altair上用BASIC语言编程(我想换做Alan Kay来做估计会变成LOGO语言,让小朋友们画画小海龟)。Bill跟MITS签合同的时候,就坚持BASIC解释器单独收费(还挺贵),保留对BASIC解释器的一切权利,包括源代码的所有权,包括授权给其他计算机的权力。现在看起来可能觉得稀松平常,但在那个时代,软件总是作为硬件的附属品免费提供的。
有了这个先例,到IBM来找Bill做操作系统的时候,Bill也如法炮制,硬生生把IBM变成DOS系统的硬件厂商之一。要知道IBM可是年收入300亿美金的巨象啊,而当时的微软还是一只年收入几百万的小蚂蚁而已。就这样,DOS系统成了PC时代的标准。
对下通过商业模式,让操作系统软件而非硬件厂商占据有利地形后,Bill又不断的在程序员的界面和工具发力。微软的DOS系统在乔布斯看来简直就是shit(乔布斯的原话是糟糕透顶),Windows系统在乔布斯看来就是赤裸裸的抄袭(而且还抄袭的很没品味),但操作系统要成功,最重要的是要有大量的应用软件。而要有大量的应用软件,就要设计好面向开发者的API,提供好的开发工具和文档,在这些方面,微软都做的出类拔萃。微软的Visual Studio就是程序员的倚天剑,MSDN就是开发者的圣经。这样,大量的软件基于Bill的操作系统开发出来,比如国内最早的一批程序员如求伯君,就是在DOS上做WPS的。微软自家也开发了几个非常成功的核心软件,如Office三件套和IE浏览器。
就这样,在操作系统之下,是IBM、康柏、宏基、华硕、联想、Dell、HP等大量的PC厂商,在操作系统之上,是及其大量的应用软件,双边网络效应让微软的操作系统成为PC时代的霸主。这一统治地位只有到了移动互联网时代,才被iOS和Android打破。而当前的云计算时代,K8S隐隐然有新时代操作系统的气象。每当我欣赏K8S怎么上下出击的时候,总是会不由的想起恺撒大帝的阿莱夏之战,在内外夹击中绝胜,这个留待后话再谈了。
虽然Allen也很牛,无奈Bill + Gates实在太耀眼,就不写了。大家记住Allen犯了*教唆*罪,把小学弟Gates忽悠的从哈佛退学就好。
写完Bill + Gates,感觉剩下的写不写都无所谓了。哪天有心情,再写写乔帮主吧,再会。Gates的精彩故事还有很多,见《创新者》软件篇。