20111221

我早就说过

我早就说过

"我早就说过",经常有牛人说出这一句话,配合气场,一般代表我多么地牛啊,
早就有些先见之明。有时候,还附带对听众的嘲笑,你看,你们居然不识货。

我们常听到:某某观点我们祖宗早已有之,某某技术不过是啥啥技术的翻版……

再来看两个例子。

云服务的。当年,我整了几张大纸,画下了一个方案,命名为"科技改变生活",
内容是把计算和服务、软件都放在主机端,终端都用计算性能非常性的机器,只
负责显示。跟丁老师聊,他认为,这根本不可能。几个月后,云服务的概念正式
提出,当然,由别人,不是我。

我的先见之明值得自豪么?不。因为我只有瞎扯的能力,如果整不出来,我也不
用负任何责任,所以,我也没有投入所有家当去整这个极有前途的东西。

又。ZHUMAO有天提起来,他刚工作,或者还没工作的时候,跟我提到可以在计算
机里面装两个操作系统,一个跑在另外一个里面。我完全不相信,我觉得只有多
启动这一类的吧,怎么能一起跑呢。他说我都装出来了,我也不相信,直到亲眼
见到。说实话,我忘了这事很久了,因为不是我的光荣史的一部分。经他一提,
才想起来。ZHUMAO同学比我在云服务中的表现要好多了,他真的搭了个虚拟机出
来。

我没有这种先见之明很应该惭愧么?也不。因为,即使我能预见到虚拟机巨大的
市场和技术潜力,我也没有能力实现。自己无法实现的事情,远观则可,没有必
要为没生出来的鸡蛋们打碎了而悲伤。

前几天去学习精品课,听到两则八卦,也能说明类似的问题。某学校有个计划:
根据学生的既有表现和举趣,为学生提供下一步的建议,该学生该看什么,都可
以计算出来。

很有雄心的计划,问题是,用什么样的技术手段可以实现呢?对于无法实现,至
少我们无法实现的东西,讨论到细节和投入资金,除了丰富一下想像力又有何益?

另一个故事。说一位博士设计了个CPU,能在o(n^7)--可能是7--时间复杂度内解
决某个问题。更牛的人判定,这个问题像是个NP难问题,也就是说,这个问题理
论告诉我们,不能在这种时间内解决。即1.这位博士创造了奇迹,他很快就要得
图灵奖了,整个计算机行业的数学基础也快要换了;2.他整错了。

在严格地论证以前,你更愿意相信哪个?

能尽早地判断美好地梦想不能实现,并承认这一点,非常重要。甚至比美好梦想
本身更重要。

判断那是美好梦想还是可能未来的一个重要的方法:你是否具有实现它的能力。

如何度量能力本身呢?

我并不太知道能力应该如何,不过,对于这种能力不是什么,我略有考虑,与你
分享。

实现梦想的能力,不应该是聪明和飞跃的。

《三宝大闹宝莱坞》里,编剧和导演为了表现主角是聪明睿智的,设计他完成了
以下任务:用照明灯的电惩罚向门上撒尿的学长、带无线摄像头的四旋翼直升机、
把危重病人绑在自己身上用两轮摩托车送去医院……用自行车带动(发电?)电推
子剪羊毛。各种聪明的做法。这些都很了不起,但是这些做法有个共同的特点,
使得它们的效用受限,那就是,这些做法不能用于设计航空母舰、航天飞机、导
弹,甚至AK47。我们在这些工业成果中,看到的是智慧,聪明无所置其身。

也许吧,印度和我们一样,作为第三世界国家,对于技术具有这样的幻想,我们
认为英雄可以拯救世界。而事实上,即使有一千个刺客,也不能攻下四平。孙子
说,以正合,以奇胜。没有正,奇是没有用武之地的。杀伐掠地,最终靠的还是
野战攻城,而非奇技淫巧。

《黑客与画家说》编程有三个层次:

: (a)使用一种强大的语言,(b)为这个难题写一个事实上的解
: 释器,或者(c)你自己变成这个难题的人肉编译器。

