83. 电脑原理01-从继电器开始

软件那些事儿

1 几个故事 从这一期节目开始,一直到第100期,也就是这18期节目里,我只讲一个内容,就是电脑的工作原理。希望能把我所知道的工作原理讲清楚。现在就开始正式开讲。首先,讲几个小故事来引出今天的话题。 1.1 烽火戏诸侯 我们都知道烽火戏诸侯的故事,讲的是西周时期,周幽王为了逗他老婆开心,他的老婆褒姒(bao si)有个特点,特别的高冷,不爱笑。然后周幽王为了让这个女人开心,就点燃烽火台,诸侯看到烽火台冒烟了,就以为是西边的犬戎打过来了,然后纷纷的出兵。结果这个女人看到以后,特别开心,哈哈大笑。这个周幽王一看,这不错啊,就多次点燃烽火台,结果每次都是妃子笑,诸侯哭。搞多了,诸侯干脆不来了。结果犬戎真的打过来了,然后把这次周幽王又点燃了烽火台,结果,诸侯没有出兵。这就是狼来了的中国古代版本。周幽王被杀死。 烽火戏诸侯也是周幽王自己作死,作为政府的最高首脑,频繁的发假消息,首先是天子失信,下面就是诸侯失信,反正总体上来说,西周灭亡的一点都不冤枉。再多说一句,西周灭亡以后,周平王即位,然后把都城东迁到今天的河南洛阳,也就是历史上的东周。在这里,立下赫赫战功的人中有一个叫秦襄公的,就是因为烽火戏诸侯这件事情,间接导致了秦襄公被允许建国,也就是秦国,然后天子把封地分封给秦国,反正分封的土地都是犬戎的,基本上就是送个人情。就是这个养马养了几百年的秦始皇的祖先,因为烽火戏诸侯,得以建立秦国,随后,就是这个国家,统一了中国。 当然,这个故事是史记上记载的,在同期其它的史书上,有另外的记载,说不是烽火台,是敲鼓。不过,我这个电台里不追究历史的真伪,不管是烽火台也好,还是敲鼓也好。这里又一个重要的信息是,古人是如何传递信息的?姑且就认为是烽火台吧。烽火台上有干草,干草上面盖着一层狼的粪便,据说,狼的粪便燃烧起来,会有巨大的浓烟,所以有个成语叫狼烟滚滚,狼烟四起。当然,我没见过,别说狼烟,就是狼我也只是在动物园见过,倒是见过不少色狼。 这个故事告诉我们: 信息是可以通过媒介传递的,通过狼烟来传递 1.2 易北河会师 上一个故事讲的是古代中国的故事,第二个故事,我来讲一个现代的外国的故事。要给外国人一个露脸的机会。如果大家对二战比较熟悉的话,应该看过一张出名的照片,在一个断桥上,三个美国士兵和四个苏联的士兵在握手。这就是二战中非常著名的易北河会师。这张照片实际上是摆拍的,真实的情况我们已经没法知道,有一种说法是一名美国士兵和一名苏联士兵,由于语言不通,彼此拍了拍肩膀。这个,我们暂时不去追究了,毕竟对我们这个节目的意义并不大。 易北河会师发生在1945年4月24日,在此之前,希特勒已经是强弩之末,失败已经无法避免。早在易水河会师之前的两个月,也就是雅尔塔会议上,美国,英国和苏联已经在讨论胜利以后如何分配利益。在这个会议上,也制定了易北河会师的规则,美国和苏联分别从两个方向进攻德国,把德国切分成两部分。但是毕竟战场上没法分辨敌我,所以就规定了接头暗号。当两个国家推进到易北河的时候,就停止继续进攻,以信号弹来作为接头信号。会议上决定,苏联放红色信号弹,美国放绿色信号弹。 首先推进到易北河的是苏联的乌克兰第一军,然后静静的等候美军的到来。在4月25日的时候,美国的一个步兵巡逻部队首先到达易北河边。然后,发现自己忘了带绿色的信号弹。这时候,对面的苏联红军发现河对岸有情况,并且没有释放信号弹,就以为是德军,因此开始了猛烈的攻击。美军这边没有还击,因为是他们忘记带信号弹了,苏联红军一看对方没有还击,火力也停止了,决定首先释放信号弹。可惜的是,苏联带了信号弹,但是带错了。本来雅尔塔会议上决定的是苏联红军释放红色信号弹,结果带来的是绿色的。因此,苏联就释放了一个绿色的信号弹。当美军看到释放的是绿色信号弹以后,以为这尼玛咋搞的?不会是德军吧。然后,双方竟然打起来了!后来打的毕竟很心虚,美军就从战俘营里找来了一个会俄语的士兵,对着河对岸喊话。这才搞清楚,原来是盟军的部队。 Figure 1:栋哥亲自绘制的“优美”插画 这个故事告诉我们, 信号一定不能放错,不管是打仗还是搞电脑,一旦发出的信号有错误,后果不堪设想。 1.3 手电筒传情 第三个故事呢,是我瞎编的,只是为了引出如何设计一个传递信号的机制。比如说,我们和青梅竹马的女生住在一个小区里,没有电话可以联系,只有一个手电筒可以使用,在没有雾霾的黑夜里,实际上,我们可以通过手电筒来传递某种信息。就是两人分别拿着手电筒,可以在空中写字,但是,实际上,那些字是非常难以辨认的,这个方法根本不行。我们可以通过拼音的方法来实现通讯,最简单的方法是这样:用汉语拼音来实现通讯,从A-Z这26个字母,A按一下手电筒,B按两下手电筒,C则按三下手电筒…一直到Z,按26次手电筒。虽然效率比较慢,但是在没有雾霾的黑夜,一天晚上还是能够发一个一句两句话的。当然了,这个方法肯定没人去用,因为不但你自己累,接收的一方,也非常累,一旦数错了手电筒的闪光次数,那就非常崩溃了。不管如何,这也算是一种方法,只是很粗糙。 Figure 2: 以后插画都是这个风格,提前预警 我杜撰的这个故事呢,起码告诉我们,作为一个啥经验都没有的人,也是可以尝试设计一种系统,来通讯的。 1.4 莫尔斯码 第四个故事,摩尔斯码。摩尔斯是谁呢?大家应该都知道,他是电报之父,就是他,发明了电报这个东西。摩尔斯这个人,和我们课本上学的有点不同,我记得我上学的时候,说摩尔斯家境贫寒,由于某种原因,他不怕辛苦,不怕困难,终于研制出了电报。我小时候经常是这么被洗脑的。后来我才知道,摩尔斯不但家境不贫寒,而且老爹是个超级大富豪。摩尔斯本人呢,衣食无忧,是个画家,而且是个很出名的画家,每天的生活主要是想着能去哪里旅个游。而且,他在41岁以前,只会两件事情,花钱和画画,一点科学家的样子都没有。结果,有次,在旅游途中,在一艘轮船上,他的医生也很无聊,就和他展示了一个技术,电磁铁,一通电,铁棍就能产生磁场。这件事情,让摩尔斯产生了巨大的兴趣。41岁以前,他只会画画,电磁学的只是为0,远远不如他的医生懂得多。 然后,他回美国以后,才第一次买了一些实验仪器,开始自学电磁学的知识。刚开始的时候,纯粹是觉得这玩意好玩,他也没打算设计个啥东西出来,毕竟一个画家,到了后来,他才决定也搞一个通信系统出来。为什么呢,因为当时一大批人都试图搞一个通信系统,他不是第一个,也不是最后一个,确切的说,电报这东西的编码,根本不是他发明的,而是他的助手发明的。不管怎么说了,这个有钱的富二代,成功的画家,发现了一个有趣的现象,电流停止的片刻,导线上会出现电火花。 在这里多说一点,非常希望大家做一下这个实验,晚上把灯关了,用一节干电池,把正负极短路,也有轻微的电火花产生,这个我做过,只是电火花非常的微弱。我觉得吧,这个现象肯定不是摩尔斯第一个发现的,只是他第一个想到这个现象可以用来通信。因此,他的方法是这样的,有火花的时候看作是一种符号,没有电火花的时候看作一种符号,然后没有电火花的时间长度又是一种符号。这三种符号组合起来,就可以表示字母和数字了。 莫尔斯码其实和计算机关系不大,主要是和电报关系很大。有人说莫尔斯码是二进制的,这也是不对的,莫尔斯码是三种状态的组合,不是二进制。然后,摩尔斯很兴奋,就决定继续搞下去。然后,他花了很长的时间,设计了很多的编码,毕竟自己是个画家,经过了不懈的努力,他发现自己搞不定编码!有些事情,不努力一下,是发现不了自己不行的。如果有人不相信,你自己设计一下编码试试。反正我试了好几次,很难做出自己的编码。 然后摩尔斯就去找一个能搞定编码的人,他的名字叫艾尔菲德•维尔,美国人,是他发明的莫尔斯码。这个编码就是我们今天所知道的通过点,划和中间的停顿。不过,这个维尔同学,基本上没有什么名声,大家只知道摩尔斯这个人,并不知道摩尔斯码其实并不是摩尔斯设计的。其实莫尔斯码有好几种,比较出名的包括美式摩尔斯电码,还有国际摩尔斯电码等等,现在如果有人喜欢玩摩尔斯电码的话,也可以去玩,如果每分钟能发送20多个单词,还能获得业余无线电证书。 发送SOS的信号是三短,三长,三短。现在好像很多手机上的手电筒应用都有默认的设定,可以发送SOS的信号。我们可以看出来,因此摩尔斯码可以通过任何的媒介发送出去,不止是电线,也可以通过无线电,也可以通过手电筒。编码是相同的编码,发送的媒介可以与时俱进。 还有一个故事是,二战结束以后,很多的军人是会莫尔斯码的,然后两个退伍军人就去面试,面试的时候,有考题,笔试题。然后两个军人就通过铅笔敲桌子的方式来作弊,根据声音。结果,没想到监考的人也是个退伍军人,也通过敲桌子的方式发送莫尔斯码,来警告两位,不要作弊了! 这个故事告诉我们,当我们想传递信息的时候,编码搞定了,其实通过很多的媒介都是可以把信息传递出去的。可以通过手电筒,可以通过铅笔敲桌子,可以通过电线,或者通过无线电。比如说,在长征期间,红军的电报就坏了,主席非常开心,因为共产国际管不到他们了。那个电报,是通过无线电来传播的。 2 本系列的大体的脉络 2.1 巴贝奇计算机 如果大家以前听过我的音频的话,有两期我是做的人类历史上的第一个程序员,在里面着重说了几位人物,除了Ada,花费时间最多的人叫巴贝奇,巴贝奇试图用齿轮造出一台计算机,最终他没有做出来,但是后人使用他留下来的设计图,真的造出了那台机器,非常原始,但是能够工作的一台计算机。 2.2 继电器 在前面我刚刚提过,41岁的摩尔斯,在他的医生的展示下,第一次对电和磁产生了兴趣,然后,他花了很多的时间,由一个出色的画家,自学成才,成了一个伟大的工程师,并且拜著名的电磁学家亨利为师。我们初中物理的电学里,有这个人,亨利,电感的单位就是这个人的名字。在美国,他被认为是富兰克林以后最伟大的科学家之一。 摩尔斯是他的学生,前面我提到过,摩尔斯家族非常的厉害,他爸就是个学术界以及宗教届的牛人,具体牛到什么程度呢,大概是现在中科院院长,至少是个院士的地步。他爸爸是美国的“地理学之父”,在学术界和宗教界是不可忽视的力量,所以,摩尔斯才能够拜亨利为师,也是靠他老爸的关系。摩尔斯是耶鲁大学毕业的。 摩尔斯的发明,很大的一个推动力,就是他拜的这个老师,电感单位的牛人,亨利。电感的定义是这样的,虽然我们初中学过,我怕有些人忘记了,就提一下,因为这个定义非常的重要,以后我的课程里,要多次用到这玩意。电感是这样的,如果电路中电流每秒变化1安培,则会产生1伏特的感应电动势,此时电路中的电感定义为1亨利。这里的安培和伏特我就不多说了,安培是电流的单位,伏特是电压的单位。如果再解释,就没法讲了。再来说一下亨利的一个发明,他发现了电磁感应现象,比法拉第要早,但是,他没有法拉第有名气,因为法拉第确实更厉害吧,电容的单位就是纪念法拉第,我顺便提一下电容,是因为以后的节目里,也要用到电容这个东西。 摩尔斯的老师亨利先生,还有一个特别重要的发明,就是继电器。我这里说的继电器是最古老的那种继电器,电磁继电器。现在可能有同学说,继电器太多了,有固态继电器,磁簧继电器,还有热敏继电器… 这些继电器太先进了,我们不涉及。 我这里所说的继电器,就是最早的继电器,初中物理上的那个继电器,一个铁棍,一个线圈,一块电池,再加上一个弹簧片。这种最简单的继电器。使用这种最简单的继电器,使用一个或者两个,再加上一个弹簧片,就可以构建出我需要的各种逻辑门。然后再使用逻辑门,然后再使用逻辑门构建我需要的半加器。 2.3 为什么从继电器开始构造? 可能有同学会有疑问,为什么用这么落后的设备来构造计算机呢,现在都用晶体管了。是的,如果大家对计算机的历史有理解的话,第一台计算机再1930年代被制造出来,里面的设备就是继电器,这台计算机的名字叫机械式继电器计算机,这台计算机通过继电器里面的弹簧片的接通和断开来表示二进制的0和1,后来由于继电器的性能不能保障,因为里面有弹簧片,弹簧片这种东西,弹多了,就失效了,而且使用的能量也太多了。继电器中有弹簧,我们知道,弹簧的速度是不够快的,最快的弹簧片,需要1/100秒改变一下状态,而且,弹簧片不可靠,因此,并没有大规模的应用。但是德国的科学家朱塞就是使用继电器制造出了一台全自动的计算机,速度肯定不快,但是已经具有现在计算机的一些特征了,能够计算浮点数,二进制计算等等。后来才使用电子管代替了继电器,后来又用晶体管代替了电子管,但是,基本的原理并没有发生翻天覆地的变化。 今天我们使用的晶体管计算机,速度更快,能耗更低,也更便宜。但是,里面的工作原理和继电器的计算机并没有任何区别,今天的一个8位的加法器需要144个晶体管,同样,当年构造一个8位的加法器,需要144个继电器。只是现在科技发达了,由于集成电路的突飞猛进,144个晶体管,尤其是现在intel有10纳米的工艺,144个晶体管可能需要用电子显微镜才能看清楚。但是继电器的话,144个继电器,可能得一大坨。但是,我们要知道,里面的原理是一模一样的。 好了,下一次开始讲继电器的工作原理,如何用一个铁棍,一根导线,一个电源再加上一个弹簧片,构造出一个继电器出来。谢谢大家。

26分钟
99+
8年前

82. 钻钻牛角尖:为什么开发浏览器引擎这么难?

软件那些事儿

