五千年(敝帚自珍)

主题:Dylan Beattie:未曾存在过的互联网 -- 万年看客

共:💬2 🌺18
全看分页树展 · 主题 跟帖
家园

大约与此同时,此前一直忙着销售Solaris电脑的太阳微系统公司也发明了一种语言,起名叫做Java。他们正在大力推广这种语言,希望所有人不管干什么都用Java。他们找上了完美数字,“我们非常希望你们也能采用Java。”完美数字答道:“这个嘛,我们其实已经看好了一种语言。”“那你们能不能给这种语言改个名字?你们现在管它叫什么?”“HyperLisp。”“能不能改成JavaLisp?”于是他们将保罗.格雷厄姆叫来开会。在接下来的漫长下午,格雷厄姆详尽解释了自己的设计哲学。他向他们介绍了Lisp的历史,他介绍了符号类型,他在那天下午的讲话日后将会以文章的形式登上格棂网,标题是《Blub悖论》,讲的是为什么编程语言并非生来平等。等到这天下午结束的时候,Java基本上已经断气了,HyperLisp大获全胜。之所以HyperLisp能够获胜,是因为格雷厄姆指出,HyperLisp的每一段编程代码同时也是表达式,每一则表达式都是数据结构。用户用不着序列化或者反序列化任何内容。你可以将随便一个执行了一半的程序转化成数据结构,顺着网线发送给客户,对面收到之后略微复原一下就能继续运行。这是进行分布式客户机/服务器应用的强大模式。格雷厄姆告诉财务人员:“这一点意味着任何一个使用你们的应用的人都将自己的电脑贡献给了你们,让你们在他们的电脑上运行代码,这一来你们将会省下大笔基础设施开销。就像DNS一样,使用你们的解决方案的人们越多,你们的运算能力规模也会随之变大。”Java就此出局,客户机/服务器格棂网编程的未来属于HyperLisp。

谁想看看HyperLisp什么样?你们肯定想看。

~html(lang:en){

~metadata{

~title{Hello World in HyperLisp}

}

~code(type=text/hyperLisp){

(bind (document "load" )

(lambda (element event)

(alert "Hello World!"))))

}

~document{

~h1{你知道,HyperLisp就是未来!}

此时的html已经进化到了4.01版本,因为4.0的规格有拼写错误。你可以将整块HyperLisp代码嵌入你自己的代码。Lisp代码要从后往前读,因为它用的是前缀表示法。我们要将文档的加载事件——我不会说文档对象,因为Lisp没那么笨——我们要将文档的加载事件与Lambda表达式绑定。到时候就将触发元素与被触发的事件传递下去并且运行代码,代码就是alert(Hello World)。接下来我们再看一个略微复杂一点的例子:

~html(lang:en){

~metadata{

~title{Server postbacks using HyperLisp}

~code(type=text/hyperLisp){

(bind (main-form SUBMIT)

(lambda(element event)

(set-va1ue greeting-span

(grid SUBMIT"grid!foo.com/greeting") (get-value element)))

}

~document{

~h1{你知道,HyperLisp就是未来!}

~form(method:SUBMIT,id: main-form){

~input(type:text){你叫什么名字?}

~input(type:button,action:submit){行动!}

}

~p{Hel1o,~span(id:greeting-span)}

}

现在我们的页面上有一张表单,我们要将提交事件与Lambda表达式绑定。从后往前读,我们能看到这里用了格棂网提交方法。这样一来网络代码也成了这段代码的一部分,可以向服务器发送回调并且从服务器那里获得回应。得到回应时——这个过程故意被设计成异步进行的,因为为啥不呢?——就会将范围数值设定为服务器发回的回应。下半部分是一段范例式标记语法,具体来说是分布式客户机/服务器应用。在某个平行宇宙里,将会有人花费十年时间试图让Java实现同样的功能,还给最终成果起名叫Ajax,简直难用得要死,而且还得花钱买。现在这些代码则是免费的。因为Lisp包含了符号类型,你可以将元素与浏览器的基本运行时间直接用符号标记,用不着命名空间与限制。我们可以在变量名里面使用连字符,因为算术运算符用得都是后缀注释。在另一个平行宇宙里,人们会因为代码风格没完没了地开会,该用空格还是骆驼命名法又或者该用下划线。但是在我们这个宇宙,所有人都公认该用连字符。Lambda回调实现了客户机/服务器异步沟通。总之这是一个简单、优美而又强大的编程模式。

正当我们忙着研究Lisp语言的全部潜能时,窗外突然鼓乐喧天。却原来完美数字公司刚刚推出了GEM95,有史以来最强大的桌面操作系统。为了给庆功会助兴,他们甚至邀请披头士乐队再度聚首。这款系统自备格棂网浏览器,从基本层面上就与格棂网整合成了一体。他们还推出了免费版本的WordPerfect——这款赠品不支持打印机——用户可以拿来撰写文档并且直接发到格棂网上。他们的浏览器还配备了虚拟返回键。所有人对这款产品都爱不释手。未来一片光明——除非你为苹果工作。

自从将乔布斯扫地出门之后,苹果公司就每况愈下,如今正在苦苦摸索。他们需要走一条新路,他们需要新的操作系统,他们需要新的品牌。基本上他们需要改弦更张。时任苹果CEO的吉尔.阿梅里奥有一次在董事会会议上提出:“要不然我们把Next收购了吧,顺便把乔布斯请回来。”这项愚不可及的提议引起了哄堂大笑。乔布斯可是被他们一脚踢到马路对面去的,他根本不可能再回来。不过乔布斯并不是唯一一位远见卓识并且离开苹果的工程师。Be.Inc是一家创业公司,他们的主打产品名叫BeOS,是一款全新的高性能操作系统。这款系统为在线流媒体提供了专门的线程支持,可以在线实时沟通,还能编辑音频。Be意识到,尽管他们的操作系统非常优秀,但是要造一款同样优秀的电脑来承载这个系统却殊为不易。

于是他们改变了策略,转而在外界寻找合适的硬件。鉴于设计这款系统的两位工程师都曾经任职于苹果,他们决定将这款操作系统导入苹果硬件。于是他们安排了与苹果公司的会面:“我们有一款优秀的多线程实模式/保护模式操作系统,你们有没有兴趣收购?”苹果大喜过望,这正是他们一直在寻找的东西。他们喜欢BeOS的界面风格,也喜欢这个品牌。接下来问世的下一款苹果电脑被媒体戏称作“香蕉盒子”。此前的个人电脑外壳要么是米色要么是黑色,还从没有人想过选择明黄色。所有人都想在自己家里摆上一台。而且这款机器还配备了神奇的BeOS操作系统。现在苹果唯一欠缺的就是一款格棂网浏览器。

于是苹果开始打电话,先联系了Cello团队,对方表示我们已经与完美数字合作了;然后苹果给国家超算中心打电话,对方表示Mosaic本来就是开源的,而且近几年已经不太中用了;再然后他们打给了挪威电信公司,对方表示真巧,我们还当真一直在开发一款格棂网浏览器名叫Opera,现在我们想不好究竟要拿这东西怎么办。于是Be、苹果与挪威电信三方决定合作。苹果买下了Opera的源代码,Presto渲染引擎,以及运行这一切的网络堆栈,然后将这款浏览器更名为BeLink。因为自动纠错机制,这个名字立刻就被改成了Blink。Blink支持一切格棂网协议与功能,还具有十分犀利的编辑器。于是苹果一夜之间又重新成为了一线竞争者,面对运行完美数字系统的米色山寨机巨无霸也丝毫不怵。

全世界的人们都安装了这样那样的系统,铺天盖地地发布网页。人人都在拨号上网,人人都在免费领取5MB的线上存储空间。因为在本时空我们从未发明过庞大的Java框架,所以5MB的空间绰绰有余。这样一来在格棂网上找到好东西就变得非常困难,因为人们什么垃圾都往网上放。他们觉得只要先吸引住用户,日后慢慢再想怎样通过流量赚钱也不迟。于是格棂网计算的下一个难题就是如何寻找内容,如何找到我们想看的东西。在斯坦福大学有两位博士生,一位名叫谢尔盖.布林,另一位名叫拉里.佩奇。两人在车库里捣鼓出了一套算法,起名叫做BackRub。之所以起这个名字是因为算法可以通过指向某个文件的链接数量来判断这个文件多么可信。如果许多网页链接都指向你的网页,那么显然你很重要。如果你的链接指向了另一个网页,那么那个网页大概也很重要。这是个非常聪明的想法。两人都认为这个点子大有可为,是不是该改个名字?佩奇说:“我孩子那天在学校里学到了一个数字名叫google,一后面跟着一百万个零。我觉得这个名字比BackRub好听。更何况我们还没成立公司,名字要是不响亮人家根本找不着咱们。”于是他们给算法改名谷歌然后去注册域名。不过又是因为自动拼写纠正的原因,最终注册成功的域名是Goggle.com。

够格搜索引擎一经问世就大受欢迎。它的主页采取极简主义设计,而其他格棂网门户网站的页面全都塞满了广告。问题在于佩奇与布林完全不知道应该怎样通过够格来赚钱,因为他们坚持要将够格无偿提供给人们使用。于是他们开始寻找商业计划,而且还不能是收广告费。然后两人接到了一通电话,电话那头是史蒂夫.乔布斯。乔布斯正在酝酿一项大动作,很有兴趣收购够格的网页排序技术。我们不知道接下来双方的商谈细节,也不知道这笔交易的成交金额是多少钱。但是我们知道接下来发生了什么。

1999年4月,计算机行业的新闻记者们都在谈论千年虫。一旦到了新年午夜,无数核导弹就将拔地而起毁灭全人类,因为我们处理不了四位数日期什么的。但是这一天,千年虫恐慌突然被打断了。硅谷里的每一位计算机记者早上一上班就发现自己桌面上摆着一个黑信封,信封里是一张黑色的卡片,卡片正面印着一行字:“准备好迎接下一代。”卡片背面印着时间地点:“门罗公园露天剧场,1999年5月4日。”记者们的第一反应是《星球大战》要出续集,因为5月4日是原力日。于是他们给乔治.卢卡斯打电话,卢卡斯影业表示:“少开玩笑,脑子有病的人才会给星战拍续集。”各种流言越发喧嚣,谁也不知道“下一代”究竟是什么意思。

5月4日到了,门罗公园剧场里人头攒动。上午九点,全场骤然鸦雀无声,因为史蒂夫.乔布斯走上了舞台。他先谈了几句格棂网与数字出版,技术如何赋权普通人,信息技术如何冲击了社会。正当人们寻思着他到底想说什么时,乔布斯从讲台下面掏出了一台……那是什么?笔记本电脑?乔布斯将这款产品称作NextBook,谁都没见过类似的东西。它的厚度不到一英寸,外壳由一整块铝车床加工而成,颜色是端庄典雅的阳极电镀黑色。外壳上看不到磁盘驱动器开口,看不到光驱开口,看不到串行端口。有人忍不住嘀咕:“那可怎么连接打印机?”旁边的人小声答道:“还连接什么打印机?这可是未来!”外壳上的开口就只有两个USB端口与一个耳机插孔。人们开始窃窃私语:这玩意怎么连接别的设备?怎么玩游戏?没有磁盘驱动器要怎么运行《模拟城市》?

这时乔布斯终于放出了大招。事先潜伏在观众席里的工作人员——二三十名苹果员工——从各自的座位底下掏出NextBook,掀开盖子,屏幕上赫然是乔布斯在台上讲话的在线直播。在这一刻之前从没有人听说过Wifi这个词,从没有人看过在线直播视频,从没有人见过这样的笔记本。记者们忘记了自己身为采访人员的本分,一个个挥动胳膊肘顶开别人的脸,从后排座椅爬到前排,只为仔细看一眼这款产品。他们全都被惊得目瞪口呆,忘记了自己还要写采访稿。因为谁都没见过这种东西。这是全世界最轻最快的笔记本,主频336兆赫,ARM Risc处理器,主存空间64MB,闪驱空间5G。它的操作系统是Next公司自行开发的NextStep。它内置无线网络连接。买一台Next配送一个名叫NextExtender的盒子,尺寸相当于一本精装书,装有光驱驱动器。将此物插在电话线接口上可以为全家提供无线网络,将用户从电话线接口周边解放了出来。最后,NextBook当然也配备了自己的崭新格棂网浏览器Nexus。Nexus的基因可以一直追溯到十几年前蒂姆.博纳斯.李在Next系统上开发的第一代格棂网浏览器。它响应迅捷,它具有最快的HyperLisp解释器,而且它还与够格搜索引擎实现了完全整合。不管你要找的东西是在文件夹里、备份文件里还是在电子邮件里,只要挂在格栅网上就一定会被搜到。乔布斯王者归来,下一代闪亮登场。

千年虫来了又去,核导弹并未拔地而起,没有人丧命,但是我们全都经历了难忘的宿醉。计算领域的下一代看上去是这样的:乔布斯的Next公司主打NextBook、Nexus浏览器以及蒂姆.博纳斯.李最初设计的操作系统;苹果公司的香蕉盒子电脑运行的是从挪威电信买来的Blink;完美数字主打GEM/95办公系统,可以一路追溯到法学院图书馆员发明的Cello浏览器;最后太阳微系统公司居然一直还在经营:“我们的Mosaic浏览器支持Java!”可是谁都不理会他们,但是他们花了大钱做市场营销,一时半会还不会离场。

然后任天堂又搞出了一条大新闻。自从吉姆.克拉克、马克.安德森、约翰.卡马克与约翰.罗梅洛在西雅图聚首以来,已经有很多年没人听说任天堂有什么动静了。他们确实制作了一款大受好评的《超级马里奥:雷神之锤大冒险》,但是之后又没了消息。直到2002年圣诞节,任天堂突然推出了一款号称要改变世界的全新平台,名叫Reality。这是一款用VR技术支持的大型多人在线游戏,提供浸入式全3D体验,一经问世立刻风靡全球。卡马克与罗梅洛终于将尼尔.史蒂芬森构想的元宇宙或者威廉.吉布森在《神经漫游者》当中描写的矩阵世界搬进了现实生活。图像代码、数据可视化、交互界面出自两位约翰之手,联网代码来自安德森,驱动一切的3D图像引擎是硅图的直接后裔。虚拟现实从此终于成为了现实。

今天的我们简直无法想象,没有这些技术的生活会是个什么样子。你能想象一个没有Blink、没有HyperLisp、没有BeBox与NextBook的世界吗?那也太扯了吧。

不过,我刚才讲的这个故事究竟几分真几分假呢?

1981年,IBM确实曾经到处寻找操作系统。他们确实敲响了加里.基尔代尔的房门,想买他的CPM来搭配自己的个人电脑。但是当时基尔代尔并不在办公室。当天天气很好,所以他开着飞机兜风去了。这个故事还有另一个不那么浪漫的版本:基尔代尔只是单纯不喜欢IBM,于是告诉对方赶紧滚蛋。不管怎么说,IBM第一个找上了基尔代尔,他则拒绝了对方的邀约。于是IBM又找上了名单上排名第二的人物,一位创业精神强烈的青年人,名叫威廉.亨利.盖茨三世,简称比尔.盖茨。此人搞了一个名叫微软的操作系统。顺便一提,在我们刚才设想的平行宇宙里,此时的盖茨正在西雅图经营一家十来个人的工作室,忙着构建一款HyperLisp漏洞清除工具。或许只要IBM再坚持与基尔代尔多碰几次头,微软就将无法成为日后那么庞大的公司,而使用完美数字操作系统的IBM个人电脑将会席卷全世界。

至于蒂姆.博纳斯.李与万维网呢?

【记者:请允许我问一个历史问题。我们现在生活的这个世界一定程度上是由你构建的。如果有可能的话,你希望从头再返工一遍吗?你会做出若干修改吗?在哪些方面你会换个做法?】

【李:这是个好问题。当然我们不可能从头再来一遍,不过确实有些小事我觉得可以再改一下。比方说当初设计URL格式的时候,我把开头设定为https://。双斜杠的用意是表明我们从顶端往下展开,不过这样一来冒号就没用了。可是现在人们全都不会将冒号与双斜杠分开使用。现在想想,我真用不着加上双斜杠。现在就连广播电台的播音员都说什么“斜杠斜杠”。想想吧,假如当年我去掉了双斜杠,每年能节省多少油墨?】

HTML呢?这款语言脱胎自标准通用标记语言或者说SGML,这就是尖括号的来处。此外SGML也不是唯一的标记语言。LaTeX自从二十世纪七十年代初就存在了。CERN的许多工作人员都很熟悉LaTeX。HTML很容易就会换一套基础。微软自从八十年代后期就开始使用富文本格式,这也可以成为HTML的基础。

嵌入Lisp作为编程语言的想法并非异想天开。保罗.格雷厄姆确实成立过一家ViaWeb公司,他与合伙人确实在二十世纪九十年代中期尝试过用Lisp构建网络服务器。后来格雷厄姆将ViaWeb卖给了雅虎,成为了百万富翁。他用这笔钱成立了创业投资公司Y Combinator。至今Lisp语言依然嵌入在各种程序里。AutoCAD与Emacs都嵌入了Lisp系统。Lisp是天然的编程语言。甚至有一则逸闻声称,当年网景浏览器想要拉拢布兰登.艾奇为他们效力,因为他们希望将Lisp嵌入网景浏览器,最后由于时间与营销两方面的压力才改用了JavaScript。

约翰.卡马克与约翰.罗梅洛确实将《超级马里奥兄弟3》成功地导入了IBM个人电脑,也确实给任天堂寄去了样本磁盘。但是在我们这条时间线上,任天堂的反应并不是“干得漂亮,来为我们工作吧”,而是“干得漂亮。不过这玩意要是让其他人看见了,我们就要把你们俩告得连亲妈都认不出来。”任天堂根本不想制作电脑版的游戏,唯恐有人盗版。插入式卡带这一硬件就是最有效的版权保护机制。

吉姆.克拉克与马克.安德森确实差点与任天堂签约去研发联网游戏。那样一来网景浏览器将永远不会问世,马克.安德森也将无法成为《时代周刊》的封面人物,光着双脚站在一大堆现金跟前。这两个聪明人当时面前摆着好多项目:“这个项目挺好玩,那个项目也挺好玩。要不我们还是干那个吧。”这都是一念之间的事。

Cello浏览器确实存在,依托微软系统运行。作者的确是康奈尔大学法学院图书馆馆员托马斯.布鲁斯。BeOS是确实存在的操作系统,确实由两位曾经的苹果员工编写。BeOS背后的工程师们确实见过吉尔.阿梅里奥,那之后苹果就当真收购了Next,将乔布斯拉拢了回来。乔布斯则为他们带来了IMac、IPod与IPhone。苹果之所以能从死亡线上挣扎回来并且一举成为市值万亿的巨无霸,几乎完全仰赖他们在九十年代乔布斯回归之后采取的行动。

谷歌确实差一点就被卖了出去。他们曾经想以八十万美金的报价将谷歌卖给另一家搜索引擎Excite。此时的谷歌已经站稳了脚跟,打响了名声,掌握着非同一般的技术,唯独缺乏商业计划。话说回来谁还记得Excite?有人用过这个引擎吗?这是个门户网站,也有自己的搜索引擎,只要掏出八十万美金就能拿下谷歌。但是他们拒绝了:“抱歉,我们认为贵公司没有发展前途。”现在谷歌基本上已经拥有了整个互联网,时刻倾听着我们说的每一个字,记录着我们的每一项行为,以备日后不时之需。

今天这场报告的用意是引人思索并且介绍一点历史。但是我认为这场报告的关键思想如下:我们如今每天应用与依赖的许多系统之所以存在,并非因为有人殚精竭虑找到了最佳解答,做出了最佳决策,组建了最佳团队,抓住了天时地利人和的最佳时机,而是因为有人捣鼓出了一个还过得去的解答,问题随即变成了“这玩意应该怎么应用?接下来往哪里发展?”计算行业有一个现象名叫分析瘫痪,指的是人们会被无数选项淹没。毫不夸张的说,你想做什么都行,你可以在几十个不同平台之间选择。于是今天几乎全部网络研发活动依靠得都是一款差点就不存在的浏览器,因为发明人差点就投入了游戏行业。我们用的编程语言当初仅仅花了十天时间拼凑起来,因为太阳微系统公司施加了巨大的营销压力。这一行的决策无所谓对错,有所谓的仅仅是决策过后有没有继续进步的能力。正如之前所示,我们的进步方向原本可能与眼前现实相差甚远,或许今后我们的进步方向依然捉摸不定。但是既然我们都在现实世界,那我祝愿大家尽情享受Chrome、FireFox、Safari与微软Edge。只是别忘了,还有另一个互联网从来没有存在过。谢谢大家。

通宝推:桥上,
全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河