星期日, 七月 14, 2002

文王之拘

2002年7月14日

众所周知,周文 王当时被抓起来关在号子里的时候,住的是单间,没有人可以和他交流思想。百无聊赖之下只好自己给自己写书看解闷,于是有了《周易》。今天有人说这是一本算 命书,还申请了项目用周易来预测本拉登患有哪几种慢性病。这是不对的,其实《周易》是一本数学著作,文王是个发明家,他造出了世界上第一台计算机。

事情是这样的:文王住的号子卫生条件不是很好。虽然他是政治犯,政府不敢给他饿饭,相反还每月初一十五给他吃十斤四指膘的回锅肉,但是纣王的对人权的认识也就限于生存权而已,所以每年开春之前几天才想到派人给打扫一次。这样文王吃不完的肥肉就老是会招来很多的蚂蚁。

刚好这时候文王发明了二进制,洞晓了二进制运算的基本原则。他看见满地乱爬的蚂蚁就象是一团一团数字“一”在流动,激动得睡不着觉,于是就用床上垫的干谷草做了一套极精巧的机关。比如一根谷草管子,中间挖开掐下去一截,就成了一个单向的阀门,只从一边撞得开。蚂蚁从A端进去,可以从B端爬出来;但是从B端进去就只好原路返回。用今天的术语说,这是个二极管,可以控制数据的流向。

更精巧的装置是 一个小盒子,连着两根进去的和一根出来的管子,随便蚂蚁从哪个入口进去,最后都会从出口出来,这就是“或门”。同样的盒子,出来的阀门捏得紧一些,要两只 蚂蚁一起才撞得开,就相当于“与门”。“非门”还要复杂些:一根丝线吊俩托盘,分别靠近一出管和一入管,就象是个迷你天平。左边出管没有蚂蚁的时候,天平 是平的,别的蚂蚁可以爬进右边的入管。左边要是来一蚂蚁,托盘就会下坠,右边托盘上升正好堵住入管的口,蚂蚁就爬不进去了。学过数字电路的人都知道,有了 这三种门,就可以表示一切逻辑关系,所以又叫“三个代表”。

文王就用这三种门造了一台机器,有数不清的入口和出口,每个出口的地方都安了一块大肥肉,可以吸引源源不断的蚂蚁从入口进来长途跋涉,一路上推动各种机关,最后的结果可以通过观察每块肥肉上的蚂蚁数目得到。这台机器可以计算每天日出的时间,所以叫“曙光”一号。

再后来文王发现“曙光”一号有个重大缺陷:它计算的函数是固定的,也就是说不可编程。每次算新的问题都要造台新机器,肥肉很快就捉襟见肘了。于是他不吃不喝三天三夜,想出了另一样值得每个中国人骄傲的发明:一个微型陷阱,蚂蚁掉进去就出不来----除非安排另一只蚂蚁从外面把一个侧门撞开,这时候就可以知道里面以前究竟有没有蚂蚁。大家可能已经看出来了,这就是一个一比特的存储器。有了存储器,文王又造了一台“曙光”二号。每次捉些蚂蚁放在不同的存储器里,就可以改变算法算出不同的函数。

到了“曙光”三号,文王已经研制成了点阵显示技术:机器的出口排成一个1616的 方阵,每只出来的蚂蚁都背着一粒大米,这样计算结果一目了然,就不用再把一块块的肥肉翻来覆去的看了。有时碰上复杂的函数,文王等不到计算结果就睡着了, 忘了关机。第二天早上一看,所有背米的蚂蚁都累死了。为了防止这类惨剧重演,文王又做了一个改进:结果出来两个时辰之后机器自动把所有蚂蚁放走。这就是今 天屏幕保护程序的原型。

到《周易》写完 第二稿的时候,文王已经在开始制造彩色显示器了,办法是让蚂蚁背红豆、绿豆和蓝草莓颗粒,而不是大米。需要说明的是蓝草莓是很紧俏的食品,只在每年祭天的 时候有得吃。文王一开始是把自己一块皂蓝色头巾撕成碎片做蓝像素,但发现蚂蚁对它们不感兴趣。不幸当时祭天刚过两个多月,只好又等了快十个月到来年祭天才 得以继续试验。由此可见科学研究来不得半点浮躁。

号子里不光有蚂蚁,还时不时有个臭虫什么的。有时臭虫也凑热闹往文王的计算机里钻,但它们个头大,常常把管子堵住,搞得程序算不出结果。这时候文王就要把管子取下来,掏掉臭虫再装回去。所以今天又管程序里的错误叫bug

根据以上事实, 我有充分理由相信,要是给文王足够多的时间,发明键盘、鼠标、游戏杆和新全拼输入法也只是迟早的事。当然搞历史的人不是这么说的,他们会说:计算机是巴贝 奇发明的,把程序放在存储器里是冯诺伊曼的主意,文王不过是歪打正着发现了二进制。但这帮人也说过孔夫子是地主阶级的忠实走狗,胡适是反动文人。你要是信 他们的,我也没有办法。