这一期的内容继续讲浏览器的工作原理,以及一些吐槽,或者这期的内容继续吐槽,顺便讲一点浏览器的工作原理。因为有些听众希望听到干货,不想听吐槽,对这些听众我想说的是,进错剧场了,我这个节目主要是吐槽,没有啥干货,并且,我始终认为,如果想学编程,希望通过睡前听不到半小时的音频,这是缘木求鱼。编程这个东西,是通过编译器以及无数次痛苦的调试才能掌握的技术,我不认为有什么灵丹妙药,可以让人通过每天半小时,或者每天7分钟能学会的。每天7分钟,让你成为编程高手,这就是扯淡啊!我觉得别说每天7分钟,我觉得0基础程序员的话,每天7小时,也得一年才能入门。 说实在的,我倒是看到过不少音频节目是这样宣传的,比如说,每天5分钟,让你实现财务自由,但是,如果要想听每天5分钟,得先付出199元钱,然后才能财务自由。然后,很多人就付了199元,结果让人家主播财务自由了。大家可能觉得我吃不到葡萄说葡萄酸,讲真,你们猜对了!我真的想不懂,真的有人觉得每天听5分钟,就能财务自由,这是不太可能的。我觉得任何有价值的技术,包括忽悠这门技术,绝对不会是每天5分钟,听半年就学会的,一定需要不停的锻炼才可以掌握。编程也是这样,可能相对于其它的一些技巧,编程算不上特别复杂的技术,但是,大家也不要认为通过听电台就能学会编程。如果想学编程,听我这个电台是不合适的,所以,大家也不要总是留言说要干货,我这里没有干货,只有吐槽。不要幻想通过听广播学编程,学编程只有一条路,就是打开你的电脑,打开编译器,要么阅读别人的源代码,要么调试自己的项目。其它的途径,都是效果很差的。 开始吐槽了,当浏览器拿到了HTML文档,需要解析,解析的最终结果是一棵二叉树,二叉树的每一个节点都是一个文档的结构。这棵树的名字叫解析树或者语法树。这两种叫法我都看到过,但是说的都是一回事儿,在数据结构的教材上,叫语法树的时候比较多。那什么是语法呢?这个语法和我们英语课上学的语法是不同的。我要开始讲编译原理的知识了。而且我没法用通俗易懂的语言讲编译原理的知识。我慢慢的发现,如果要讲清楚,或者说我自己思考清楚一件事情,唯一的方法就是从头讲起,比如说,我们很难让一个没有学过电路知识的人明白,一个电路是怎么工作的,如果真的要讲清楚,只有一个办法,就是从晶体管那个地方开始讲,否则,肯定是不清楚的。但是,如果从晶体管开始讲,那时间可就太长了,得讲好几天。还有一种办法,虽然讲不清楚,但是可以让听的人或者看的人,觉得自己清楚了,这种方法就是基本上所有的科普读物所采用的方法,类比的方法。这种方法其实只是好像清楚了,实际上根本没清楚。 我可以举个例子,比如说,现在的手机都是32G存储或者128G存储,但是,手机里还有个存储器,也就是内存,是2G或者4G。一方面是一个32G或者128G的存储器,另一方面是一个2G或者4G的内存,如果想对一个没有搞过计算机的人讲清楚这两个东西,是非常困难的,甚至,可能就是徒劳的。因此,我听过一个节目,就是试图讲清楚这两个东西是不同的。最后,不得不用了类比的方法,这也是几乎所有的科普书籍所采用的方法,类比。他把手机内存比做超市里的货架,把外存比作超市的仓库,然后说这两个是不同的,为什么不同呢?讲不清楚么,最后,不懂的人觉得手机里有一个超市的货架,还有一个超市的仓库,至于到底有什么不同,也就不去深究了。毕竟,手机里有有两个东西,一个是货架,一个仓库,这代表着两种存储器。这算不算是个方法呢?说实在的,我觉得也算是个方法,因为我也很喜欢看科普的读物,对个外行来说,知道一点总比啥也不知道强。但是,类比实际上对理解真正的原理没太多的帮助。 我得再狡辩一下,我对科普并没有任何批评的意思,因为面向大众的科普,比如说,我如果想了解黑洞,想了解微观可逆性,只能看面向我这种档次的人的科普,也就是大众科普。大众科普其实就是在非常浅显的面向大量的读者;如果读博士了,就是在很深的层次上面向很少的人,博士生的论文,肯定不会出现很业余的类比,人家都是直接上数学公式。 所以,我打算以不用类比的方法开始讲编译原理的知识。即使这样可能会有点枯燥无味。因为我的观点是这样的,计算机这个东西,总共发展了就这么多年,不用类比的方法,我觉得大部分人还是能理解计算机的美丽的,尤其是程序员。就像我们看到一个美女,就知道她是美女。根本不用类比的方法,说她像西施或者像仙女,比如说,汤唯就是汤唯,高圆圆就是高圆圆,不用类比,我也觉得她们是美女。编译原理就是编译原理,不用类比,我觉得也可以领略编译原理的美。 首先,讲词法分析器,这个玩意也叫词法扫描器。当我们拿到一个HTML文档的时候,尤其是可以把语法高亮显示的时候,我们一眼就可以看出,不同的颜色,代编不同的含义。比如说有HTML的各种标签,显示的颜色就和其他的文字的颜色不同。然后,我上一期节目提到的那几个引擎webkit开始进入语法分析阶段,在术语上把单词叫做token,也有翻译为令牌,记号等等,在这里我把这个token翻译为单词,因为HTML文件分解后的东西,的确非常像一个一个的单词。然后,用相对简单的规则,就把从网络上下载下来的文本文件,分解为一串一串的单词流,这样,为了下一步的词法分析做准备。很可惜,这一段话仍然是白话,对计算机来说,这段话就是废话,他根本不懂。为了让计算机能理解上面我说的这段话,需要用计算机才能理解的语言。比如说,正则表达式就是一个比较理想的选择。 如果是程序员,我就默认大家知道啥是正则表达式,程序员经常用正则表达式匹配字符串等等,我也默认大家已经是个正则表达式高手了。尤其是大家可以在脑子里默念一下正则表达式的规则,两个正则表达式的并,两个正则表达式的连接以及一个正则表达式的克林闭包,这三个表达式在心里想几秒钟,其实用这三种正则表达式的运算,就可以把文件给分离的差不多了。尤其是能完全用正则表达式表达的语言,比如说C#就是,这种语言也被称为正则语言。但是,很可惜,我们这个音频里讲的是怎么处理HTML和CSS,恰好,HTML和JSON都不是正则语言,那怎么搞呢?我当然是搞不定的!但是,因为这个世界上有不少默默无闻的科学家,数学家,他们能搞定。既然讲到了数学家,我个人心里还是挺佩服数学家的,因此,我本科在理学院中混,算是学了4年数学吧,当然,这句话说的有点儿心虚,因为我逃了好多课,然后就找不到工作了,幸亏学数学的时候,老师未雨绸缪,知道天天让我们学微分几何,偏微分方程或者拓扑学,是找不到工作的,所以,我们系允许去计算机那里学点编程,以防止毕业以后因为找不到工作,给饿死了,所以我学了一些C++编程,然后我就当了程序员,来填饱肚子。 因为我们所熟知的一些语言,是有递归的性质,比如数学运算也有递归的性质,尤其是我们小学三四年级所进行的加减乘除四则运算,有好几个括号的那种运算,实际上是可以通过递归的方法来算出来。可惜的是,我们三四年级的时候,根本不懂这个。在递归的语言中,我们没法用DFA来解释,因为,DFA只有有限个状态,是没办法追溯无限递归的。比如说,我们写网页的时候,可以在一个列表里包含另一个列表,在另一个列表里又包含另一个列表,理论上,只要足够闲的蛋疼,我们可以无穷的包含下去,这个时候,就是我前面所说的,使用正则表达式,正则语言还有DFA工具,都搞不定的状态。幸亏,有一些数学家,又搞出来了一个语言,他的名字叫上下文无关语言。英文叫做Context-Free Grammar。依靠这个工具,我们才可以愉快的上网看网页,当然了,绝大部分的网友根本不用关心上下文无关语言到底是个什么东西,这也是科学的神奇之处。我们不用懂空调的工作原理,只需要按几个按钮,就可以使用空调了。 开源的伟大之处在于,并不是所有的东西都要从零开始,因为有了各种解析器了,毕竟创建一个解析器并不容易,尤其是能兼顾效率和精确的解析器更是难上加难。webkit使用了两种非常著名的解析器生成器,第一个叫Flex用来创建词法分析器,还有Bison用来创建解析器。他们也有其他的名字,比如叫Lex或者Yacc,不过,大家很少能用到这两个东西,除非真的去做浏览器或者做编译器。Flex处理的是包含编辑的正则表达式定义的文件,Bison处理的则是BNF格式的语法规则。接下来再说说HTML解析器,很可惜的是,常规的解析器都不能解析HTML,为什么呢? 为什么呢?HTML和XML差不多样子,解析XML的解析器多如牛毛,为啥解析HTML的解析器就寥若晨星呢?那是因为XML是一种非常严格的语言,HTML是一种非常宽容的语言。简单来说,XML不允许存在一点错误,HTML则是差不多就行。HTML可以随便写写,比如说,HTML可以随便省略一些标记,也可以省略开始或者结束的标记,反正HTML简直就是最宽容的语言,写错了问题不大,只要是能显示出来,前端的同学也懒得去修改,即使知道这玩意有错误。这样的后果就是,HTML的解析器能容忍错误,不能说一个错误,浏览器给崩溃了。一个错误导致崩溃,大部分编程语言都是这样的,比如说闪退啥的,很可能是一个小错误。但是由于HTML处理的网页是各种各样水平的程序员写的,网页里面的错误肯定是五花八门,如果一个错误就让浏览器崩溃,那就不用上网了。所以,这也就是HTML的难点所在,得和错误共存。稍微总结一下开发一个浏览器引擎的难点,正是因为这些难点,所以才导致世界上可能有几百种浏览器,但是核心的引擎,就那么三四种: 1. HTML语言宽容的本质。所以,我们程序员真的要感谢那么多人默默的付出,才让我们写的那些垃圾代码能显示出来,即使我们写的HTML像一坨屎,浏览器的引擎也默默的帮我们处理成我们想要的样子。 2. 浏览器能处理很久远的网页,即使一些无效的HTML标签,他也知道什么时候该忽略掉。尤其是浏览器大战的年代,各家浏览器搞创新,每家都有一些独特的创新,可以显示在自己的浏览器上,那些创新尽量不让他们正确的显示在别人家的浏览器上。嗯,人类这个物种,有时候挺恶心的。 3. 解析的过程需要不停的反复。为什么这么说呢,举例来说,如果在HTML中,有可以写入的选项,这个时候,因为用户要不停的写入内容,因此,这个浏览器要反复的解析,写入一点,解析一点。这也是非常棘手的一个问题。 这三个难点是表面上就能看出来的,具体还有什么更多的难点,我想,也许只有开发引擎的程序员能体会了。现在已经是HTML5的年代了,HTML5规范则详细的描述了解析算法。HTML5的解析算法主要分为两个阶段,第一个阶段叫标记化阶段,第二个阶段则是构建树的阶段。如果大家有兴趣的话,可以google搜索关键字HTML 5 Parsing,就可以找到链接。或者,你可以输入HTML在百度搜索引擎里,你可以找到相关的培训班,然后交钱参加培训班以后,可以去问老师HTML5的解析算法是什么。这一点,不得不服百度呢,我一搜HTML,先给我搞了四个网站开发培训班的广告。这一点,百度的人性化特别好。 如果你不想搜索的话,可以关注我的微信公众号——软件那些事儿——我把HTML 5 parsing的链接放在这里,还是挺有趣的。 https://www.w3.org/TR/2011/WD-html5-20110113/parsing.html 我简要的把这个链接的意思概括一下,不过呢,还是建议大家去读一下,还算有趣,单词量也不大。技术文章的单词量不大,这一点让我这个英语渣感觉有点幸福。竟然抱着一本字典,能读懂。 第一个阶段叫标记化阶段,讲输入的内容,也就是HTML文件,解析成多个HTML的关键字,也就是标记。这些标记包括HTML的起始标记,也就是这个东西,结束标示,还有属性的名称,以及属性的值,这些都是在第一个阶段完成的。 第二个阶段叫构建树的过程,由第一个阶段生成的那些标记,传递给构造器,然后反复执行,直到第一个阶段生成的标记都完成了,这是个循环的过程。最后,生成一刻HTML解析树。这个流程呢,我把解析图放在这里,这个图也是在w3那个链接里的,如果有人去读一下原文,就不用看这个图了,这个图解释了整个过程。HTML的解析流程。 HTML解析流程 好吧,这一期就到这里,下一期继续讲浏览器的工作原理。

26分钟
99+
8年前

81. 钻钻牛角尖:浏览器的工作原理(1)

软件那些事儿

文 | 刘宝辰 我们每天上网,用的最多的应用软件之一是浏览器,我们用浏览器看新闻,看视频,基本上,只要是现在上网,大部分人都是使用浏览器。浏览器也有很多,但是,总体上分为四个半流派,第一个是微软公司出的Intenet Explore, 这个占有率很高,尤其是中国的市场上;第二个流派是谷歌公司出的Chome浏览器;第三个流派是Mozilla公司出的Firefox流派;第四个流派是苹果公司出的Safari;第五个流派是Opera基本上就是这些吧。 有同学可能问,我从来不用上面这些浏览器,我用的是360浏览器,QQ浏览器或者各种百度全家桶浏览器,其实,这些有中国特色的自主研发的软件,都是基于以上我说的那些浏览器来改版的。比如说加了一个外壳,让浏览器可以记录密码,同步书签等功能。我这次节目不做浏览器的测评,不评价哪个浏览器好用,主要是讲浏览器的一个工作原理。以前我做过一期,名字叫钻钻牛角尖,电脑开机开了啥。那一期是研究电脑开机的,结果,有人告诉我没必要这么复杂,装个360软件,就能加速电脑开机。而且我还和那个朋友争吵了一下,最后不欢而散吧。我这一期节目,没啥用处,即使研究浏览器的原理,也不会让上网速度变快。这只是一个程序员的怪癖,我就是喜欢研究这种东西。以后我还会讲各种音频格式之间的差别,各种图片格式之间的差别,各种视频格式之间的差别,还有各种自拍加的滤镜的工作原理等等,怎么说的,研究这个并没有卵用,只是我自己的业余爱好,希望不喜欢听的同学不要去留言说,你研究这个有啥用了,我也知道,真的没啥用。因为我上一次做电脑开机的那个音频,非得有人去问研究这个能让电脑变快么?如果不能,还不如装个360一键加速呢... 在这个节目里,主要讲两个浏览器,一个是Firefox,一个是chrome和safari和Opera。至于为什么把chrome和safari还有Opera放在一起讲呢?那是因为这三个浏览器用的是相同的排版引擎,是苹果的WebKit,是开源的。其实这个项目最初也不是苹果原创的,而是苹果基于另一个开源项目,那个开源项目是KDE的HTML排版引擎,名字叫KHTML,还有一个KDE的另一个Javascript引擎,名字叫KJS。苹果公司开始的时候是基于这两个开源项目,做出了自己的项目,名字分别是WebCore,这个对应于KDE的KHTML,另一个项目叫JavascriptCore,这个对应于KDE的KJS这个项目。这个两个项目的目的是可以移植到OS X系统上,毕竟人家苹果是商业公司,而且苹果做的事情非常的合乎法律,给KDE的KHTML和KJS也作出了不少的技术改进,然后KDE的这两个项目,也获益匪浅吧,起码开始的时候是这样。 如果用过苹果电脑的同学,尤其是早期的苹果电脑,苹果电脑上是没有一个特别靠谱的浏览器,这东西可能是不太容易做。苹果电脑上一度装微软出的InternetExplore 5浏览器,其实微软和苹果之间,有说不清道不明的爱慕关系,经常互相帮助,相爱相杀。苹果公司就基于这两个东西,然后就推出了自己的浏览器,也就是safari浏览器,,2003年发布的,safari浏览器。这个浏览器我用过,因为那时候我正在读本科,要去做实验,学校的实验室里新买了一批设备,这批设备需要处理数据的就是一台iMac,当年是新款的,那也是我第一次使用苹果电脑。刚开始感觉并不好用。现在记忆最深刻的就是这台苹果电脑,还有一台离心机,非常大的离心机,可能得有直径1米多,然后我有个同学突发奇想,把刚洗过的衬衫塞进去,想看看能不能把衣服甩干,然后甩了10来分钟,衬衫甩成了破布,已经不能穿了。实验室去了好几年,结果,就记住了这两件事情,一台苹果电脑,一个离心机,其它的都忘记了。 继续来说苹果,然后苹果对webkit的改进越来越多,和开源社区也就越走越远,再后来,就彻底分手了。这个分手只是和KHTML那个项目分手了,具体的分手过程,我记得KDE的一个开发者曾经写过一个文章,来吐槽这件事情,当年在开源届也算引起过不大不小的轰动,甚至让Apple公司吓得赶紧联系KHTML的开发者,看看还能不能复婚,别那么快离婚。后来KHTML这个项目确实又从Apple中接受了不少新的特性,来改进KHTML的渲染速度。但是,我猜测的一个原因,Apple是商业公司,KDE是开源组织,商业组织是向钱看,我说的向钱看是金钱的钱,开源组织是不太注重金钱驱动的,结果呢,这些开源的项目因为不赚钱,大家紧张了一阵子,又开始跟不上苹果的节奏了,因为商业公司的项目推进能力,远远高于开源组织,结果,最后还是闹分手了。其实,开源组织有时候吧,赚不到钱,只能兼职做做,很多时候项目的质量并没有商业公司高,在后来,Apple的webkit在很多方面全面超越了KHTML。当然,KDE也知道这件事儿,从KDE4.5开始,KDE就已经使用苹果的webkit这个开源组件,当然了,开源的那个KHTML还是继续开发,也继续用在KDE上吗。 苹果也在继续开发webkit,开发的成果也继续开源。可能有很多人觉得,苹果太尼玛封闭了,其实不是的,苹果是个商业公司,他肯定首先考虑的是商业利益,如果开源能获得巨大的商业利益,他肯定开源,所以,苹果开源了几个大杀器,黑科技。其中我知道的几个有前面我说的这个webki,还有一个大杀器是llvm,这个项目也极其重要,既然说到这里了,我就稍微的说一下,llvm呢,是一个开源的编译器项目,是C++写的。以前,包括现在,最重要的开源的编译器是gcc,就是理查德斯托曼做的那个gcc项目,曾经,gcc是开源届的核心地位,现在也差不多,因为几乎所有的开源软件,都需要使用gcc来编译成二进制代码,然后,这个组织脾气不太好,基本上处于那个地位,可能总是有缺点吧,而且处于核心地位,缺点也容易被放大,gcc可以说是在所有开源项目中,受到的批评最多的一个,比linux都多。但是,即使收到批评,你还不得不用它,苹果就是这样,给gcc捐献了大笔的钞票,没啥效果,因为有求于gcc的,可不止苹果一家。然后,苹果公司就搞了一个LLVM项目,来代替gcc在开源中的地位,LLVM是一个简称,全称是Low Level Vitual Machine,全称没啥人知道,我也是google一下,才敢写在这里。然后,LLVM太重要了,还获得了ACM颁发的一个大奖,来奖励Apple开源的这个LLVM项目。然后Apple率先垂范,把Gcc从默认编译器的位置拉了下来。因为Gcc这个项目组,和其它大的开源项目组,之间的龌龊事情也不少,比如FreeBSD项目也是早就看Gcc不爽了,但是,苦于自己没有编译器,只能忍气吞声,结果LLVM一出来,FreeBSD马上就把GCC给集成进来的,然后,一个以前看起来非常狂妄自大的计划被FreeBSD提上了日程,不光gcc,而是要把所有GNU组件都替换出来,然后就有了lldb, libc,compiler-rt这一系列项目,个人觉得,以FreeBSD社区那种比较高贵的气质,完全替换掉GNU项目,是有很大可能的。这一切,都是Apple花了5年时间,搞出来了一个LLVM,然后把这个编译器项目开源的原因。 llvm的logo是我最喜欢的logo 稍微跑了一下题,拐到编译器上了,再强行拐回来,继续说Apple这个webkit。苹果继续改进webkit,然后webkit也就越来越好用,速度越来越快,然后呢,另一家公司叫Google,也打算做个浏览器,二话不说,直接把苹果开源的这个引擎webkit拿过来就用,这是合乎法律的,因为开源么。然后一贯嘴上说不作恶的google公司实际上恶心事儿也干过不少的google和一贯表面非常高冷但是私底下对政府部门低三下四的apple公司又杠上了。chrome继承了apple公司的webkit,然后加以改进,把认为不行的代码丢了,尤其是javascript的部分,用了自己引以为豪的v8引擎,这个v8引擎的横空出世,让很多人也是惊讶的不行,然后javascript开始从前端到后段,差点儿通吃。让不少程序员惊呼,我操,js这是要上天么?然后,后来发现这种担心是多余的,因为前段进入了百花齐放的时代,每年都会出现至少365个javascript写的库,每天一个吧,然后循环往复,至今已经持续了好几年了。这个话题太容易引起争端,那个前端库更好呢?这个得看情况,因为一旦争论结束,又会出现更多新的js库,没办法,程序员就是这么搞笑,还是老老实实的用php这个世界上最好的语言靠谱。 然后google的chrome是世界上占有率第一的浏览器,由于在中国某种神秘的力量,chrome的占有率很可能是倒数第一,如果你看到有人用chrome,很可能他就是个程序员。接下来,还有一个更小众的浏览器,他的名字叫Opera,据说已经被中国的360公司收购了,这家公司浏览器的引擎,也是webkit。因此,chrome/safari/opera,这三个浏览器,在渲染方面,大同小异,来自一个妈。 另外一个分支就是大名鼎鼎的火狐浏览器,Firefox,这个在国内可能用的人也不多,如果你看到有人用firefox,可能,也是个程序员,如果你看到桌面上有三四个浏览器,并且同时使用,那100%是个前端程序员,尤其是你看到有人还在测试Internet Explorer 6这个浏览器,那100%是个给中国国企开发软件的前端程序员,中国国企和IE6这个浏览器,已经水乳交融,今生今世都不再分离了,即使这个浏览器已经15岁了,15岁,在IT行业,和永远一样远。但是,大型国企爱IE6,比如说,在2016年,我看到过某大型钢铁企业,赫然写着网站要支持IE6,真是让我百思不得其解的一件事情。火狐浏览器用的引擎的名字叫Gecko, 这个软件,曾经一度讨论要不要也把引擎换成webkit,最后,还是继续用这个Gecko,在英语中是壁虎的意思。好了,背景就介绍到这里,微软的不考虑了,他有自己独特的渲染引擎,但是,可以研究他家引擎源代码的,就是微软的人,网上可以找到的材料并不多。这里只讲这两个引擎,一个是webkit,用这个引擎的有三个浏览器,chrome,safari和opera;还有一个是Gecko,用这个引擎的是Firefox。· 这些浏览器虽然各不相同,但是作用是类似的,就是能把你要求的东西显示出来,并且,不同的浏览器,显示的样子大同小异,稍微的有一些不同。因为不同的厂商出品的浏览器,是有一些细微的不同。之所以能显示的大同小异,是因为,这些厂商都要遵守一个协议,这些标准就是HTML和CSS,这些标准由一个公益组织来管理,这个公益组织的名字叫W3C,中文名叫万维网联盟来维护。我们上网的过程,就是把HTML和CSS的内容从网站上下载下来,然后将这些内容解析以后,显示在屏幕上。这个过程,需要用到的核心技术就是我上面所提到的两个引擎,webkit和Gecko的工作。负责显示请求的内容,把网站上下载下来的HTML和CSS,解析以后,展现出来。我对这个过程非常的好奇,好多年前,我就对浏览器是如何工作的非常的好奇,然后就研究了一下,自以为可以把自己给糊弄过去了,因此,我就说一下那两个引擎的工作原理。 主要的流程是这样的,显示引擎会从网络层请求需要显示的文档,然后引擎开始工作。因为所有的网页都是HTML和CSS文档,引擎开始解析这个HTML文档,将整个文档解析成两棵树,一棵树叫内容树,这棵树上的节点是HTML的标记。还有一棵树叫呈现树,这棵树势解析样式元素,呈现树是节点的样式,比如字体的大小,颜色等等。呈现树主要是带有视觉属性比如颜色啊,尺寸啊,背景等等的一些矩形,这些矩形呢,就按照一定的顺序显示在屏幕上。当这个视觉效果显示出来以后,也就是一些矩形。再进入下一个阶段,就是将内容树的节点,计算一个坐标,每个节点都有一个独一无二的位置。有了这两个信息,再然后就是根据这两个信息,把内容绘制到屏幕上,引擎会遍历整棵树,然后将树上的每个节点,都画在屏幕上。 web browser architecture 为了能有更好的用户体验,引擎肯定是将内容以最快的速度画到屏幕上,而不是等所有的内容都下载完毕,才开始绘图,那样是非常影响用户体验的。所以,我们经常会碰到这种情况,某个地方的图片还没有显示出来,只显示一个空白,文字比图片更快的显示出来。这是一种特征,不是bug。引擎不是等所有的HTML文档都解析完毕以后,才开始绘制,如果那样,碰到一个网速很慢的,网页很大的,黄花菜都凉了,那样会非常的影响用户体验。正确的展示流程是,有多少显示多少,只要有内容过来,就赶紧的先给用户看一点,不必等所有内容都下载完成。 那是不是webkit和Gecko是一样的呢?当然不是一样的,如果是一样的,那何必还要两个引擎呢?但是这两个引擎所采用的方法肯定不会有质的差别,如果有质的差别,两个都是开源的项目,那开发人员早就抄袭了,显然,这两个引擎所采用的方法大同小异。接下来呢,我要具体的描述这两个引擎所采用的方法。 在讲技术之前,先得讲一个网页的技术,叫DOM,这个做前端的程序员肯定都是知道的,Web就是基于DOM的,比如说现在前端用的最多的一个javascript库叫jQuery,这个库本质上就是一个操作DOM的工具,这个库现在是越来越大,1.8的时候,原始大小200多K,优化以后也得100来k,其实这样挺大的,尤其是考虑到大部分人用jQuery就是实现了1-2个效果,结果让自己的网页增加了100多K,想想我这个不是前端的程序员,就很不爽,当然也有解决方案,比如zepto.js就是解决这个问题的,只增加了20多k。那唠叨了这么多,到底什么是DOM呢?这是一个英文的缩写,全称是Document Object Model。我们可以把DOM看作是节点,每个节点就是一个HTML的标签,那如何解析成树呢? 这就是一个编译原理的问题了。还记得前面我讲苹果开源的那个LLVM么?那就是编译器,因为我试图把这个问题讲清楚,起码能加深我自己的印象,这次的时间又到了,下次,我要讲如何把HTML文档解析成一棵树,期间会用到编译器的知识,就是解析器和词法分析器。好了,下次再见。如果你喜欢我讲的这种钻牛角尖的内容,欢迎关注我的微信公众号——软件那些事儿——我这个公众号不扰民,每周推送一次,每次的观看量大概是300次左右。

25分钟
99+
8年前

79.索尼偷袭任天堂的“珍珠港”

软件那些事儿

索尼偷袭任天堂的“珍珠港” Original 2016-12-15 刘延栋 软件那些事儿 好的开始,是成功的一半,playstation的崛起之路,第一仗就打的特别漂亮! 索尼偷袭任天堂的“珍珠港” sony在游戏界算是新兴的势力,对当时的游戏机战场来说,根本就是无足轻重,如果想要打赢这场战争,必须得出奇制胜,一个啥都不算的厂商,挑战当时的几个巨头,打常规战是不行的,所以,sony打的战争,非常的具有日本色彩。 为什么我说具有日本色彩呢?因为如果我们看历史的话,就会发现,日本人打仗,经常以小搏大,出奇制胜,或者出奇制败。比如日本在1904年打的日俄战争,交战双方分别为日本和俄国,战场是在中国的土地上,旅顺口,日本一贯的策略就是先偷袭,再宣战。在1904年2月8日首先偷袭俄国,然后两天以后再宣战。最后日本打赢了。还有和中国打的甲午战争,也是日本主动挑衅,打的是清军的措手不及,清军当时一个运兵船,因为是运兵,没有侧方的炮,只有前方的主炮,因此,被日本装备精良的巡洋舰给干了。当然了,清政府确实不怎么样,一贯的天朝风格。但是也能看出日本打仗经常这样,不宣而战。后来日本又偷袭珍珠港,珍珠港也是偷袭成功,但是,美国毕竟不是俄国,更不是清政府,日本的好运就到头了。惹怒了美国,然后原子弹买一送一,把二战给输了。 通过这几场战役,我们也可以看出日本的尿性,打仗的时候,以突然袭击为主,打你个措手不及,都是先打了再说,先打一张,过两天再宣战,打仗不讲究,没有正人君子的作风。说起日本来,我们再扯远一点,看看中国打仗是什么特点。然后联系一下中国的公司,其实挺有相关性的。我们都知道,不管第一次世界大站还是第二次世界大站,中国都是战胜国,就这么厉害,当然,这个厉害是表面上的,我们仔细来看看,就会发现,不管这个仗怎么打,中国都是战胜国。一战就不说了,中国的存在感不强,虽说是战胜国,但是是战败国的待遇,我只说一下二战。 当然,这只是我的一家之言,大家随便听听。我来举一个最极端的例子,英国,法国,美国输了,赢得战争的是德国,意大利和日本。这时候,中国是战胜国还是战败国呢?当然是战胜国了!大家会惊讶,我操,为啥会这样呢?因为中国国内同时有亲日的政权,亲美的政权以及亲俄的政权,分别是谁,我就不说了,大家一猜也就猜到了。因此,即使日本获胜了,美国和俄罗斯都失败了,中国也不会在战败国里。中国就是这么神奇,从一个胜利走向另一个胜利。大家可能觉得,我操,你这是瞎扯吧。其实真的不是!因为当时中国国力太弱,自己本身是扶不起的阿斗,一定是要依靠外国才能打仗,所以,亲俄,亲日,亲美的政权是一个必然的选择,无论谁取得最后的胜利,因为中国已经到处押宝,总共三家,你总有一家是最后的赢家,所以,中国不会是战败国,因为和胜利者都是哥们。再详细的我就不说了,这也符合我天朝公司的策略,多方押宝。所以,如果我们看天朝公司的话,大部分公司的策略就是,到处山寨,把山寨的拿来当创新,今天的手机山寨三星,然后明天山寨苹果,而且理直气壮,反正不会把宝压在一个地方。 这是一个很好的策略,尤其是自己还不太行的时候,比如操作系统没有,硬件也搞不定,只能从设计上找感觉。这和二战时候的策略如出一辙,比如在华北建立非武装区,在哪里建立一个特区叫日满华经济合作区,还有反蒋抗日的运动,大家可以猜猜这个反蒋抗日是谁提出的口号,我觉得大家都会猜错,如果没看过历史的话,其实这是日本出资资助西南派主导的反蒋的运动,然后口号竟然是抗日。真的是很讽刺。所以呢,还是要强大,才能不依附别人,否则,如果没有操作系统,没有CPU这些硬件,玩花样玩的没啥底气,只能玩情怀。 日本是另一种策略,这里我们来讲sony,sony制造Playstation是一种不成功则成仁的气魄来打造产品,就跟神风特攻队一样,不怕死。sony的playstation也有这种不怕死的特征,开着飞机,用飞行员导航,然后撞向美国的航母,小日本这一点挺变态的。我是不赞同这种武士道精神,太变态了。sony公司发动的游戏机战争,处处都有这种神风特攻队的影子。我来说一下这些主要的事件。 在1993年5月12日,sony举行了一场发布会,直接让任天堂崩溃了,本来任天堂和sony还有可以调和的余地,虽说当时两家公司矛盾不断,但是要知道,5月11日的时候,他们任天堂美国总部的荒川实还和久多良木健见过面,然后两个人的谈话肯定是不融洽的。但是,如果按照中国公司的风格,我觉得即使撕破脸,也得撕逼撕好久,就像各大手机厂商,即使撕逼的时候,都会说友商。结果sony直接不按照套路出牌,结果,sony第二天就由高层举行发布会,规格非常的高,由福永宪一主持,直接宣布的单方面分手,发布会上是这么说的:我们和任天堂有不可调和的矛盾,在市场定位上有巨大的分歧,这是我们和任天堂分道扬镳的主要原因。然后,任天堂也比较懵,也没回应。但是,我们也可以看出,sony就这么耿直,直接直来直往,原本好好的合作关系,一下子就断了,说分手就分手,一点都不墨迹。 这个发布会以后,任天堂私下里也是JJWW,当时的社长山内溥说,要是sony能卖出100台游戏机,我头朝下走路。同样当时的大佬世嘉评论说,一个做家电的公司,别说100台,一台都卖不出去。 当时的情况确实是这样。刚开始的几个月,上一期我说的几个人,包括丸山茂雄,德中晖久这一些人也是束手无策,当然,久多良木健也是束手无策。幸好,他们有分工,分工明确,久多良木健搞技术,其它的人搞外交。久多良木健开始拜访3D专家,几乎每个做3D芯片以及3D软件的人,他都逐一上门拜访。其它的人,则发扬了sony音乐初期天天去夜店发掘音乐新人的作风,这个我上一期讲过。这次,他们开始逐一拜访每个游戏工作室。前几个月,公司得到了一个重要的信息,包括SQUARE社长水野哲夫在内的各大厂商,都透露给sony说,我们不是不给你们做游戏,我们也想做,但是,你们得卖出300万台游戏主机,我们才能保证开发不亏本。如果你们卖不出300万台,真的是爱莫能助啊!还有日本的国民游戏《勇者斗恶龙》的社长福岛康博也是给出的相同的数字,不到300万,做了只会赔钱。300万台是什么概念呢?当时游戏界的老大任天堂,不到1000万台,可能是900万台左右,这是一个非常巨大的挑战。 久多良木健他们忙活了几个月以后,久多良木健写道:卖出300万台是我们努力的第一个目标!我个人感觉,300万真的是一个想当困难的目标,尤其是考虑到playstation的售价大概是700美元,而且日本人比我们少那么多。现在我们市场上单款手机产品卖到300万台的厂商也没有几个吧,而且手机价格比700美元便宜的多。所以,这真是个困难的目标。我们来看看sony是怎么做到的吧。 1993年8月,sony召开了一次开发者大会,来吹嘘未来playstation有多么美好,硬件性能是多么的强悍,凭这个机器打任天堂的脸,一点问题都没有!然后,寥寥无几的观众席上竟然传出了打呼噜的声音。牛逼吹的再大,更何况这是开发者大会,又不是粉丝大会,那些开发者也是见过市面的人,你拿一个PPT来忽悠大家,人家坐在座位上打呼噜睡觉,没有拍拍屁股走人,已经算是很给面子了。这次开发者大会,让久多良木健很受伤!好多传记,都说了这个事情,久多同学对打呼噜的那些开发者,简直伤透了心,但是,他没有骂那些开发者有眼无珠,而是进行了反思。因为吹牛又不是只有sony会吹,以前世嘉啊,MD啊,PCE啊,都开过类似的发布会,上来就跑个分,准备把任天堂弄死。结果,全都被任天堂按在地下摩擦摩擦摩擦。开发者需要的是眼见为实,你有本事就卖300万台给大家瞧瞧,别光吹牛。 久多良木健进行了反思以后,隔了2个多月,也就是1993年的10月26日,又举行了一场开发者大会。这次开发者大会,开发者都不想去了,天天听你久多吹牛,两个月前才听了一次,你这是吹牛吹上瘾了啊?但是,久多还是拉下脸,发邀请函,打电话,各种手段都用了,终于搞起来了300多个王牌制作人,欠人家一屁股的人情债。这次,他吸取了经验,发布会光说也没啥用处,还是展示技术吧。他在讲台的中间,放了一个电视机,用一块白布盖住,当他走上讲台的时候,连招呼都没打,直接走到白布前面,拉下那块白布,电视上显示了一个3D的恐龙头,纹理和贴图的品质,让人叹为观止,这个恐龙头在电视上旋转着,不时的张开大嘴,露出恐怖的牙齿,以及发出震耳欲聋的声音。着一幕,把下面的制作人直接给震撼了。从来没见过这么逼真的3D效果。当时,坐在台下的NAMCO的王牌制作人石井秀一面色凝重的看着那台电视上的恐龙,一言不发,面色凝重,巨大的咆哮都没让他露出任何表情的变化。 再转一个小弯,说一下这个NAMCO公司,这家公司曾经是日本最大的游戏厂商,连任天堂也是他的小弟。但是后来,任天堂这个曾经的小弟咸鱼翻身以后,第一个开刀的就是曾经的大哥,NAMCO和任天堂对簿公堂,赢了官司,输了地位。曾经的大哥也是大哥,他自然不甘心任天堂这个小弟到处和他为难,虽然NAMCO已经风光不再,但是,崛起,甚至是复仇的心一直都在。展示会结束以后,久多良木健又单独邀请NAMCO的石井秀一举行了一个单独的发布会,给石井秀一展示了一个更加精密的3D原型。随后,石井秀一取消了NAMCO单独研发游戏机的计划,决定全面辅佐playstation,就这样,sony拥有了第一个合作伙伴,一个没落的大哥NAMCO。 随后,久多良木健开始试图攻克另一家在日本举足轻重的厂商,KONAMI公司,结果这次并不顺利。KONAMI公司的北上三一是出了名的牛脾气,把久多良木健批判了一番,差点就搞了个大新闻。碰了一鼻子灰。然后久多继续说服街头霸王的总裁冈本吉起,结果,冈本老兄根本不理解做3D有啥意思,难道只是为了搞个大新闻,把我们2D厂商批判一番,再说了,我们街头霸王哪个国家没去过,是格斗游戏的老大,暂时还不想搞3D游戏,我街头霸王目前的打算是闷声大发财。挺好,这两家厂商没说服,碰了一鼻子灰。 这时候,如果是电影的话,就应该出现英雄救美,或者屌丝逆袭的桥段了,或者牛人相助。可谓是艺术来源于生活。真的有人出来神助攻sony了,这个神助攻的人,不是别人,正是sony要打倒的一个厂商,不是任天堂,而是世嘉。世嘉是当时世界上最大的街机游戏厂商,它发布了自己的一个爆款游戏《VR战士》,是一款3D游戏。当时世嘉的影响力比sony的影响力大的多,这款3D格斗游戏,让各大游戏厂商大惊失色。更牛的是,世嘉当时的策略是,只有我家有3D技术,不和大家分享,只让你们看看,想知道怎么做的,那是不行的,你们过过眼瘾就好。这个时候,大家才想起来,好像sony前几天给我们展示过啊,不过,当时我们把他赶跑了,这下搞笑了... 曾经有一台3D游戏机摆在我的面前,我没有珍惜,等我失去的时候我才后悔莫及,人世间最痛苦的事情莫过于此。如果上天能够给我一个再来一次的机会,我会对sony说三个字,我爱你。秘书,赶紧给我联系久多良木健,我要亲自上门拜访。 就这样,曾经对久多良木健爱理不理的厂商,这下子接二连三的自动上门来谈合作,让久多良木健也是心里了开了花。毕竟,自己苦心研发的3D硬件和软件,这下子能卖出去了。这都得感谢竞争对手世嘉公司啊!在技术上就把销路打开了。 其实只是技术好,playstation并不一定能取得好的成绩,还得卖货,卖游戏的销路畅通。否则你酒香不怕巷子深是不对的,大家买不到货,再好的产品也是白扯。任天堂的卖货渠道实际上是已经几十年的卖扑克牌渠道,就是著名的初心会。这个已经落后与时代了。由于任天堂制造的是卡带游戏,sony制造的是光盘游戏,光盘便宜,容易制造。sony公司又有唱片销售的渠道,因此sony就把卖唱片的经验,用在了卖游戏上,他们鼓励少进货,多批次进货,因为光盘太容易制造了,占用的体积也小,制造的成本也低,因此整个销售过程中,库存量几乎都是0,卖光了再制造,也不耽误时间。反而任天堂那种只能批量制造,至于卖多少,完全看估算的方法,没有太多的灵活性,这样也赢得了不少厂商,以及不少游戏销售商店的欢迎。比如任天堂每一个游戏卡带都要收取1500日元的制造费用,sony只收900。任天堂每次制作一批卡带,最少要制造15000份,sony说5000份也制造,反正光盘,随意,后来光盘刻录没那么昂贵以后,你制造一份也可以。没人理你制作几份游戏光盘。这样,也极大的满足了一下小厂的需求。因为按照以前任天堂的规模,小厂根本付不出钱。后来sony放开了销售渠道,就是谁的游戏谁卖,卖多少就赚多少, 即使这样,很多厂商也还是委托sony销售,因为sony销售的数量,比自己开店铺卖货,要便宜很多。这样,从渠道上,sony不能说是完胜任天堂的初心会吧,但是,半斤八两肯定是没问题的。 当万事俱备,只欠上市的时候,已经设计了好多个模型的playstation终于揭开了神秘的面纱,在1994年12月3日。playstation终于正式登场。sony公司的人是非常紧张的,包括大贺典雄在内的高层,都偷偷出去看看主机的销售情况,结果sony专卖店为了应付涌来的巨量人群,不得不把店铺搬到了外面。很快,10万台主机一下子就卖光了。主机卖光以后,人们就开始抢购游戏光盘,结果出现了这种情况,只有10万台主机,结果山脊赛车的游戏光盘,卖了20万份,游戏玩家就是这么疯狂,他们害怕到时候买到了主机,反而不能玩游戏。 sony就这样,初战告捷,就和日本发动的好多次战争一样,一开始,就打对手一个措手不及,只是,初战告捷并不一定会取得胜利,比如日俄战争,甲午战争,初战告捷以后,最终赢得了战争。但是偷袭珍珠港以后,日本最终输掉了战争,而且输的还很惨。那任天堂是清政府呢,还是美国呢,任天堂又是如何面对sony这次突然袭击的呢?下一次再继续讲sony和任天堂的市场争夺战。

27分钟
59
8年前

77.人类历史上第一个程序员(下)

软件那些事儿

这次继续讲Ada的故事,人类历史上第一个程序员。一个伟大的女性。上次讲到Ada的老爸拜伦参加了希腊革命,也就是希腊的独立战争,为了希腊的独立革命,献出了自己宝贵的生命。可能有同学会问了,拜伦一个英国人,怎么就去希腊打独立战争了呢? 这个说来话长,因为我这个节目我一个人做的,每次都是从工地上搬砖回来以后,抽空做的,可能有些地方不严谨,和那种有团队的音频节目是不同的,可能人家追求的是客观公正加公平,我也想追求这个,但是,能力所限,又加上这是我个人的观点,我又不是伟大光荣正确的一些人,所以,我来对Ada他爸爸拜伦参加希腊的独立战争做一些我自己的解读,或者说是创造性的误解,分享给大家。可能是错的,但是,这是我的真实想法。 在这个世界上,有这样一群人,对希腊有非常非常虔诚的崇拜。Ada的老爸拜伦就是这样,比如说国内很火的易中天老师,对古希腊也是非常的崇拜,他写过一本书,叫《费城风云》,在书中,他认为古希腊的思想,跨越2000多年,嫁接到了美国的身上,所以,古希腊的民主,在美国得以重生。不管怎么说了,Ada的老爸,拜伦也是这么想得,他心目中的希腊,显然是至高无上的。可能听众会说,你说Ada就说Ada,你总是说她老爸干啥。原因是这样的,Ada的年代,妇女还不能顶半边天,尤其是不像今天的中国,妇女何止顶半边天,简直就是天外有天。所以,Ada这个伟大的女性,很多的事迹已经消失在历史的长河之中,但是,我觉得女儿随爸爸么,我们总是可以看看她爸爸是什么样子,然后创造性的误解一下,勾勒出Ada也许有她爸爸那种理想主义的气质,有其父必有其女。 拜伦参加的是希腊独立战争,之所以叫独立战争,那显然希腊没有独立,那希腊多久没有独立了呢?答案是,自从雅典城邦以后,一直到拜伦参加独立战争的这些年,希腊一直都没有独立。本质上来说,知识分子心目中的那个希腊,和现在这个希腊,是没有什么关系的。如果说非要有关系,那关系只是名字一样,类似与雷锋和雷峰塔的关系。为什么这么说呢,在2800年以前,古希腊,我说这个古希腊,另外,我还说了2800年以前,这看起来言之凿凿的,非常确信的意思,其实,这是胡扯,即使说上了年份,也是胡扯,为什么这么说呢?因为古希腊到底从哪一年开始的,现在没有定论,我说的这个2800年以前,只是一小撮不明真相的历史学家说的,我并不认可,但是,这无所谓,如果要说出每一种说法,古希腊是从哪一年开始的,这个音频就没法做了,太长,能说10期。我姑且就认为是2800年前,一场奥林匹克运动会开始,希腊作为一个城邦走进了人类的历史教科书,是教科书,并不是走入了人类的历史,因为真实的历史,已经基本上无法考证了。 希腊当时有众多的城邦,政治体制绝非现在我们认为的民主体制,而是很多城邦有不同的体制,有民主制,贵族制,独裁制,到底有有没有共产主义或者社会主义,这个看需要,如果需要他们有的时候,我们可以创作历史,但是,目前来看,还是没有的,没有确凿的证据表明,希腊的某个城邦,曾经走在社会主义初级阶段。这么多政治体制,哪个好呢?我们姑且认为民主制度最好。民主制度最好,是不是意味着希腊国富民强,所向披靡呢?我们希望他是这样。但是,历史不这么认为,自由民主的希腊,被血腥野蛮的斯巴达给揍服了,人类历史上总是反复上演野蛮人战胜文明人的故事,这个大家心里有个数,并不是电影上或者教科书上说的正义总是战胜邪恶,这都是扯淡的。从古希腊被斯巴达按在地上摩擦以后,从那时候起,古希腊就开始了长达2000多年寄人篱下,或者也不能说是寄人篱下的生活,总而言之,神圣的古希腊在历史的长河里,越来越神圣,越来越美好,就和女神一样,没有瑕疵,没有缺点。但是,现实中的希腊,是另一番情景。 先是斯巴达把希腊按在地上摩擦,随后来了一个更强大的壮汉,名字叫马其顿,腓力牛排二世以及他的儿子亚历山大大帝,把帝国扩张到横跨欧洲,非洲以及亚洲。当然了,此时的希腊是帝国的一个子集,小不点一样的地区,臣服于马其顿。结果,那时候疟疾和现在的疟疾一样,几千年来,童叟无欺,不欺软怕硬,想弄死谁就弄死谁,这次弄死的是亚历山大大帝,即使亚历山大大帝建立了如此庞大的帝国,在疟疾的面前,只能赤条条的来,赤条条的去。亚历山大大帝死了以后,帝国咔嚓就被分成了三个国家,亚洲的部分叫塞流古,非洲的部分叫托勒密,这两个地方不说了,和本文主角的老爸关系太远了。只说一个部分,第三个部分,把希腊包括进来的马其顿。此时的希腊没法独立。 然后又加上罗马帝国,后来罗马帝国分裂成东罗马,西罗马,外加历史学家胡诌出来的一个可能根本不曾存在过的拜占庭帝国,反正,希腊在现实中的确乏善可陈,只有挨揍的份,没有揍人的能力。然后,又崛起了匈奴,又崛起了奥斯曼土耳其帝国,希腊就在别人的铁蹄下苟延残喘或者说安安静静的安静了2000多年。在这2000多年中,人类心目中的那个希腊却随着历史的长河,越来越纯洁,越来越美丽。简直就是人类梦寐以求的完美女神。直到后来奥斯曼土耳其又要开始衰败了,这个时候,战斗的民族俄罗斯开始和土耳其干上了,当然了,沙皇俄国和土耳其之间的战争,已经打的数也数不清了,在地球毁灭之前,俄罗斯和土耳其将会继续打下去,绝对没有一点好转的迹象,去年还是前年,土耳其干掉了俄罗斯一架飞机,这个仇,俄罗斯一定会找机会干回来的。 Ada的老爸,参加的那次希腊独立战争,只靠希腊打土耳其帝国,那绝对是以卵击石,绝无胜算,但是,有三个国家帮希腊去打,俄国,法国,以及拜伦参战的英国,最后在1827年,纳瓦里诺海战中,彻底击败了土耳其,希腊得以独立。但是1827年的时候,拜伦已经战死了,听说,希腊有一个拜伦的雕像。那独立以后的希腊是什么样子呢?就是欧洲一个不起眼的国家了,现在的希腊,欠了欧洲很多国家的钱,也瞧不起现在的俄罗斯,觉得俄罗斯太low,其实,如果不是俄罗斯参战,希腊不见得能独立,然后,希腊的民主再次发挥了作用,他们全民公投,决定不还钱了,我希腊凭本事借来的钱,凭什么要还?不知道,拜伦的在天之灵,得知这个消息,会做何感想? 拉回到故事的主线上,Ada的理想主义,和他父亲的理想主义,从很多方面来看,都是一模一样的。Ada知道自己的家庭地位,作为“拜伦的女儿”,她有和她老爸一样的雄心壮志。他老爸特立独行,她同样也是特立独行,作为一个上流社会的贵夫人,除了必须参加的社交活动,她短暂的一生,都是在研究数学,研究逻辑,记录了大量的笔记,和各大数学家讨论深入的数学知识。法拉第也是Ada的联系人之一,如果当时有微信的话,Ada当时的联系人简直就是同时代所有的科学家,法拉第对Ada的评价是,毫无疑问,这是一颗冉冉升起的新星。还有我们今天玩的万花筒的发明者,也是一个数学家,名字叫大卫•布鲁斯特,做分析机方面的工作,也是Ada的好朋友之一,他们也是经常讨论数学问题。因为当时女性并不适合参与这种讨论,她并没有用自己的真名,而是取了一个花名,花名叫AAL。Ada发表的论文,就是以这个花名来发表的。 拜伦对Ada的影响极大,正因为如此,Ada从小不被允许写诗歌,Ada的妈妈非常的讨厌Ada创作诗歌,可能是她妈妈感觉到了Ada越来越像那个始乱终弃的丈夫。Ada后来去参观她父亲的一个庄园,她的妈妈得知以后,勃然大怒,和Ada大吵了一架。Ada的身体后来得了一种疾病,今天有人推测是宫颈癌,然后她的健康就开始恶化,为了止疼,她先是服用鸦片,后来鸦片不管用以后,开始 服用大麻,但是,还是在她36岁的时候去世了,她去世的年龄和她的父亲一样,都是36岁,一个非常非常年轻的生命,就这样离开了人世。她生病的最后阶段,给她护理的护士的名字叫南丁格尔,是现在护理界的先驱,南丁格尔也是她的朋友,对Ada的评价也非常的高。 Ada死后,她的遗嘱执行人是巴贝奇,Ada埋葬在她拜伦家族的蓦地里,对此,Ada的母亲也是非常的失望,Ada就这样,和她父亲一样的年龄,陪伴在她父亲的身旁,墓碑上刻着Ada仅存的几首诗之一,因为Ada不被她母亲允许创作诗歌,但是她还是创作了几首,那首诗的名字叫彩虹,一首十四行诗,我本打算翻译一下,但是觉得我这文采,纯粹就是侮辱人家,如果有兴趣的,可以到网上去搜搜,或者关注我的微信公众号:软件那些事儿,我把这首诗的英文打在这里了: Bow down in hope, in thanks, all ye who mourn;- where'in that peerless arche of radiant hues surpassing early tints,-the storm subdues! Of nature's strife and tears 'tis heaven-born, To soothe the sad, the sinning and the forlorn;- A lovely loving token; to infuse; The hope, the faith, that pow'r divine endures With latent good, the woes by which we're torn. 'Tis like a sweet repentance of the skies; To beckon all those by sense of sin opprest, And prove what loveliness may spring from sighs! A pledge:-that deep implanted in the breast A hidden light may burn that never dies, But bursts thro' clouds in purest hues exprest! 总共十四行,如果有牛人的话,可以试着翻译一下,我是搞不定了。 Ada临死之前的一个愿望是,能够把她写给朋友的信都收回来,然后一期销毁掉,只有巴贝奇没有同意,其它的很多朋友,把Ada的信都交给了Ada的小儿子,这个小儿子整理了一下,都烧毁了,所以,并没有她很多的东西留下来,但是,巴贝奇的信幸好存了下来,有人说看过Ada写的诗,非常的好,有她爸爸的风范。但是,我们已经无法再去查看了,现在只剩下一些零散的信件,比如在纽约的博物馆里存着一些Ada的信,从这些只言片语中,我们仍然能看到一个伟大的女性,一个伟大的数学家,或者,一个伟大的诗人,曾经活在这个世界上,虽然在她36岁的年龄就去了天堂,但是,她精彩的一生,值得我们铭记。 那为什么说她是第一个程序员呢?在她死后很久的一段时间,没有人想起她,她就这样人遗忘了。在1940年代的时候,一个叫图灵的人,读了AAL发表的那个笔记,但是图灵并不知道这个AAL是Ada的花名,他认为这是一个叫洛夫莱斯的人发表的。随后,英国科教部的部长,一个核物理学家,机缘巧合认识了Ada的外孙女,才知道AAL原来竟然是Ada,再后来,人们才开始深入的研究Ada的笔记,发现她的研究成果已经可以计算六次多项式,而且,在她的笔记里,已经解释了如何使用纸带来控制分析机,以及Ada独立解决了循环以及嵌套的定义,并且,她将纸带分为数据纸带和操作纸带,类似于现在的数据和操作系统,并且,Ada也在笔记中论述了如何用循环的方法节省纸带。并且,Ada给出了一个例子,计算伯努利级数,使用Ada的方法,可以对伯努利进行级数展开,进行操作计算。这一切,都是使用的Ada的方法。 前两年,人类打破了伯努利数的世界记录,使用的方法仍然是200岁的Ada的算法。 回到本文最开始的地方,也许理想的古希腊并不存在,但是拜伦依然献出了自己的生命,也许自由的古希腊并不存在,但是海明威依然坚信并为此参加战斗,也许民主的古希腊并不存在,但是易中天依然写了一本书《费城风云》,认为古希腊的精神嫁接到美国之上。这就是人类的一个理想吧,美国并不是古希腊,但是它离古希腊更近,朝鲜并不是地狱,但是他离地狱更近。司马迁《史记》的第一篇,描绘了一个没有权力纷争,以礼让治天下三皇五帝时代,如果从科学的角度去考证,里面是站不住脚的,所以,很多人说,那都是骗人的。在陕西省黄陵县,有一个陵墓,号称天下第一陵,相传里面埋藏着黄帝,每年的清明和重阳,都有人在那里祭祀,那是所有中国人的文化之根,从汉武帝开始,到唐太宗,宋仁宗,明太祖,康熙,雍正,一直到孙中山,蒋介石,毛泽东,都有去过那里,那里还有一个蒋中正题词的碑。当然,我也去过那里,和我上面提到的人去过相同的地方。 我去的时候,我就在想,那个大土疙瘩里真的埋葬的是黄帝么,我刚到那里的时候,我还在犹豫要不要进去,因为要交门票,我一直比较穷,那时候我还是大一,更穷。但是,我想,都走了这么远来陕西了,就去一下吧。其实进去没什么好看的,当时还有点儿失望。但是后来我想明白了一件事情,里面有没有埋葬黄帝这个人一点都不重要,甚至三皇五帝是否真的存在也不重要,这是一个民族的共同想象,整个华夏民族,都认同是从那里起源的,这就够了。虽说从三皇五帝以后,华夏的子孙,大部分时候都分裂,互相之间打成一锅粥,分裂的时候多,团聚的时候少,但是,黄帝总是在那里啊。 古希腊也是这样吧,是真是假并不是那么重要,虽说希腊这个地区,大部分时间都很没有存在感,但是,不影响古希腊是西方文明的发源地。很多人为此去奋斗。就像是中国的黄帝陵,管你最后谁上台,都要去黄帝陵那里找找存在感,所以,黄帝陵的规模远远不如秦始皇陵墓,秦始皇陵墓也在陕西,现在我们去看到的那个兵马俑坑,是一个陪葬坑,以现在的技术,还不能挖掘秦始皇的地宫,只挖了几个陪葬坑。现在已经不挖了。即使秦始皇陵墓再巨大,地位也不会超过黄帝陵,虽然黄帝陵其实就是个大土疙瘩。黄帝陵是所有文物的第一号。 好了,下期再见。

26分钟
57
8年前

76.人类历史上第一个程序员

软件那些事儿

200多年前的10月12日,出生了可能是有史以来的第一位程序员,她是一位女性,她的名字叫Ada,为了纪念她,美国军方曾经把一门基于pascal的语言扩展而成的编程语言,命名为Ada,她的全名叫艾达•洛夫莱斯。 比Ada更出名的是她的爸爸,她的爸爸是大名鼎鼎的拜伦,浪漫主义文学泰斗,世袭男爵。拜伦这个人呢,确实是浪漫主义诗人,他的丑闻以及奇闻轶事,我觉得可以做100期节目,但是这个音频节目我只想做计算机相关的,只能简要的说一下这个拜伦同学传奇的一生。和大部分名垂青史的人一样,这个拜伦不是什么善男信女,其实,大部分的善男信女,是不可能在历史上留下什么名声的。 拜伦同学的一生可以用放荡不羁来形容,他的放荡不羁是真正的放荡不羁,不是那种外表上是好老公,好丈夫,好父亲,然后背地里偷偷摸摸的搞,然后被狗仔队偷拍,然后还要老婆发微博原谅,又是有担当知错能改,又是且行且珍惜。人家拜伦老师不这样,他是表里如一的放荡不羁,并且充满才华。我简单的介绍一下拜伦,我觉得比介绍他女儿更有意思一些,虽然拜伦不是程序员,但是,他比程序员可厉害多了。 拜伦出生在贵族家庭,可惜呢,是一个已经没落的贵族,然后他老爹等他一出生,就不知所踪了,只管生,不管养,这一点和乔布斯有点类似,都是一出生就没了爹,而且爹还没死。比乔布斯强一点的是,拜伦的老妈没有把他丢给别人养,而是自己节衣缩食的带着他,因为世袭么,他从一个伯父那里继承了男爵的爵位,就到他的封地那里生活了。还有一点需要澄清,他是贵族,所谓贵族的贫困,和我们老百姓的贫困,差距还是挺大的,即使他很贫困的时候,人家家里也是有不少封地的。和我这种960万平方公里中,连一块立锥之地都没有的人相比,好到不知道多少倍。拜伦同学出生的时候,还有残疾,脚丫子长歪了,走路的方式类似于铁拐李吧,一走一瘸。不过,这不影响拜伦老师的才华,用一个成语来说,就是才华横溢。反正我不知道该如何评价他的才华,就像我无法评价牛顿的物理好不好一样。 然后,拜伦一直愤世嫉俗,和普通人表现的格格不入,他念着念着就去剑桥大学念书了,牛顿也是剑桥大学的,这样说起来,人家和牛顿还是校友,只是时间上差了不少年。当时能去剑桥大学的,也都不是一般人,那时候贵族么,流行养个宠物,有钱的养个马,有爱心的养个狗,一边上学一边养宠物。拜伦当然要特立独行,他也养宠物,只是他的宠物是一只熊,好几百斤的一头熊,人家周末出去骑马,或者遛狗,结果他出去遛熊,其它的宠物看到熊,狗也给吓傻了,马也吓惊了,当然,人家拜伦无所谓,牵着熊在剑桥大学遛弯。他的宠物都很特别,后来在1816年他去意大利,投入烧炭党人的运动,并且搞着搞着,自己搞成了一个领袖,然后他还一边写诗,一边写小说,然后,继续养宠物。这次宠物不是熊了,可能那玩意玩够了,这次换成了5只孔雀,而且是公的孔雀,每天都是一边干,一边创作诗歌和小说,一边看自己的孔雀开屏。 可惜的是,他小说和诗歌创作了很多,结果,干革命的事情给搞砸了,烧炭党人的革命被政府残酷的镇压了。但是,这不影响他爱上了革命,发现革命这玩意刺激,然后他转头就去希腊继续搞革命了,当时正好是希腊的独立战争时期,我前面也说了,他天生有残疾,脚丫子有问题,刚开始他在希腊做后勤工作,就是筹备物资,购买武器等等。但是在革命时期,做后勤不太刺激,然后他就觉得还是上前线比较好。首先,他是个诗人,其次,他是个残疾,再次,他在上前线之前,一点军事训练都没有接受,给他一杆枪,他都不会放弹药。但是,伟大的浪漫主义诗人么,就这样上战场了,除了勇气,一无所有!这让我想起了现在有些热衷于探险的同志,连指南针都不会看,买了一双胶鞋就敢往沙漠里跑,结果最后只能等救援。他当年也是这样,一个身残志坚的,连枪都不会开的诗人,就上前线要去拼命,结果就是,他死了。希腊挺感动,给他举行了国葬。 然后他的遗体,做了防腐的处理,不知道那时候的防腐和现在的防腐技术是不是一样,现在不少xx主义国家的领袖,防腐已经非常厉害了,死了以后能永垂不朽,保存几万年没问题,等以后科技发达了,从水晶棺里拉出来,打一针就能复活。他的遗体被运会了国内,也就是英国,大家觉得应该把他下葬在西敏寺,西敏寺是英国国王以及牛顿这些人下葬的地方,然后西敏寺说,拜伦不行,他道德太败坏了,不能和这些圣人葬在一起。后来他的遗体确实没有下葬在西敏寺,而是另外一个地方,我忘记了,有兴趣的可以找一本写拜伦的书来看看。我们再来谈谈为啥西敏寺觉得拜伦“道德败坏”呢? 和大部分诗人,文学家一样,拜伦老师的感情生活特别丰富,不挑不拣,来者不拒,而且,还男女通吃,可谓是进可欺身压萝莉,退能提臀迎众基。他和男同学的故事,我就不继续八卦了,要不讲100期也讲不玩。只说本文主角的母亲,都是女同学。本文主角Ada的母亲,也就是拜伦的妻子,名字太长了,简单来说,叫安妮吧,也就是公爵夫人。她和拜伦结婚后生了Ada,然后拜伦给这个女儿起了一个名字,叫Ada以后,就消失了,当时本文的主角Ada才2个月大,从此以后,她再也没见见过拜伦。传闻说,拜伦还挺在乎这个小孩的,专门搞了个画像,放桌上。我觉得传闻的可能性应该不大,尤其是拜伦这种才子,私生子私生女多的数也数不清,怎么有心思想她的小女儿呢。前面说他消失了,有点不太合乎逻辑,实际上,拜伦没有消失,他是大名人,不可能消失的,他只是犯了成龙说的全天下男人都会犯的错,其实成龙这货只是拉全天下的男人来垫背,比如我就没机会犯全天下男人都会犯的错!我们国家有一首王洛宾写的歌,名字叫《达阪城的姑娘》,里面有这样一句歌词“你要是嫁人,不要嫁给别人,一定要嫁给我,带着百万钱财,领着你的妹妹,赶着那马车来”。这首歌里讲你要人家的钱财也就算了,为啥嫁给你还要让人 家连妹妹都带过来呢?所以这首歌一直困扰着我。 但是,人家拜伦不困扰,他娶了Ada的妈妈以后,发现妻子的妹妹,也就是Ada妈妈的一个亲戚家的妹妹,按辈份应该是拜伦的小姨子,拜伦也是内举不避亲,管他亲戚不亲戚的,直接搞过来当情人,这是他众多情人中的一个,我们就不去仔细计较了,因为太多,数都数不清。就这样,这就是Ada的老爸拜伦,我们先交代到这里。接下来说他妈妈。 Ada的妈妈也是个贵族,受过良好的教育,人长的也漂亮,追求者众多,其实,如果不是长的漂亮,估计拜伦也不至于和她结婚。不但人长的漂亮,而且知书达理,能写会算。她就在他的庄园里,请家庭教师教Ada知识,反正有钱也有庄园,所以,Ada都是受最好的教育,等一会儿我再来说说和Ada交流的这些老师,那些朋友的来头,大名鼎鼎的就有好几个。而且经常带着Ada全欧洲旅行,去每个国家拜访的都是一些名声显赫的人,比如去法国就去拜访拉普拉斯家族的人,去伦敦就去拜访乔治•布尔,这个乔治•布尔就是计算机的底层理论布尔代数的创始人,反正,Ada从小都是见这种超级牛逼的科学家,等会儿我们再讲这几个教科书上经常出现的人,基本上Ada接触的人,都是大学微积分课本上的人。所以说,跟着牛人混,不小心也成了牛人啊。 然后在Ada 17岁的时候,已经是一个大美女了,然后,他在17岁的时候,去和英国国王玩了一个月,在宫廷里有事没事的参加各种宴会。我想想不出住在皇宫里,每天和英国国王玩是什么概念,见的人应该没有贩夫走卒吧。然后,他见到了对他影响最大的人之一,也是我们计算机课本上的人,他的名字叫巴贝奇,就是差分机的设计者。当时巴贝奇已经挺大了,的Ada的母亲差不多岁数,Ada和巴贝奇的大儿子差不多岁数,也不知道是Ada的母亲让巴贝奇觉得神魂颠倒,还是Ada让巴贝奇神魂颠倒,反正巴贝奇再次邀请她们母女去家里坐坐,谈谈理想。期间,巴贝奇给她们母女展示了自己设计的差分机,一个由2000多个铜管组成的机器,半米多高,用手摇一摇就能解方程。艾达母女两人很兴奋,就这个机器,竟然能算二次方程的根,非常的感兴趣。这件事对年少的Ada震撼特别巨大。 因为这个巴贝奇也是对Ada影响巨大的人,我再来说说这个巴贝奇。巴贝奇也是剑桥大学毕业的,他在剑桥大学学的专业是数学,他认识的人也都是一些牛人,比如发现天王星的人,抽象代数的创始人等等,然后巴贝奇比较厉害的是,他爹太有钱,以至于他完全不用工作一点问题也没有,人生的赢家,他从剑桥毕业以后,然后找了一个漂亮的女子结婚了,更让人崩溃的是,他这个妻子不仅人长的漂亮,比他爹还有钱,一下子让他失去了奋斗的动力。然后,他的职业就是发论文,写论文,然后给人讲如何解方程,如果做微积分。然后顺便推广莱布尼兹的方法,或者发论文说牛顿的方法有啥缺陷。反正,和我们现在的富二代好像兴趣爱好有点不一样,我们这里的富二代整天就知道吃喝嫖赌换后宫。这个巴贝奇呢,整天研究数学。当他得知天文学计算上需要对数表来算乘法的时候,当时对数表并不精确,然后,巴贝奇觉得义不容辞,这是一个剑桥大学数学系学生应有的社会责任,然后,他花了一年时间,手工计算了一个对数表,然后,这个对数表一直使用了100多年,一点错误都没有。 因为计算有时候太繁琐,当时蒸汽机已经大规模的应用到工业上了,巴贝奇觉得如果能让蒸汽机帮人类计算多项式的结果就好了,这边输入,经过蒸汽机的运算,马上就可以输出结果。这个当时看起来异想天开,脑洞大开的想法,他立刻就开始着手开始设计了。这个巴贝奇是个有钱的科学家。还有个有钱的科学家叫卡文迪许,他继承了巨额的财产,以至于他成了伦敦银行最大的客户,钱多的花不完,然后有个爱好专门研究物理。以至于他一生只买一只股票,不管涨跌,持续买入,连他的经纪人也看不下去了,就建议卡文迪许说,要不买两只啊,然后卡文迪许勃然大怒,说,老子只知道一只股票的名字,别TMD拿钱的事情来烦我,再多嘴就解雇你!对卡文迪许的评价,法国著名科学家毕奥这么说:卡文迪许不仅有学问的人中最富有的,也是富有的人中最有学问的。卡文迪许这一段和本文无关,只是我写到巴贝奇的时候,脑子里就冒出了卡文迪许。 然后,Ada在对巴贝奇的差分机感兴趣以后,就经常和巴贝奇讨论差分机,在书信中给出各种建议,期间,他还多了一个闺密,她妈妈的朋友的女儿,在书信里证明数学公式。然后,Ada在19岁的时候,遇到了自己的白马王子,也是一个名门之后,也是剑桥大学的毕业生,叫威廉。这个威廉仔细,勤劳,两人见面后就一见如故,没几个月就结婚了,为了保密,最后才通知亲朋好友结婚的消息,为了避免当时报纸胡乱报道。结婚以后的Ada,安静了几年,主要是的工作是骑马,Ada没有和她老爸一样,养一个宠物熊,她还比较正常,喜欢骑马,然后就是做数学题,然后有事没事的去和维多利亚女王吃吃饭,他的老公也是爵士,Ada也就成了爵士夫人,毕竟也是上流社会,Ada是可以见维多利亚女王的人。Ada生了三个孩子,但是当了妈妈以后,还是没有熄灭对数学的热情,他就写信给巴贝奇,问他在伦敦认不认识数学比较好的教授,她想学数学。因为巴贝奇本来就是数学圈子的,就给Ada介绍了当时数学顶尖的几个人,来当老师教Ada数学,或者说,不一定是当老师,因为Ada当时已经是数学高手了,确切的说,应该是找几个数学顶尖的人来交流想法。当时巴贝奇就给Ada介绍了逻辑学的先驱摩根,结果这个伦敦大学数学教授摩根 ,竟然认识Ada的妈妈,所以,Ada一家,都是牛人。Ada也成为牛人,其实看起来挺顺理成章的。 时间差不多了,关于Ada的内容,感觉一期内容做不完,等下期吧。另外,关于这个公众号,我要说一下我的想法。我录这些音频呢,都是免费的,已经做了快80期音频了。还有我的B站上上传的一些视频,我也上传了几十个视频了。也都是免费的。我收到的打赏所有的加起来,420多块钱。因为这个非常小众,我在微信公众号上只有不到2000个关注者,就是这2000个关注者,每天能平均产生1-2条对我谩骂,教育我做人的回复。这些谩骂包括,音频更新不及时,在B站的视频更新不及时,我在音频里黑了哪家公司,比如说百度公司,结果他是百度粉丝,然后追着我骂,我真的想不懂这个世界上真的有百度粉丝。还有就是给我2块钱红包,让我帮忙修改bug,发过几个python文件来,搞的我也很崩溃。

26分钟
72
8年前

75. sony开发playstation故事

软件那些事儿

上一次提到,sony因为和任天堂分手了,才导致了playstation的问世,如果不分手,sony不见得一定要进入家用游戏机市场,但是,这个历史是不能假设的,如果能假设,我们也就都不会和初恋分手了。我们来看一下sony和任天堂分手以后,如何把他们曾经共同的孩子playstation独自拉扯大,并且正是playstation,把任天堂从家用游戏机的王座上拉下马来。 在1991年6月的时候,任天堂和sony还没有分手,当时在芝加哥举办的CES国际消费电子展上,sony还发布了Playstation的原型机,这款原型机并没有真正的发布,就当我们以为这台原型机永远都不会面世的时候,国外网友竟然买到了这台神奇的原型机,当一会儿我再来说说这个原型机。另外一件我希望能再次面世的东西是红楼梦,希望后面的40回,曹雪芹写的那40回能再次露面。就在sony和任天堂共同发布这款机器以后,任天堂突然宣布单方面撕毁合约,据说,促使撕毁合约背后的关键人物是山内溥的女婿,当时美国任天堂的总裁荒川实。当时荒川实敏锐的发现了CD-ROM是未来的主流,一旦sony掌握了CD-ROM的生产,就相当于断了任天堂的后路。任天堂宣布和飞利浦公司合作生产CD-ROM,当然,最后飞利浦这个插足的第三者也是无疾而终,最终也没有合作出什么东西来。当然,也有另外一个传闻说,sony想通过sony音乐娱乐来进军游戏软件市场,这件事情让山内溥勃然大怒。不管怎么说了,任天堂和sony分手了。 后者的传闻有一定的可信度,因为后来playstation就是sony和sony音乐娱乐共同推出的,并不是由sony公司推出的,sony和sony音乐娱乐每家公司出资一半,成立了一个新的合资公司,名字叫sony电脑娱乐(SCE)。从这一点可以推测出几点,第一,山内溥老爷子消息还是很灵通的,他获得的那个消息起码不是空穴来风。还有一点,我们也可以看出,sony总公司对playstation的成功并不抱太大的希望,否则也不会新成立一家公司来避嫌,当时,sony公司是世界上首屈一指的家电大厂,黑科技层出不穷,我说的sony的黑科技是真的黑科技,有机会我做一期关于sony黑科技的文章,列举一下sony的黑科技和现在国内一些厂商的黑科技有什么不同,国内的黑科技是黑了科技,简直就是往科技脸上抹黑。正式因为sony公司当时名声在外,所以集团内部的人觉得去卖个游戏机,有辱sony的名声,我堂堂的大sony竟然要去卖游戏?他们担心sony的品牌会因此受损。几十年后的中国,也有一个人和sony公司一样,觉得做游戏是一件让公司丢脸的事情,毕竟游戏会让年轻人堕落。原话是这样说的:中国本来就是独生子女家庭,孩子们都玩游戏的话,国家将来怎么办?所以游戏我们一分钱都不投。人家投,我们鼓掌,但是我们不做,这是 我们的一个原则。这么正义凛然的讲话,赢得了现场观众的一阵阵掌声,赢得了众多网友的交口称赞,这才是中国企业家的责任感。然后,掌声未落,他就投资了数十亿到家庭数字娱乐。首先,他没有食言,他确实没有投一分钱,而是投了数十亿。其次,他没有投资游戏,他把游戏改名字了,叫家庭数字娱乐。原来说饿死也不做游戏的意思是,只要饿不死就做游戏。 sony也是这个德行,瞧不起做游戏的,到现在快30年了,当年信誓旦旦的sony公司,几乎只剩下游戏机部门还在盈利,sony做的收音机,电视机,随身听,都已经赔钱甚至卖掉了,不知道30年前那帮家伙如果知道30年后的情况,会有什么感想。所以啊,话不要说满,做人留一线,日后好见面。当时被委以重任的是一个叫久多良木健的年轻人,在大贺典雄的支持下,他说出了自己的观点:我们和任天堂已经闹翻了,在游戏机这个事情上,如果我们这次怂了,不是成功不成功的问题,这件事可以让别人嘲笑一辈子!在坐的所有反对者也沉默了,是啊,如果任天堂这么闹,你大sony还吃哑巴亏,整天像外交部一样煮熟的鸭子嘴硬,只会称为别人一辈子的笑柄。sony不会成为这样的笑柄。 久多良木健是个技术天才,他不是只会念PPT的演讲大师,实际上,他在人际关系处理方面可以算是个大白痴,不仅容易和媒体搞的关系僵硬,而且对粉丝不理不睬,甚至和同事的关系,也是僵化的不行。但是,他牛就牛在,他自己能搞定技术。你说不行的东西,他懒得说服你,他直接做出来打你的脸。以前给任天堂的机器搞音频芯片时候是这样,现在轮到自己的机器了,他自然更是十二分的努力。PS的基础是久多良木健开发的一种商用图像处理系统,名字叫System G。这个系统本来是用在电视节目的制作上,给电视台处理视频用的,性能极其强悍。他直接拿过来做游戏机了,以至于Sony展示Playstation的时候,资深的游戏记者都说sony肯定作假了,以现在的技术根本不可能实现这么绚丽的效果。记者么,当然是读者喜欢看啥就写啥,所以,大部分记者其实没啥良知,当然,不止记者,绝大部分人类都没啥良知。然后,骂sony肯定是喜闻乐见的,当时sony是老大,竟然试图用做出来的效果糊弄我们,我们游戏记者西方哪个国家没去过,会被你sony蒙骗?然后口诛笔伐。问题是,久多良木健和媒体打交道的方面很欠缺,有一种有口难辩的感觉,只能木讷的说我TMD没说谎,我这都是有一说一,我擦,媒体一看,这索尼你搞啥啊,起码整个能说会道的,至少得是个说相声演员级别的当发言人吧,你这整个久多良木健出来,话都说不利索,完蛋了,sony要玩。 我前面也说了,久多良木健的厉害之处就是只会实力打脸,语言方面不吹,他竟然煞有介事的给记者解释为啥他的playstation能跑的这么快,当然了,记者根本听不懂。最后,他只好拿出playstation的样机让记者随便玩玩看,这明显不是造假。然后记者一看,我去,这看起来木讷的傻根挺能啊,不是吹牛。这主要是当时市场上只有区区几款3D游戏,比如说南梦宫的《山脊赛车》和世嘉的《VR战士》,算是3D游戏界的明星产品,如果大家有兴趣,可以去敏感词搜搜看,以现在的眼光来看,刚刚达到目前国产3D游戏的水平吧,还是比较粗糙的。当时plastation也不是没有硬伤,硬伤就是2D性能不行,3D性能强悍。由于配备了专用的3D播放芯片,再加上sony本来就很牛逼的CD-ROM技术,游戏开始的片头动画直接把当时的记者震撼的不要不要的。 媒体都是这样,记者本来就是个工作,骂你能赚钱拿稿费,他就骂你,夸你能赚钱拿稿费,他就夸你,反正不管是骂还是夸,只要有稿费拿就好。这次看了傻根的真机展示,开始夸了。开始夸这绝对是一款跨时代的硬件产品等等。所以,有时候大家一定要记住一件事,千万不要相信任何媒体,但是大家也不能太矫枉过正,要有选择的相信,做出自己的判断。比如说,当你看到某个媒体说现在是几月几日北京时间7点整,这个一般是不说谎的,然后听完这一句,才开始说谎。真真假假的,让你很难分辨出来。还有报纸也是这样,顶多看一下日期,其它的,可能都是记者瞎搞的,也不能说100%都是假的,起码98%是假的吧。 PS拥有极其强大的硬件,并且外观设计的也算中规中矩,playstation的主机采用的是全球统一设计,主机的颜色采用的是灰色,不抢眼也不黯淡,虽说不能说是漂亮的不像实力派吧,但是,的确是个中庸的实力派。另外,这台playstation还在主机表面进行了磨砂的处理,这在当时的产品,尤其是sony公司里非常的罕见。其实这也得益于sony公司并不是太看好playstation的未来,因此组织了合资公司来生产销售playstaion这台游戏机,正因为这种爹不疼娘不爱的情况,playstation才能不受sony观念的束缚,以自由的想象力来对主机以及控制手柄做出了重新的定义。 我们都知道,游戏机光有硬件是没用的,没有游戏的游戏机,硬件性能再牛逼,最终只能摆在家里看。正因为如此,所以sony的成功,其实是建立在不停的拉拢早就想造反的,已经被任天堂蹂躏的体无完肤的游戏厂商了。还有一个不得不提的重要因素是,索尼和索尼音乐娱乐共同出资建立的sony电脑娱乐,其中的大股东之一索尼音乐娱乐是做唱片的,这个索尼音乐娱乐在娱乐界是一个大腕,旗下一大群音乐家和作曲家,反正当时playstation也没有游戏支持,毕竟刚做出来的主机,还没有厂商开发游戏,于是这一块,直接使用的sony音乐娱乐的方式,和游戏工作室签约,而不是任天堂那种专制的模式,这个模式非常的宽松,就和音乐家一样,毕竟索尼音乐娱乐这方面做的非常的成功,以前做出游戏出来,大家并不知道这个游戏是谁做的,但是sony这个模式一推出,游戏玩家开始非常的认可这种模式。和我们听歌一样,很少注意哪家出版的这首歌,反而非常注意谁唱的这首歌,毕竟符合自己胃口的歌星不多,但是只要是这个歌星唱的歌,管它谁发行的呢?sony的这个模式也是这样,后来,玩家越来越注重哪个游戏制作人制作的游戏,哪个游戏工作室开发的游戏,自从playstation以后,出名的制作人和出名的音乐家一样, 开始越来越个性化了,反而哪个厂商哪个发行商变得不是那么重要了。而且sony还举行游戏制作人选秀节目,从中出现了一大批出名的制作人,出名的游戏,比如一个大学生团队,也就是后来的shift公司,出品了处女座XI(sai),一个解密游戏。还有一个随身模拟养成的游戏,随身玩伴多罗猫,都是在这个选秀活动中涌现出来的。 再回过头来说说sony和任天堂共同开发的那台机器吧,他的名字也叫playstation。因为这台机器太过久远了,几乎所有人都已经遗忘了,也觉得不会再出现了,但是很神奇的事情总是会发生,敏感词上一个我非常喜欢的主播,名字叫Ben Heck。关于敏感词我再多说两句,敏感词是这个世界上最好的视频网站,这个不用怀疑,如果不管多小众的东西,在上面可以找到视频,比如我说的这个Ben Heck,还有几个Game Historian以及各种冷门的计算机的拆解视频,冷门编程语言的讲解视频,敏感词上全都有。而且做的非常非常的专业。别说是小众的内容,就是低俗的视频,敏感词上三俗的视频,底线绝对比国内的遮遮掩掩的低俗的多。所以呢,高雅的有,三俗的也有,非常推荐大家去看看敏感词,通过各种方法,发现一个神奇的世界,关于三俗的,我就不推荐了,毕竟,我一般也想装的高雅一点,还是留给有心人自己去发掘。只是友情提示一点,敏感词不同的国家,搜出来的视频是不同的,比如新加坡和日本不同,日本和美国不同,经过我仔细的比较,最三俗的国家是美国,最清真的国家是中国,直接不让上。比如说我讲的这些东西,比起敏感词的视频来,连个皮毛都算不上,我只能讲解三手的传闻,人家是拆解一手的硬件。好了,继续来谈这个任天堂和sony蜜月期创造出来,但是没有最终发布的plastation。想看视频的,非常推荐去敏感词搜索Ben Heck这个频道,这个主播,每一期都很好看。 首先,这个主播搞到了一台sony和任天堂共同生产的playstation,然后发现,毕竟好几十年了,开发机,也没有什么游戏支持,就拆解了它。看看里面的芯片。然后他发现里面的很多硬件已经损坏了,毕竟30年的老古董了,也情有可原。然后,更厉害的是,他决定把这台机器修复起来。经过重新焊接电路板,修复光驱等一系列复杂的手续,那台机器竟然可以开机了,但是屏幕总是闪,还是不能用。这时候这个播主扎实的硬件直觉告诉他,应该是电容有问题。然后他开始查找电容和电源,在更换了电容以后,那台机器竟然可以启动起来了。可以播放CD,也可以使用任天堂的卡带玩游戏,甚至,声音听起来还不错。 就这台机器,设计的也算中规中矩,乳白色的外壳,当年最强大的光驱,最新的声音芯片,支持任天堂最热门的游戏,如果当年sony和任天堂没有分手,这台机器会不会称为一代霸主呢?毕竟这台游戏机太强大了,sony的硬件加上任天堂的软件,简直可以说是打遍天下无敌手。但是,历史不容假设,时间也不会倒流,只有这个白色的盒子,诉说着当年那段恋情,那段sony和任天堂都不会再提起的恋情...

25分钟
99+
8年前

74.索尼和任天堂,最熟悉的陌生人

软件那些事儿

我们都知道,我们现在使用的公元纪年法,比如现在是公元2016年,之所以用公元纪年,是因为基督教的原因。在罗马教廷时期,有个神学家就建议把耶稣出生的那一年定位元年,以取代罗马教廷所采用的历法,后来这个建议被采纳了,因此现在我们都使用公元纪年,实际上是耶稣同学很牛逼。当然了,提建议的这个人虽然想法挺好,但是数学是语文老师教的,他算错了时间,按照现在比较权威的说法,耶稣实际上应该是公元前4年出生的。不管怎么说了,耶稣都没反对,我们这些凡人也就将错就错的用下去。因此就有了公元元年。 在物理界,也有个公元元年。物理学的奇迹年是1905年,当时一个26岁的年轻人,白天在伯尔尼专利局无所事事,晚上和老婆也没什么话好说,因为他们之间的爱情结晶不幸夭折了,一个女儿,这件事直接导致这对年轻的夫妻之间的感情急转直下。这个年轻人叫爱因斯坦,他在1905年,写了5篇论文,按照后来一些人的说法,这5篇论文即使不能获5个诺贝尔奖,获3个应该问题不大。当然了,我懒得去纠结这个会获几个诺贝尔奖,我肯定一个都获不了。不能去争论这种皇上不急太监急的事情。就因为这5篇论文,1905年就被称为物理元年。 我之所以说了这两件事情,一个是公元元年是因为耶稣,一个是物理元年是因为爱因斯坦。主要是为了引出一个话题,我自己定义了一个家用游戏机的转折年,我这种方法其实是扯虎皮拉大旗,因为贸然说一个家用游戏机转折年,很多人就觉得太突兀了,这样先扯个大旗,就显得不那么突兀。我要说的家用游戏机转折年是1993年。 这一年发生了几件重要的事情,类似于《万历十五年》吧,只是对游戏机市场来说,这可不是风平浪静的一年,这一年简直可以用惊天动地来形容。首先,日本的松下公司和美国的3DO公司共同发布了一款新的游戏主机,名字叫3DO,让霸主任天堂感到无奈。随后,曾经亲密无间的一对好基友任天堂和Sony公司在这一年彻底决裂,只是因为Sony也要做自己的游戏机,任天堂感到痛苦。在北美市场,世嘉公司对任天堂发动了神风敢死队一样的自杀式袭击,世嘉公司在1993年以赔钱赚吆喝的必死心态,游戏主机成倍增加,年度利润却颗粒无收。所谓愣的怕横的,横的怕不要命的,世嘉以不要命的心态和任天堂玩,结果把任天堂的根基给动摇了,当年,任天堂首次利润为0,这个时候,任天堂举目四望,除了自己,周围全是虎视眈眈的敌人。要不是好莱坞的环球影业和任天堂合作拍摄了一部《超级马里奥兄弟》的电影,任天堂这一年都很不开心。这部电影的票房接近1亿美元,在当时已经是了不起的成就。 任天堂的好运,在这一年也神奇的被用完了,随后两年的苦心研发,任天堂于1995年7月21日发售了Virtual Boy主机,这部主机是由任天堂著名的大将横井军平主持研发,并且在这部主机上推出了两部以马里奥为主角的游戏,一个是《马里奥网球》和《马里奥冲击》,但是自从1993年以后,幸运女神没有站在任天堂这边,这两部游戏以不足10万份的惨淡销量收场,这个销量,甚至不足曾经热卖的《马里奥兄弟》几周的销售量。 任天堂的硬件研发能力之弱,几乎是人尽皆知的事实,在几个硬件大厂的眼里,任天堂的硬件研发能力接近于没有。任天堂当然也直到自己软件强,硬件弱的毛病,因此他每一代主机都是和其它的硬件厂商深度合作,说白了就是他当甲方提出要求,对方当乙方实现要求。比如说,日本sony的硬件研发能力超级强大,任天堂自然也就和sony走的很近,比如任天堂红白机上的音源芯片就是sony给任天堂研发的。当时,任天堂也着手和sony研发以光盘为载体来发布游戏,并且,任天堂的宫本茂同学还试着做了几款光盘版的游戏。 但是,sony是世界顶级的硬件厂商,怎么可能会让老任带领着只赚点儿硬件费用呢?风水轮流转,皇上的宝座人家大sony心里也天天想着坐一坐,不能光让你任天堂一个人坐,坐久了也得起来活动一下,否则容易长痔疮。然后,消息灵通的任天堂知道了sony心里的小九九,朋友做不成了,马上撕破脸不和sony合作了,光盘方面改找飞利浦合作,芯片方面改找美国的SGI,也就是硅谷图像公司来合作。当时光盘已经是主流,一个光盘的容量是700M左右,像sony这种牛逼硬件厂商,可以把光盘做到容量达到850M。不过,任天堂不是和sony闹掰了么。任天堂选择使用MASK ROM来作为游戏载体。嗯,光盘的容量至少700M,这个MASK ROM最多只能几十M。这个决定在当时除了任天堂,都觉得是自掘坟墓。当然,任天堂这次又雄起了一把,在所有人都不看好他的时候,他又成功了。这个故事留着以后再说,因为离他再次成功还有好几年呢,故事的这个阶段,他还活在别人怀疑和自我怀疑之中。 再来说说世界级的家电大厂sony公司,很可能一开始就准备扛着红旗反红旗,自从傍上了任天堂这个游戏界的大款以后,sony很多可能就是想着依靠老任反老任,只是自己的如意算盘被老任提前发现了。其实也不能说老任眼光毒到,因为当时没有进入家用游戏主机的家电巨头只有一个西门子,一个sony,其它的全都进场了。只要稍微动动脑子,也应该知道,身边的sony怎么不会动心思呢?但是任天堂在游戏主机行业,还是挺能打的,当时可以说来一个灭一个,所以,当时有个说法就是游戏市场的规律和其它市场不同,游戏市场的规律是,谁都可以做游戏主机,但是最后任天堂要赢得最后的战斗。但是,sony和其它的厂商有点不同,为啥不同呢,不同点是任天堂和sony曾经是亲密无间的朋友。所以说,背后捅刀子,一定要找最亲密的人去捅,否则不能一击毙命。为了避免有人背后捅刀子,有两种方法,一种是是个大好人,另一种是完全没有朋友。我本人大概是属于没有朋友的那一类吧,所以不怕别人背后捅我。 任天堂不同,他有朋友,他最亲近的朋友之一,sony公司,或者说曾经最亲密的朋友之一。之所以是朋友,并不是说这两家公司情投意合,主要还是有共同的利益点。这个又得说一下当年游戏机的发展史,在1988年的时候,市场上破天荒的出现了一个神奇的东西,世界上第一台配备了光驱的游戏机周边产品,名字叫PC Engine CD-ROM System,以后我简称PCE。在此之前,比如任天堂发布游戏的时候使用的是ROM,第一代任天堂的大金刚游戏的ROM只有128Kbit,128Kbit是什么概念呢,根本存不下一张苍老师的写真照片。当然,如果要增加容量,实际上无限增加ROM的数量也是可以的,1个不行就2个,2个不行就4个。但是,成本将会是个大问题。然后NEC Home Electronics在1988年12月4日就发售了一款PCE周边产品,也是世界上第一台用于家用游戏机的CD-ROM驱动器。但是,价格相当的昂贵,1988年的时候,大概是日元40万日元,不知道大概相当于人民币多少钱,反正挺贵的。所以,这个CD-ROM基本上作为周边产品来发售,不会说直接给你装上一个CD-ROM驱动器,这会严重增加成本。 有了CD以后,游戏的视觉效果就变得非常好了,因为有很多容量来存储动画或者图片,声音效果也有了大幅的提升。然后任天堂当时的对手世嘉公司在1991年12月12日也对旗下的MD推出了一款CD周边产品,名字叫MEGA-CD。这台机器有创新,里面还内置了CPU,这样可以用光驱内置的CPU来解码,不会太影响主机的性能。不管怎么说,不管这个CD-ROM的周边产品销量如何,据说是普遍不太好。但是,任天堂没有,贵不贵是一回事儿,有没有又是另外一回事儿。以任天堂的硬件研发能力,他自己也鼓捣不出这么个东西。于是,就找来sony看看能不能帮兄弟一把。当时sony不但给任天堂的SFC音频提供芯片,任天堂家整套的开发环境,也是sony给他搭建的,制造马里奥等游戏的硬件软件平台完全使用sony家的NEWS工作站以及一些相关的软件产品。既然以前都是好朋友,人家都有CD-ROM等相关的配套产品,我老任是搞不定了,你sony帮我搞一个出来,这就是大名鼎鼎的PSX计划。PSX计划主要就是sony帮任天堂制造光驱设备,sony也有好处,好处就是,只要是这台光驱上的游戏,不用经过任天堂同意就可以发行。前面我说了,任天堂发行游戏,不管是自己的还是别人家的,都只能通过任天堂制造卡带并且由任天堂发行。但是sony这 里开了一个口子,算是网开一面吧,说反正光驱也是你制造的,以后光驱版的任天堂游戏,sony你也可以发行,毕竟是蜜月期,啥都敢许诺,只是后来,任天堂又反悔了,觉得我操,让sony捡了个大便宜,光驱是发展的趋势啊。为了一时的快感,感觉把大好江山拱手让给了sony,他又反悔了,因此对PSX这个项目不冷不热的。sony也搞的很郁闷,昨天还好好的,今天你又整这些幺蛾子… 任天堂开始出去找小三了,找到的就是前面所说的飞利浦,任天堂想和飞利浦开发CD-ROM,不理sony了。sony彻底崩溃了,这翻脸比翻书还快,于是提出了严正的抗议,人家任天堂也倒是不遮遮掩掩,直接发表声明说,你们当然可以继续开发PSX这个设备,我们无法阻止sony继续开发,但是咱们当时签的合同里也没说开发完成了,我任天堂一定要采用啊,因此,你可以单方面继续开发,即使你开发完了,我老任也是不用的!就这嘴脸,反正谁说都有自己的道理,任天堂和sony都有一肚子苦水。幸好sony当时垄断了任天堂游戏机一些音频相关硬件的供应,否则任天堂比当时肯定更恶心。因此,这两家公司,也只是打打嘴仗,没有闹上法庭,反正大家也都知对方啥货色了,以前的怨气,都忍了下来。sony也是世界顶级的家电厂商,基本上啥都会造,反正现在也有一个任天堂不要的PSX项目,再研发一台游戏机,这个光驱项目就能派上用场了。任天堂的情况是有一台游戏机,但是缺一台CD-ROM的周边设备;sony的情况是,有一台还没有完工的CD-ROM设备,但是缺一台游戏主机。按照常理,一般的厂商,也就放弃PSX项目了,毕竟一个光驱外设,但是sony就是sony,非要为一台光驱设备配一台游戏机。这就类似于现在的苹果手机 是可以支持宝马车的CarPlay,比如说,像土豪,有宝马车,但是缺一台苹果手机,那就买一台手机就是了,这个土豪就是当年的任天堂,还有个屌丝,卖了一个肾买了一台苹果手机,但是缺一台宝马车,这就是当年sony的情况。但是,sony竟然逆袭了! 任天堂的主机就一直没有光驱外设,即使当时几乎所有的游戏机都有了光驱的外设。然后,任天堂这个家伙开始不遗余力的损CD-ROM,我们甚至可以预测到任天堂肯定不会说CD-ROM的好话,比如速度慢,光盘边缘太锋利,容易让小孩子受伤等等,反正吃不到葡萄就说葡萄酸。暂且不说任天堂说的对不对,当然,我个人认为是不对的,尤其是光盘太锋利,容易让小孩受伤这种狗屁理由都能胡诌出来,如果当年任天堂能够稳住sony,共同开发光驱,我认为索尼和任天堂之间的平衡应该可以维持一段时间,因为sony不至于为了光驱设备制造出一个游戏机,sony和任天堂共同开发的光驱设备名字叫PSX,你看,曾经,PlayStation这个名字都有一半属于任天堂的,结果,他没有把握住机会,深爱的情人最后变成了刻骨铭心的仇人,就是这个仇人把任天堂拉下了马。 1993年,对家用游戏机是个变革的年份,这一年,围绕着CD-ROM,3D渲染技术以及视频播放,当时五大游戏厂商在这三个领域不停的推出产品,试图赢得用户,赢得市场。 在1992年6月24日,sony和任天堂彻底闹翻以后的一次会议上,当时的sony总裁大贺典雄正式决定启动PSX计划,当他把这个计划的名字打在屏幕上的时候,台下一阵骚动,大家都在窃窃私语的议论,这个名字和任天堂共同开发的光驱设备的名字是一模一样的。这个名字是为了纪念以前和任天堂的友情,还是为了自己心中那个找任天堂复仇的念头,这个只有大贺典雄自己知道了。大贺典雄随后介绍了一个年轻人,让他负责sony的PSX计划,他缓缓的走上讲台,他的名字叫久多良木健,属于他的时代已经到来了...