使用lisp语言,就是方案a;先写接口和函数库,或者写个dsl,大致相当于方案
b;用设计模式,或者把可能用编译器或者lisp macro生成的代码用手一行行写出
来,大致是方案c。

作者暗示我们,方案a是最高妙的,方案b等而下之,方案c最基础。

估计有很多人想,俺们应该按方案a行事。

问题是,如果你能够使用lisp macro的话,有一个前提,你本人必是编译器/解释
器的专家,才有能力运用这种高级的特性。利剑在一个居家的妇男手中,可能还
不如切菜刀好使。如果你想用方案b,写个解释器,除了要具备写解释器的能力
外(此时不需要具备lisp macro的运用能力,也不需要会lisp语言),有一个前
提,那就是你本人必须能像编译器生成代码一样用手把代码写出来。你只是不想
这么做,不是没有这样的能力。

你自己能完成的任务,才能指派别人去做。自己没有能力完成,却偏偏觉得别人
能够完成,而能够完成的人还不如他,这样的人也存在,不过大家面对他的时候
都感觉不太爽。

而很多人的问题是,代码写得尚且人和编译器都不忍卒读,又怎么可能写出解释
器,或者更高级地用lisp macro作为编译器生成出代码来再执行呢。

作者这样说,固然指出了一条光辉大道,但这大道必须从脚下走起。他只是没有
指出我们和他之间的鸿沟,估计会令很多人淹死在眼前的小河沟里。鸿鹄之飞固
然舒展而高级,不过虫子有虫子的移动之法,那就是爬。更何况同样飞得不错的
蝴蝶,当初爬得也是飞快的,虽然可能并不是最快。

这里,还需要小心,实现的能力,是指能切实操作的能力,而不是感觉似乎大概
可以。

能够和不能够,二者必居其一。"差不多"这种程度,根本就不存在。

我初中的学校,以前提过,是山上片,升重点高中比例不高。每年大约十多个。
也就是说,如果你不是在这十多个里面,你是25名,27名,又或者
100名,150名,在升重点高中这一点上,是没有什么差别的。

要么行,要么不行,"差不多"的内部,没有级别。而不行和行之间,有天渊之别。

大学刚入学的时候,我以为我的听力老好了,还去过外语系请教学长,应该怎么
才能学得更好。很多年以后我才知道,如果只是听个一知半解,再加上看字幕或
者根据故事情节猜测,那根本不能算是听懂。要知道,一句外语也不会,光靠表
情,我们就能跟老外聊个半天。

但是,你能告诉他你对于世界局势的看法么?你能精确地传达,斜上45度角倾望
天空是当今很多被另一些人称为脑残青年的生活态度,这样复杂的含义么?又或
者:

: Lisp functions take Lisp values as input and return Lisp values. They
: are executed at run-time. Lisp macros take Lisp code as input, and
: return Lisp code. They are executed at compiler pre-processor time,
: just like in C. The resultant code gets executed at run-time.

不能精确表达,我们就只能生存,而不能工作--工作,就是对别人有意义的事。
在这种情况下,你除了用父母的钱和微笑表达对别人的情感以外,对他人毫无帮
助。

其实,一个秘密,我们还有一个办法。

那就是,我们假装仍然生活在1500年以前的乡村,无论世界的哪个地方。我们施
施然穿过大街,任车流抚过身体,如同流水抚过舒蔓柔美的水草。

然后,我们要快乐的生活,全然忘记明天及以后。我们满足于我们的幻想,过
去,我们无比伟大,未来也是。

我们无论做什么,都"差不多"和最牛的那些想法非常接近了。只是,我们没有再
稍微努力一点,或者再精确一点,被他们占了先。但是,我们仍然是最聪明的个
体或者民族。只有哪天一发力,那世界就完全不同啦。

这很简单。只要我们忘掉,这世界就像编译器一样残忍,只要你写错一个字符,
那么,一切就都是错的。任你流着眼泪说,我不过就差一点点,它都无动于衷。
孩子,这也是一种生活。

No comments: