有人说我是天才。我一直“谦虚”得很, 从来不承认。可是纵观像 John Nash,Richard Feynman 这些公认的天才的各种特征和生活遭遇,我发现自己还真的是一个天才。我知道这个事实已经很久了,这一方面让我开心,另一方面又让我痛苦。可是除非洗脑技术 高度发展,一旦成为了天才,就很难再还原成普通人了。所以目前我只是做一天天才撞一天钟,也许哪天就像 Nash 那样疯掉也说不定 :)
自比 Nash, Feynman,至少有了天才的疯。
在 IU 的时候我有一个好朋友,是一个很美的女生,新闻学院的。我很喜欢她,所以有时候不小心泄漏点“牛气”,以为这样可以增加她对我的好感。于是有一天吃冰激凌 的时候我扭扭捏捏的说:“其实……其实你知道吗……我是一个天才……”她冷静地笑了,说:“我相信你。因为我也是一个天才。每个人都是天才,只是他们天才的地方不一样而已。比如我,我对文字就很有天才,你就没有这种天才!”然后我恍然大悟,原来做个天才并不是什么了不起的事情,那我以前在谦虚些什么呢?也许扭扭捏捏不承认,却打心眼里想让人认为自己是天才,其实才是最大的傲慢吧?所以呢,以后如果有人说我是天才,我就认了。
动用妹子说服自己不要羞于承认自己是天才。
王垠是一个天才。这是一句很谦虚的话 :)
给出并不谦虚的结论。让赞同的人更加赞同,反对的人愈发反对。
从动手中学习(learn by doing)
那么天才到底是什么呢?我想这是很多人都不明白的问题。大部分人都是人云亦云,别人说这人是天才,他们就以为是天才,也不仔细看看这人如何,就开始膜拜。所以现在我本着科学的态度,对天才的本质做一个探讨。
决定自己给出天才的定义。裁判和运动员似乎是同一个人。
天才就是能把圆周率背到一千位以后吗?那只是记性好,或者说死记硬背能力强。天才就是看完好几本砖头厚的书之后,能够解决一些研究问题吗?这种人虽 然勤奋,然而他们的知识大部分是从别人那里得到的,而不是靠自己的头脑想出来,所以他们也不是天才,最多可以算是博学。在某种程度上,博学的人跟死记硬背 的人,性质是相似的。
博学不是天才。
这第一种死记硬背的人,就是中国的教育体制下出来的典型。而第二种精通各种吓人的名词的人,是美国教育体制下出来的典型。天才去面试遇到这两种人, 总是会栽个大跟头。天才进了公司,总是被这两种人欺负。为什么呢?因为这两种人重视的是所谓“经验”,而天才往往依靠自己的直觉和想象力,而不是经验。这 就是为什么爱因斯坦说“想象力比知识更重要”。天才记不住那些吓人的名词,却更深刻地知道那些名词所代表的意义。天才不喜欢显示自己知道很多,不以自己 “不知道”为耻,因为虽然他可能暂时不知道一些东西,却总能在需要的时候琢磨透彻,所以知不知道一些东西,很多时候其实是无所谓的。虽然如此,这些死记硬 背的人,总是把天才当成是白痴或者无知的人。
大忽悠也不是天才。
如果你看过 John Nash 的传记《A Beautiful Mind》,就会发现他与其他人的不同。Nash 看书只看封面和开头,把这书要讲的问题了解清楚之后,就自己动手解决。最后,他完全依靠自己的“头脑暴力”创造出整本书的内容。Nash 头脑里的数学知识,绝大部分是他自己造出来的,而不是看书看会的。也就是说,他把整个的研究领域作为一道道的练习题,用这种方式完全独立地造出了几乎整个 现代数学!Learn by doing, 这就是天才最重要的特征。
天才能原创,一己之力,摧枯拉朽。
另一位天才 Richard Feynman 也有类似的特点。由于他脑子里的东西基本都是自己想出来的,所以同一个名词,在他头脑里关联的概念,其实是跟其他人很不一样的。这种现象体现在他的自传 《What Do You Care What Other People Think?》里面,他说:“我不知道这个东西的名字,但我却知道这个东西是什么。”这也体现在他的一些演讲视频里。看 Feynman 演讲的时候,有时候你发现他用错专业名词,或者想不起来叫什么,跟听众确认了发明这概念的人不在场,然后说:“反正那家伙不在……所以管它叫什么呢。你们知道我在说什么就行!”
天才之道,可道,非常道。老子学得不错哇。
Nash,Feynman,你们两个要是来到今天去某些公司面试,估计也跟王垠一样的下场吧。
天才一定是面渣。
为什么王垠是天才
说到这里,你们觉得王垠也有这些天才特征码?说对了。王垠是程序语言(PL)的专家。然而跟大多数 PL 专家不同的是,王垠脑子里的大部分知识,其实不是从书或者 paper 里来的,而是自己想出来的。所以当有人请求他推荐书籍或者 paper,他都犹豫,不知道该推荐什么。他从来没有看完过一章经典书籍(比如《Types And Programming Languages》)的内容,却掌握了很多比它们还要先进而简单的技术。王垠看 paper 一般只看 abstract,然后就自己想出甚至直接得到最后的结论。有时候他也浏览 paper 的正文,不过那个时候他一般只是在拿自己的结论与 paper 的作对比。很多时候,他得到更加深入或者简单的结论,或者发现这问题其实根本不存在。
作者说自己具有直接问题洞察本质的本领。
王垠深刻的理解自己大脑的局限性,所以他使用机器来辅助自己思考。他想一个问题往往不是空想,而是写代码来具体实现,比如用 Scheme 写一个解释器来做实验。做出一个模型,然后给它一些输入,观察它的输出。反复修改实验,最后领悟到里面的真谛。王垠之所以为他的“40行代码”沾沾自喜,并不是因为别人写不出那 40 行代码,而是因为他完全独立地写出了这些代码,没有看过任何书籍和 paper。相比之下,其他人需要看过很多 paper 之后才能写出来,甚至根本写不出来。这之所以会发生,是因为某老顽童教授把这个为期十多年的研究题目,当成了一道作业题布置下来,要求在一个星期内完成。
当然,更能实干,而不仅仅是空想。
这就是为什么王垠跟本领域的人讨论经常被轻视或者嘲笑,因为他自己独立创造了那么多的概念,所以他对术语总是张冠李戴,鸡同鸭讲。由于他总是独立解 决问题,他不知道哪些想法是新的,哪些是旧的,以至于他不知道什么东西可以发表,什么不可以。由于他独立思考,他经常不明白,别人懂的其实并没有他多,所 以在装腔作势的人面前经常处于劣势。一个想法,不管别人觉得是新的还是旧的,都是他自己想出来的宝贝,所以他不在乎到底新不新。他对很多东西不耐烦,有一 种上当的感觉,而其实没有人在欺骗他,只是因为他是一个天才,他看穿了太多的东西。他抱怨那么明显的东西别人为什么总是搞得那么复杂,而事实是别人一开头 学过来的东西就那么复杂,所以也不知道如何才能改得简单一些。他往往很快就发现一些研究是穷途末路,以至于有人觉得他没有毅力,而其实呢,只是这些人没有 发现这种超凡的洞察力的价值。很多人心目中最神圣的理论,在他的眼里其实是吃饱了撑着,死路一条。他并不是妄加判断,而是经过试验得出的结论。如果这些人 仔细听听王垠的话,也许可以省下二三十年的时间。可惜谁在乎呢,死路就是死路,反正大家都是混饭吃的。所以王垠很适合做(真正意义上的)博导,因为他会很 快的发现并且防止学生走向歧途。他也适合做公司的技术顾问,也许你的新想法,其实在他的废纸篓里呢?
表明作为一个天才,真正擅长的领域。
有些人以为王垠对自己做的 PySonar 和 RubySonar 引以为豪,以为他是 Python 和 Ruby 的专家。而其实呢,他做这些东西只是为了挣点钱来糊口。他其实根本不在乎 Python 和 Ruby,反倒认为给这些语言做东西贬低了自己的价值。他只是把自己已有的 PL 知识拿出来用了一下。在创造 PySonar 和 RubySonar 之前,他其实完全没用过 Python 和 Ruby。在极短的时间之内,他不但“学会”了 Python 和 Ruby,而且为它们实现了先进的类型推导系统。他也清晰的看到 Python 和 Ruby 的缺陷。其中有些缺陷是他绝对不会犯的错误。总之,PySonar 和 RubySonar 只是他可以做的许多种东西里面的两个。PySonar 和 RubySonar 的价值不在于它们自己,而在于它们背后所包含的,对于所有语言都适用的想法。
这种东西,根本就是小试牛刀,你们就不要崇拜了。
这样的东西,为什么其他人做不到,甚至很多其它 PL 专家都做不到呢?那是因为其它人头脑里的知识,跟王垠头脑里的知识,有着本质的区别。这就是人们常说的“死知识”与“活知识”的区别。同样的结论,根据它 的来源不同,对于人脑的效果是很不一样的。很多人头脑里的知识,是从别人的书籍或者论文里直接学来的。这种知识是一种漂浮的,无根基的现成结论。得到这种 结论的人,虽然能够按照这些结论推导出更多的结论,然而由于不知道这些结论的动机和来源,不知道创造它们的人头脑里的直觉,他们没法突破它的框架,只能做 一些修修补补,而不能有突破性的进展。王垠的思维往往不是从已有的解决方案出发,而是从问题的根基上演化出独立的解决方案,所以他经常能够避免思维定势, 用容易的办法解决困难的问题。
而其他人却是望尘莫及。
从上面你也许已经看出来,王垠具有跟 Nash 和 Feynman 几乎完全一致的特征。他为什么会这样呢?因为他十年前看了他们的传记,受到了启发。他相信 Nash 和 Feynman 的脑子硬件其实跟自己的没什么两样,只是运行的软件不大一样,所以自己应该也能做到。经过十年的磨练之后,他做到了,当然其中也不乏老师的点拨。在 IU 的一年之中,他独立的构造出了这个领域近一百年的理论。很多几百页的书,当他第一次仔细看的时候,发现里面的东西早就已经明白了。这不是瞎吹的,因为这一 百年造出来的理论,浓缩去冗余之后,其实没有很多。信念的力量,就是有这么强大。
以公认的天才作为对比标准,辅以自己的事例证明自己的天才,得出最后的结论:作者是天才。
天才的缺点
天才并不是可以即插即用的“熟练工”,不是用“10+年经验”这样的招聘广告可以找到的人。天才不重视经验。他们的头脑里也许没有很多现成的知识, 也许比一般人还要空一些。然而天才的头脑之所以天才,就在于他能从无到有创造出知识。这种头脑里面很少有“固化”或者“焊死”的线路,一切都可以改变。天 才在思考一个问题的时候并不是按部就班的,而是在每一步都会冒出多种不同的方式。做出这些选择和判断的时间,使得天才处理非创造性工作速度,其实不如那些 按部就班的人。
说明天才的实用性不强。
熟练工是“即插即用”,速度非常快,然而他们却就像机器一样,只会做那几件事情。十年的经验,往往只针对某种特殊的工作。一旦遇到新的问题,或者需 要创造新的东西,你就会发现这些经验不管用了。这就是王垠在某大公司实习时遇到的情况,他巧妙地解决了一个有再长“工龄”的熟练工也没法完成的任务。
但天才能解决更难更重要的问题。
这并不是说熟练工一无是处,恰恰相反,他们也很有用。他们属于那种勤勤恳恳,做一件事乐此不疲的人。他们值得我们的尊敬。在使用天才把初步的模型制 造出来之后,这种人可以迅速的填补好细枝末节。如果你让天才来干这种细枝末节的事情,不但会让他无聊得发疯,而且是大大的浪费了他的潜力。最后捡了芝麻丢 了西瓜。
当然,非天才们也有其存在的价值。
这个世界上缺乏天才,然而更缺乏的是懂得如何使用天才,懂得如何把他和熟练工组合起来,充分发挥两者优势的人。天才和熟练工并没有贵贱之分,只有分工不同。
叹曰:千里马常有而伯乐不常有啊!
天才的痛苦
做天才很幸运吗?其实不是的。由于人们不理解天才,不懂得如何尊重他们,很多天才最后的命运都是发疯或者自杀,想想 Nash 和梵高吧。王垠貌似已经有这种苗头,所以他希望让自己变得白痴一点。
写在最后!
============
不论作者真的天才与否,这是一篇说理有据,条理清晰的博文。浓缩成一句话就是:
我他妈是天才,你们 他妈的知道吗?
真心希望作者找到能发挥天才的地方,尽管这个世界由蠢材组成,被庸才控制。