25分钟
71
8年前

复刻版2. Java语言的前生今世(2)

软件那些事儿

这一期以前没有文字,因为我把文字搞丢了,今天我在翻我电脑里的备份,然后惊奇的发现,它还藏在电脑里。然后我就重新发一下,起码有文字版了。另外我重新录了一下音,以前录音没经验,就是一个手机,导致杂音超大。后来我插上耳机后,然后用背景音乐把杂音给掩盖一下。我的录音设备就是一个手机加一个耳机,然后再使用Audacity这个软件加上背景音乐来掩盖马路上的杂音。 上一期提到,太阳公司一个年轻的程序员,帕特里克诺顿,给公司提出了一份言辞尖锐的备忘录,我对这份备忘录很好奇,到底写了些什么呢?这份备忘录,主要有两部分内容,一部分内容是,列出了太阳公司的缺点,另一部分内容,则是对Next公司的夸奖。 诺顿的建议有如下几条:雇佣一个艺术家,把用户界面弄的漂亮一些,现有的用户界面太丑;只选择使用一种编程工具包;将公司的注意力集中在一种视窗技术上,而不是分散兵力,多线作战;解雇现有的视窗组员工,他们太烂了!在我看来,这几条建议,简直放之四海皆准啊,现在,对大多数公司来说,依然很适合。 正是因为这份言辞尖锐的意见,导致太阳公司进行反思,从而促成了Green小组,而开发出了Java语言的雏形,虽然当时不叫Java,当时的名字叫Oka语言。后来这个项目的市场反响,并不好,太阳公司准备取消Oka项目,解散团队。为什么太阳公司会做出这种,以今天的眼光来看很愚蠢的举动呢?我认为,这要从太阳公司的DNA说起。 太阳公司这个名字,其实是斯坦福大学校园网的,首字母的缩写(Stanford Universtiy Network),太阳公司的主打产品是Unix服务器和工作站,本质上,他是一家硬件公司,太阳公司有自己的硬件Spark处理器,和Solaris操作系统,但是没有关键的应用软件,当然,也有一些影响力不大的软件,比如StarOffice办公软件,但是影响力非常有限。太阳公司卖的工作站每台几万美元,服务器每台10万美元,再加上上世纪互联网的兴起,通过卖服务器和工作站,站着就把钱给赚了。太阳公司眼中的竞争对手是,SGI,DEC还有惠普这种公司,在硬件市场,这些都是太阳公司严重的软柿子,随便捏来捏去的。 正是因为太阳公司以硬件为主的商业模式,导致了他固步自封,像Oak这种项目,市场不好,赚钱无望,想关掉也算顺理成章,反正也不指望Oak项目有多大的出息,毕竟卖硬件赚的钱花都花不完啊。就在Oak项目就要被取消,高斯林萌生退意,团队即将解散的紧要关头,太阳公司的联合创始人比尔乔伊挽救了Oak项目。比尔乔伊不仅是太阳公司的创始人,他还是一个优秀的程序员,天主教知识分子,他是BSD系统的主要设计者,BSD系统是目前苹果公司Mac OS的父亲,他还参与设计了TCP/IP,更重要的是他还是编辑器Vi的作者,以后有机会,我想单独做一次他的生平事迹。在这里,我们只说他挽救Java的故事。 当时1994年,互联网如星星之火,逐渐蔓延。1993年6月,两名伊利诺伊大学的学生,马克安德森和埃里克比那发布了第一个版本的浏览器Mosaic。为了使这个浏览器商业化,安德森注册了一家叫网景的公司,这个浏览器的发明,让每个普通人,都可以方便的使用互联网技术。这时候,比尔乔伊敏锐的观察到,Java语言可以满足互联网对安全的要求,因此他对高斯林说:游戏已经开始了。 早在十几年前,比尔乔伊在设计Unix的时候,就已经开始思索,如何在千差万别的互联网环境中,使用一种新的编程语言,可以确保互联网的安全性和可靠性。比尔乔伊回忆说:他当时也不知道怎么做,但是他一看到高斯林的东西,就知道这就是他要找的编程语言。比尔乔伊对高斯林的评价非常高,他说:詹姆斯很伟大,他在这个空白的领域写下了第一笔,虽然只完成了一部分,但是异常精彩。他独自一人工作,这是一种罕见的天赋。要将这种技术快速应用到产品中去,其他人必须要模仿他。但是高斯林是先行者,毫无疑问,他有独特的思考方式。 太阳公司的前技术主管,埃里克施密特,后来此人当了Google公司的CEO,对此的评价是:Java的天才之处,在于詹姆斯的借鉴和创新,都恰到好处。(说点题外话:网络上对Java的嘲笑,不绝于耳,很多人也质疑高斯林的成就,以前我就看过一篇文章,上面列举了Java的技术思想,早在Java出生十年前,甚至二十年前就出现了,所以,Java根本不是什么新生事物。但是我认为,所有的创新都是递增的,都是以原有的知识为基础,高斯林的过人之处在于,他将,原有的知识重新汇总,进行全新的组织,来满足网络时代对安全的要求,Java语言是一种为了实用而设计的计算机语言。)90%的程序员,都是技术水平一般的普通人,Java语言一开始,就是创造一种,“没有锋利边缘的编程语言,这样,人们就不会因为编程语言的问题,而伤害自己”。当时已经有了C语言以及C++语言,这两种语言足够强大,C 语言程序就像一群拿着刀的人,在刚刚打过蜡的地板上快速的跳舞。C++的作者也说过:C 很容易让你朝自己的脚开枪。在 C++ 中,这么做变的困难了,但是你要不注意,就会崩掉自己的整条腿。高斯林这么评价自己的Java: Java 就是去掉了枪炮,刀剑,还有黑帮的 C++。 Java是一种互联网时代的语言,他试图通过,限制程序员犯错的自由,来简化互联网编程。比尔乔伊曾经说过,互联网世界的最终目标是,努力将软件变得像机器的组成部件一样稳定。Java可以看作是装有螺丝钉,螺丝帽,螺栓等各种工具的工具箱。Java就是一个系统,他确保程序员,在使用这些工具的时候,不会做出危险的举动。当然,并非所有人都接受这种限制,那些讨厌这些限制的程序员,将Java比做“警察国家”,将高斯林称为软件法西斯主义。但高斯林回应说:Java的限制对于互联网是一种宝贵的资产,让软件变得更加稳定可靠。Java确实是折衷的结果,但是,利大于弊。 “对Java来说,规矩就是规矩,一旦适应了这一点,它将变成一种自由的语言”高斯林将对Java的批评,比作早期飞行员的抗议。飞机制造商将驾驶舱密封起来的时候,飞行员表示抗议。因为,使用螺旋桨推动飞机的时代,飞行员通过将头伸出机舱来导航,感觉风向。但是当你坐上一架2马赫的现代飞机,打开机舱把头伸出去,脑袋就被吹掉了。他说:要更进一步的解放自己,你就要放弃那些曾经看起来是自由的东西。 如果你连上了网,你就不得不处理多样性,不得不处理交互性,不得不考虑故障,对其它的部分会造成怎样的影响,也就是说不得不考虑系统的可靠性。传统的观点认为,软件要么全部成功,要么全部失效,只有两种情况,要么正常工作,要么无法工作。有没有可能创建一个健壮的系统,这个系统部分失效以后,仍然可以继续运行呢?就像一辆汽车,在收音机损坏的时候,仍然可以正常行驶,而不是尖叫着停下来。这就是设计Java语言的初衷。 扯远了,再把话题回到1994年,1994年,是Java制定标准到一年。在这一年里,Java应该有什么特征,需要抛弃那些特征,怎样改进性能,都是在这一年搞定的。会议有六七个人参加,其中争吵最为激烈的是高斯林和比尔乔伊之间,高斯林是简洁派的,比尔乔伊是功能派的。高斯林坚持认为Java应该足够的简洁,凡是有疑惑的,就删掉;比尔乔伊则认为Java要足够强大,要把大部分语言的强项都添加到Java里,就像一个威力无比的巨无霸那样。后来,大部分决定都是高斯林做出的,Java就是他的孩子。在一次采访中,关于简单性和复杂性,高斯林说:通常系统想更强大,就往往变得很复杂。 高斯林另一个精明之处在于,他让C++程序员很快就掌握了Java。在Java即将被打磨出来之前,太阳公司的另一个商业计划出炉了。在1994年9月,高斯林,比尔乔伊以及施密特共同举行的一次会议上,确定了Java的方向,高斯林说:Java是所有人都能够使用的编程语言。在会议之后,施密特起草了商业计划,提出了具体的数字:5年内,Java用户将会达到1亿。实际上,两年以后,Java的用户数量就达到了1亿。1亿这个数字相当于当时所有运行windows的计算机。之所以会这么快达成目标,一个很重要的原因是,网景公司的浏览器决定支持Java。当时网景公司的安德森,一直在考虑一个问题,如何才能把服务器上的代码,通过网络传送到数百万台计算机上呢?当时网景公司尝试了一种语言,使用Scheme语言,但是这种语言最终没有达到目的。随后该团队看到了Java,于是就认定了这种语言。网景公司和太阳公司于1995年5月23日签订了意向书。 之后,为了更好的市场推广,太阳公司决定将Oak语言重新命名,当时列出了十几个备选的名字,其中之一是Java,其它几个没入选的名字分别有Silk, Lyric等等,最后由产品经理波利思决定,她选择了Java。比尔乔伊和施密特负责太阳公司推广Java的工作,他们选择了一个激进的策略,他们计划不从Java中获利,授权条款全部都是无偿奉送,只是为了提高软件的接受度。在1996年,太阳公司召开了Java的会议,JavaOne,初次会议就有1000来人参加,众多公司包括网景,甲骨文,惠普,IBM纷纷申请Java的许可,反正也不要钱。Java就是当时最热的语言,整个顶级IT公司都在宣告,我们使用Java。在这些公司里,还包括一个公司——微软。微软在1995年发布了windows95,微软在操作系统的地位如日中天。微软公司在1996年3月也向太阳公司申请了Java许可,当时的比尔盖茨对Java的评价是:Java是很长时间以来最优秀的程序设计语言。太阳公司希望微软公司帮助自己推广Java,微软公司希望把Java搞得支离破碎,各怀鬼胎的合作下,最后不得不对簿公堂,在2004年,太阳公司胜诉,获得16以美元赔偿,但是微软却赢得了很大的市场,借鉴JSP技术的ASP技术获得了更大的市场占有率。太阳赢了官司,却丢了未来。对此,高斯林这么评价:微软花了巨大的精力,让用户在windows上看不到Java。 后来微软公司宣布了一种新的技术,可以转移Java用户,并且推出了自己的编程语言,C#, 用来代替Java。微软公司的C#语言定位和Java类似,有着和Java类似的功能。这是微软一贯的策略,首先和你拼技术,拼技术不行就拼流血,反正微软血量足,对手拼流血一般是拼不过微软的。突然想起了微软进入游戏机市场,花了大量的钱打造xbox游戏机,记者问比尔盖茨,如果xbox花费了这么多钱,仍然失败了你会怎们办?比尔盖茨轻轻一笑,说,如果这次xbox失败了,我就再投入更多的钱重新玩一局。微软靠这个方法,打赢了很多战争,包括和borland的编译器之战,以后有机会,我也说说那场战争。微软一贯的策略之一就是,引入新的技术,按照自己的方式重新定义新的技术,然后说服程序员加入自己的阵营,取得最后的胜利。 在1995年,微软开始开发自己的浏览器,和网景公司进行竞争,网景公司是太阳公司最大的合作伙伴之一,正是因为网景公司的鼎力支持,才让太阳公司的Java迅速的占领市场。微软在击败莲花公司和WordPerfect公司的时候,就是利用了自己windows的优势。这次和网景公司竞争,刚开始的时候,网景公司掉以轻心,以为顶多到时候打价格战,网景有钱,这个仗还能拼一拼。没想到微软公司直接把IE免费了,仅仅一年半以后,网景就被微软击败了。如果仔细研究IT的历史,就会发现一个很有趣的现象,微软建立自己的霸主地位以后,就再也没有出现过世界级的PC软件公司,因为只要在PC软件上还有大的机会,微软就会利用自己操作系统的优势,把所有的玩家都清除出去,这个受害者名单有一大长串,网景,WordPerfect, 莲花公司,太阳公司,RealNetwork公司,都没能幸免于难。 到了上世纪末,太阳的市场总值,一度攀升到2000亿美元的最高峰,股价高达每股247美元。公司的CEO麦克利尼也是春风得意,他说,太阳公司就是.com前面的那一点,当我向后看的时候,我欣喜的发现,我至少领先有些公司至少20年。但是,2000年网络泡沫开始破灭,大多数.com公司都关门大吉了,服务器市场突然低迷,太阳公司一年之内就从顶峰跌到了谷底。更可怕的是,以前和Java和微软的ASP竞争的劣势,开始结出苦果,Unix服务器市场,依IBM为首的Linux操作系统,开始蚕食太阳系统的Solaris系统,在windows服务器市场,由于微软明里暗里的不支持JSP,而是支持自己的ASP,因此太阳公司前有狼,后有虎,苦不堪言,2003年巨亏34亿美金,从此沦落称为一个二流的厂商,失去了挑战微软和IBM的能力,以至于最后被甲骨文收购。 还有很多值得八卦的事情,太阳公司的CEO麦克利尼是硅谷著名的喷子,口无遮拦,不止喷微软,他还喷除了自己以外的其它公司。太阳公司自己生产spark的CPU,在80年代的时候,太阳公司曾经试图进入个人电脑市场,自己提供CPU,还能自己生产操作系统,因此,和Intel曾经是竞争对手,他曾经宣称,只要是有厂商采用SPARK的CPU,太阳公司就提供最详细的资料,对于当时微软的铁杆合作伙伴Intel,他说:摧毁微软是每个人的义务。对于微软的windows NT操作系统,由于是Solaris的直接竞争产品,麦克利尼评价说:你们敢把软件运行在NT上么?你们是在玩过家家的游戏么? “别和微软合作”一直是麦克利尼的口头禅,他说:“和微软合作有很多的条件。而不管什么公司,只要与微软合作,他们自己都会受到很大伤害,自己公司的规模就会变得越来越小。”有一次他在展示自家的服务器的时候,需要输入密码,他对台下的观众说:密码是 say no2nt,中文意思就是“对NT说不”。Dell公司也有Linux服务器,和太阳公司有竞争,在评价Dell公司的时候,麦克利尼说:Dell公司不是一个公司,仅仅是一个流通渠道。对此,另一个大炮Dell也不是省油的灯,他回应说:我想有的企业将永远不会复苏,原因是他们的业务建立在,人们不再购买的产品上。对待惠普和康柏这两个老对手的合并,他仍然是火力全开,他说“在我看来,这是两个烂公司之间的合并,他们已经不是计算机公司了。” 对IBM,依然延续其毒舌,他在接受中国记者采访时称,“我很希望2008年北京奥运会也能用我们的产品。从架构角度来说,中国有三种选择:一种是微软的封闭架构;一种是太阳公司的开放架构;最后一种是IBM的架构,其实IBM本没有什么架构可言。”再后来,太阳公司的市值越来越少,IBM曾经提出过收购,但是在经过几个月的谈判以后,太阳公司拒绝了IBM的收购,在2009年4月20日,甲骨文以74亿美元收购了太阳公司,太阳公司的历史使命结束了。 用华尔街的话说,太阳公司是赔钱赚吆喝,至于吆喝之后怎么赚钱,太阳公司直到被甲骨文收购前,都没找到办法。倒是甲骨文收购以后,找到了Java的赚钱之道,打官司找谷歌赔钱。甲骨文收购太阳公司以后,关掉了很多项目,比如关掉了太阳公司一个CPU的项目,据埃里森讲,该CPU非常慢,非常耗电,以至于为了散热,需要一个30厘米那么大的风扇才能散热。甲骨文还关闭了OpenSolaris项目。 作为太阳公司极具影响力的产品之一Java编程语言,并没有随着被甲骨文的收购而变得暗淡,被甲骨文收购以后,Java的创始人高斯林已经离开了公司,但是,由于安卓手机的流行,Java再次展现出其旺盛的生命里,在编程语言排行榜上长期占据第一位。在下一讲中,我们再来讲安卓系统让Java重新焕发青春的故事。

30分钟
62
8年前

73. 游戏与主机,忠诚和背叛,任天堂跌宕起伏的故事

软件那些事儿

这一个是填坑之作,继续填很久以前任天堂的坑,继续讲任天堂的经典游戏人物马里奥的故事。前几期的链接我放在下面,关于任天堂,我已经做了四期,这是第五期。如果是微信公众号的听众,是可以看到链接的,如果是云音乐或者喜马拉雅的听众,这个没办法念链接。 任天堂往事 任天堂往事(1):公司起源 任天堂往事(2):多元化探索 任天堂往事(3):马里奥之父宫本茂 任天堂往事(4):精灵宝可梦之父田尻智 上次说到《大金刚》在北美取得了成功,在北美取得成功以后,日本本土也逐渐开始流行。后来任天堂公司和日本的池上通信打了一场官司,在法庭上公布了主机的销量,累计销量达到了8万多台。在当时来说,这个成绩算是非常不错的。因为当时在美国也没卖出这么多。毕竟任天堂公司一贯的传统,什么赚钱做什么。卖过泡面,开过情人旅馆。最近任天堂又炒冷饭把30年前的主机,加了一个HDMI接口,然后内置了30个游戏,重新卖一次。这种炒冷饭的事情任天堂做的是脸不红心不跳,所以,任天堂就是这么一个让我又爱又恨的公司。我打算海淘一个回来玩玩了,满足一下我小时候的心愿。 Nintendo Classic Edition 售价 59.99 美元,11月11日已经在美帝上市 当年也是这样,看到《大金刚》热卖,任天堂马上就开动锅碗瓢盆,开始炒不太冷的冷饭,把大金刚的题材马上修修改改的搞了另一个版本《大金刚 Jr》,这个版本比较搞笑,尤其是现在想起来更搞笑,用现在的话来说,任天堂吃相有点太难看了。这个版本为了吸引眼球,或者仅仅是为了赚个钱,日后风靡世界的马里奥大叔,当了游戏中的大反派。大体的故事情节是这样的,邪恶的马里奥大叔,劫持了大金刚并且把他囚禁在一个铁笼子里,大金刚有个可爱的正义的儿子叫裘尼亚为了拯救被囚禁的父亲,开始和邪恶的马里奥大叔斗智斗勇,躲过了大叔设置的重重机关,最终救出了自己的父亲,并且将马里奥扔下了高楼,马里奥大叔最终的结局是摔成了相片。 这个版本的马里奥充分的利用了原有的系统资源,任天堂的街机完全没有任何硬件上的更新,但是在软件上,依旧做出了当时很大的更新,该版本的图像质量以及游戏人物的动画效果,都非常的出色,以至于成了游戏玩家津津乐道的经典之作。尤其是经过了前作的大卖,宫本茂本人得到了极大的锻炼,不仅是故事情节,包括作曲都是宫本茂本人亲自操刀,因此这个版本的游戏是非常的具有可玩性。但是但是在街机市场,任天堂是挑战者,国内的老大是NAMCO,因此,只有软件非常突出的任天堂主机并没有取得前作那样突出的销量,算是差强人意吧。 任天堂也把这款游戏移植到了当时的掌机Game&Watch上,但是当时的Game&Watch已经有点落后了,因此这款游戏并没有在掌机上取得销量上的巨大突破,不过那款掌机上的一个设计元素,就是现在每款游戏手柄上都有的十字控制键,就是那款掌机上首先使用的,并且流传至今。类似于苹果手机之前,市面上的手机五花八门各种各样,大有百家争鸣的味道,但是苹果手机一出来,所有人都消停了,从此以后,几乎所有的手机都是那个样子了。任天堂的十字键控制器也是这么个效果。 我在前几期里也提到过山内溥老先生,他当时还不算太老,他从小就有一个志向要把任天堂纸牌公司打造成世界级的公司,但是,任天堂所进行的各种尝试,失败的多,成功的少。泡面,米饭,情人旅馆以及出租车,还有成人扑克牌这几个生意都尝试了一遍,基本上投资的钱是打水飘了。这时候突然发现游戏市场看起来还有那么点意思。山内溥老先生的雄心壮志又起来了,他要打造一个世界级的卡通人物,就像印在任天堂扑克牌上的米老鼠一样。山内溥的扑克牌上面印过米老鼠,印过唐老鸭,还印过玛丽莲梦露的裸体,他当然知道一个超级无敌的人物有多么巨大的市场号召力。他当然也想有一个这样的人物,然后,他觉得这个马里奥不错。因此,任天堂上下就开始发力打造马里奥这个卡通人物。 宫本茂同学接到山内溥的指令以后,就开始发力做一款以马里奥为主角的游戏,当然,这次不能是反派角色了,毕竟马里奥要扛起整个任天堂的大旗,靠一个反派角色肯定是不行的。所以,从此以后,马里奥只当好人,再也没有做过坏人。在这款几乎奠定了马里奥大局的游戏里,这款当时第一款双人模式的游戏《马里奥兄弟》,马里奥大叔第一次穿上了红色的吊带裤,他的弟弟路易基则比他几乎高两倍,瘦高瘦高的,穿着绿色的衣服,兄弟两人从事水管工的职业。这是他们第一个职业,马里奥大叔在游戏里的职业非常多,水管工只是其中的一个,他还当过医生,当过老师,当过搬运工。可能是下水道更能让人产生联想吧,毕竟一个黑乎乎的管子,下面能刺激人探索的欲望。但是实际情况,下水道的原理一点也不复杂,而且很容易堵住,以马里奥的那种身材,肯定100%钻不进去的。 另外一个震惊游戏界的事件是在1983年7月15日,任天堂在这一天正式发布了8位机的Family Computer,也就是我们所说的红白机。也就是任天堂最近重新炒了30年冷饭的游戏机。在这台游戏机上,可以运行任天堂的《大金刚》以及《大金刚Jr》。因为有了红白机加持,游戏和主机双双创出新高,短短四五个月时间,马里奥兄弟和红白机就超过了150万份,大金刚这款游戏,销量也达到了50万份。当年日本的游戏机市场属于群雄逐鹿,市场上的游戏机玩家号称16家主要玩家,哪知道半年过去,全部给任天堂干趴下了。任天堂成为老大以后,那些被干趴下的厂商总要找一条活路,任天堂这时候又扮演了救世主的角色,打一巴掌然后再给一颗枣。任天堂看着这群手下败将,大发善心说,来吧,任天堂需要你们,你们作为第三方来给我老任开发游戏吧,反正你们的垃圾主机也没人买,不给我开发,你们只能吃土了! 人在屋檐下不得不低头,这些游戏厂商,比如街机的霸主NAMCO也加入了任天堂的第三方,这是什么处境呢,类似于苹果公司的手机黄了,然后只好给安卓开发软件一样吧。任天堂的老大山内溥说:任天堂不应该成为靠贩卖硬件来赚钱的公司,开发软件才是一本万利。后来,那些奄奄一息的公司有些还要从任天堂申请资金,比如前段时间火热的宝可梦就是这样的一家厂商,去参加软件选秀,老任看顺眼了,赏几两银子让这些人出去写软件。在初期的时候,其实第三方厂商是没有选择的,因为老大是任天堂,再怎么压榨,只要有口饭吃,也不敢反抗。但是等到后来sony开始挑战老任的地位,这些受气的小弟,也开始反叛了。这是后话,不过真的是那里有压迫,哪里就有反抗。后来这些厂商着实捉住机会狠狠的背后捅了老任一刀,这一刀,帮助sony的PS登上了王者的宝座。以后有机会再说这个故事。 我们可以想一下,任天堂自己出游戏机,自己出游戏,这种叫第一方软件,软件硬件都是自己家的。还有第二方软件公司,比如说Sony公司下的顽皮狗,自己没有主机,但是这个公司完全是主机厂商控制,这种算第二方。第三方就是自己没有主机,只有游戏,而且公司和主机厂商一点关系都没有,只有纯洁的男女关系。按照常理推测,这种第三方软件厂商的日子能好过的了么,肯定要过那种仰人鼻息的生活。当年这些第三方厂商也是做街机的,论资排辈的话,很多还要比后来者任天堂资历要老一些,只是被后来者任天堂打败了,为了混口饭吃,当了任天堂的小弟。但是当年都是流氓,想自己单干的骨气还是有的。而且,任天堂做的确实也过分,第三方厂商出了游戏,那时候还不能网络下载,只能使用卡带。问题是,这个卡带只能任天堂生产。 比如说,就要圣诞节了,每个厂商都想把趁这个假期把游戏摆上,毕竟圣诞节,老爸老妈口袋看得比较松,能掏出不少钱来。连我这个30多岁不善言辞的程序员都知道趁假期卖东西销量会比较好,那些在游戏市场摸爬滚打了十几年的老流氓厂商能不知道这个信息么?他们1000%是知道的。然后他们就和任天堂说,我们想在圣诞节前促销,能不能给做出30万套卡带啊。任天堂嘿嘿一笑,说,好巧啊,工厂吃紧呢,一天24小时加班,我们也想圣诞节促销,马里奥的卡带还差50万,这么着吧,你们也别定30万套了,先给你做2万套,剩下的28万套圣诞节后再给你们。这时候这些厂商敢说个不字么?当然不敢的,你要是敢翻脸,任天堂敢给你制作200个卡带。所以这些厂商的日子非常的难过。还得陪笑脸说两万套就两万套,谁让我们第三方没出息,输掉了主机战争呢。然后任天堂也是笑脸相送,说,你们不是30万套么,先给你2万套,剩下的28万套圣诞节后给,对了,别忘了明天把这30万套卡带的生产费给提前给了。 可能有听众不是程序员,也就是网上所的码农,也许对这种情况了解不深入。这种第三方的遭遇和普通程序员的日常生活差不多,比如一个普通程序员加班了36个小时,被项目经理改了20多次需求,然后晕头转向的回家后发现,女朋友跟人家跑了,只好吃了一包方便面后又回公司上班,越想就越郁闷,想到项目经理,想到跟人家跑了的女朋友,很气愤的吐了一口在地上,结果又被美工发现,告诉了领导。领导过来教育了一通,还罚款了100元,下午公司开会的时候,把这100块奖励给了项目经理。就这样,当年第三方的软件厂商,基本上的待遇也就这个样子吧。 任天堂在很长一段时间里就是这么一副嘴脸,其它的厂商,尤其是第三方,非常的郁闷。因此这导致了一个很诡异的现象,只要出现一个新的主机,这些被任天堂压榨的半死不活的第三方厂商,就抱着碰见枣树,不管有枣没枣就打一杆子的心态,全新全意的想扶植出一个可以和任天堂抗衡的老二。历史证明,在任何一个国家,任何一个行业,一旦形成了一个党派巨头,一个企业巨头,遭殃的都是老百姓。我想,大家生活中应该非常有体会。因此,不少游戏厂商,冒着被任天堂抽皮鞭的危险,给犄角旮旯的小厂商制作游戏,简直就是抱着必死的心,要扶植另外一个老大出来。比如,当时美国市场的EA公司,也是现在的PC游戏巨头EA公司,就扶植SEGA的机器,SEGA在美国一度和任天堂平分秋色,搞得第三方游戏厂商心花怒放。 但是任天堂心狠手辣,谁敢给SEGA的MD游戏机做游戏,在美国我治不了你,等你们敢回来日本,皮鞭手铐蜡烛油都准备好了,看看谁敢当出头鸟。结果,真的有出头鸟,比如后来被科乐美收购的Hudson公司,就冒着生命危险支持NEC开发的主机PCE主机,当时曾经任天堂的大哥NAMCO公司,也偷摸的给PCE主机出游戏,曾经的大哥成了现在的小弟,曾经的小弟成了现在的大哥,这就是NAMCO和任天堂之间的故事,为此,现在的大哥任天堂直接把NAMCO降级了,不管你出啥游戏,我这里不是推就是拖,反正就是不让曾经的大哥舒坦。结果,NAMCO怒了,你任天堂不念旧情,然后两家公司从媒体开始对骂,一直骂到法院。毕竟曾经的大哥也有一手,最后搞的假新闻横飞,违反了社会主义价值观,坐牢的记者好几个,被免职的主编好几个,电视台互喷的也是好几个。最后任天堂还是占了便宜,NAMCO被任天堂打入冷宫,沦为了和不知名小厂一样的待遇。但是,君子报仇,十年不晚。NAMCO也不是软柿子,这个仇还得忍几年再说。反正,这口气肯定是咽不下去的。NAMCO要等待另一个刺客,这个刺客就是Sony,不会等太久了,Sony已经背着刀上路了,到时候一刀就把任天堂撂倒了,当然,曾经受气的这些第三方厂商功不可没,这些厂商背 后起哄家秧子的事情没少干。这个故事慢慢再说。 那为什么我花了这么长时间介绍这个呢,感觉和马里奥没啥关系啊,其实呢,关系非常大。马里奥的起起伏伏和任天堂主机的起起伏伏密切相关,因为,马里奥这个角色是任天堂的王牌,不可能出现在其它的主机上。而且任天堂也绝非一帆风顺,比如到1990年的时候,SEGA的游戏机一举在美国超过了任天堂,到1991年竟然达到不可思议的70%的市场。而就在这种危机的关头下,任天堂推出了《超级马里奥世界》这款游戏,任天堂不惜重金聘请当时日本超级影星田中律子出演马里奥广告,仅用了半年,《超级马里奥世界》这款游戏销量就突破了100万份。 当Sony发布Play Station结束的时候,记者采访山内溥说有什么看法,山内溥面无表情不屑的说,如果这个破玩儿能卖出100台,我头朝下走路。后来的故事我们也耳熟能详了,如果说SEGA对任天堂来说是长征路上的小考验,那么Sony公司的久多良木健则一刀就把任天堂砍翻在地。甚至当时的人们看到PlayStation精美的画面的时候,很多的专业媒体以为这是骗局,根本不可能做出如此精美的画面。 时间又不够了,如果我录的时间太长,超过30分钟,腾讯就不允许上传,文件太大,腾讯也不允许上传。不过大家放心,现在是73期,直到100期的时候,我不打算挖新坑了,就是填一下以前的坑,尽量把任天堂以及与任天堂有交手的公司的坑给填满。比如Sony的游戏机,还有微软的游戏机。 我算是个任天堂的粉丝,谢谢大家收听,下一期再讲新的故事。也是关于软件和游戏的历史,我这个公众号不更风讲正在发生的热点,比如肯定不会出现王宝强离婚或者美国大选的事情。因为这种事情,有太多的媒体在做了。我不是个媒体从业人员,我只是个程序员,希望做100期节目,现在是73期,讲一讲我热爱的这个行业里一些不为人知的老故事。希望能有人喜欢。我写文章,从来只给一个人看,就是考试的时候给语文老师,或者阅卷老师老师一个人看,没想到,在这里写文章,最多的时候竟然能有300来人看过,感觉是非常大的进步。 好,谢谢大家,下期再见。

25分钟
62
8年前
EarsOnMe

加入我们的 Discord

与播客爱好者一起交流

立即加入

扫描微信二维码

添加微信好友,获取更多播客资讯

微信二维码

播放列表

自动播放下一个

播放列表还是空的

去找些喜欢的节目添加进来吧