对博士学位说永别

by 王垠

经过深思熟虑之后,我决定再次“抛弃”我的博士学位。这是我第三次决定离开博士学位,也应该是最后一次了。这应该不是什么惊人的消息,因为我虽然读博士10年了,可是我的目标从来就不是博士学位。我在寻找更重要的东西,而且那个东西已经被我找到了。所以我的“博士生涯”其实完成了它的使命,基本上可以圆满结束了。

如果你从我之前的博文判定我现在生活在我所向往的环境中,那么你就误会了。虽然我学到了我想要的东西,但是却发现学术界不再是我向往的地方。相反,它阻碍了我的前进,让我很不开心。很显然,博士学位这个东西其实已经被学校和学术界作为利用廉价劳动力的“无形锁链”。你想要“博士”的头衔,那么就廉价给我们干活吧,能出论文的就出论文,能写代码的就写代码。这种如意算盘,就像是卖天上的星星一样。给我十万块钱,我就发给你一张证书,证明你拥有某星系的第N号小行星。博士学位的证书,跟这小行星的所有权证书,有什么不一样吗?

可惜的是,我根本不需要“博士”这个头衔来显示自己的价值,所以我抛弃学位,离开学校,离开学术界,是一点都不心痛的。

思想的监狱

如果你以为学术界意味着思想的解放,对真知的分享,那么你就错了。涉猎不深的人往往有一种美好的幻觉,以为老师都是在无私的传授知识,而同学们都在无拘无束的讨论。可是等你深入到一定程度,就会发现其实很少有人对于知识是无私的,连世界顶尖的科学家们也不例外。他们“分享”给你的东西,往往是一堆琢磨不透的符号和公式,他们提出一堆可怕的术语。他们告诉你的只是思维的“结果”,而不是思维的“方法”(也就是所谓“直觉”)。等你通过自己的独立思考得到同样的东西,却发现这些大师们其实一直把直觉隐藏在很深的地方,故意的让你知其然而不知其所以然。他们甚至会诋毁直觉本身的价值,试图让你相信他们没有通过使用直觉就想出了那些公式,试图让你相信只有那些吓人的公式,定理和证明才是可靠的,而直觉是不可靠的。可是真正的直觉却是非常强大的,只要得到了它,你就可以完全的理解那些公式,而且会知道它们是怎么来的,甚至发现里面存在的问题,进而想出新的公式。

然后你就会恍然的发现,你曾经认为的“思想的天堂”,其实是“思想的监狱”。你会发现你心目中的很多大师们其实不是真正的科学家,而是政治高手。你会发现身边有很多人其实是故意在你面前提起一些术语,以此来显示自己的“高深”。当你直言不讳的道出这些东西背后的秘密,他们就不说话了,然后就对你怀恨在心,希望你早点消失。当你给那些提出这些术语的大牛们发email,试图核实这些术语背后的直觉,他们会很快的停止回复你的邮件。当你试图从教授们口中得到这种直觉,他们会不耐烦的对你说:“你问这种问题有什么意义吗?这东西就是这样的!” 这说明了什么呢?这说明他们害怕了。他们害怕自己的地位受到威胁,他们害怕这种直觉一旦被大多数人掌握,他们就不再是高高在上的“学术权威”了。人们就会说:“那个东西其实不过是……”

这就是我这些年来所亲身经历的。我的同事们其实都不知道,他们所景仰的大师们提出的看似高深的理论,好些已经在我心目中死掉了。对我来说,它们不过是用一堆吓人的数学公式,翻来覆去的表达一些用几句话就可以说清楚的东西,而且它们好多其实已经被更加简单的东西所超越。所以大师们常做的一件事就是招收“门徒”,只要有人愿意做他们的接班人,把自己的工作“基于”他们的理论,他们提出的复杂而空洞的概念就可以一直存活下去,而他们就可以保持自己的地位。所以你就发现一些可笑的现象,本来一个新概念跟某个老概念没有关系,却被生拉硬拽在一起。本来一个概念可以被独立的理解,却被牵扯到一堆别的概念中,被搞得纷繁复杂。

这就是为什么我曾经提到,我经常用两个星期的时间就“灭掉”了某些领域长达20年的研究。这并不说明我是天才,而只是说明很多人在玩弄学术的把戏。看透了这些把戏并不能带来实际的效益,却可以让我自己节省下时间来解决真正重要的问题。但是我看不到学术界在这方面有任何改进的希望。所以,为了思想的自由,我不能生活在学术界。

论文的游戏

我曾经以为我的专业(程序语言)是计算机科学里面论文水分最少的地方,但是其实并不是这样的。程序语言专业的论文与其它专业唯一的区别是,这个领域的人玩的把戏更加巧妙。这些论文动不动就触及 Church,图灵这样的人物提出的概念,所以就算里面没有任何新的内容,你早就被吓倒了,就别提看出里面的把戏。可是由于我看穿了一些核心概念的本质,所以经常浏览一些论文都发现其实没有任何新东西。上学期我看了400多篇论文,最后发现其实没有学到很多东西。这些论文有些甚至来自某些本领域众所皆知的“巨星”。由于他们地位显赫,这里我就不点名冒犯了。

很常见的一个套路就是,把一些很简单的“程序”用一堆“数学符号”改头换面,把它们叫做“逻辑”或者“类型系统”。人们都崇拜数理逻辑,因为他们看不懂那一堆的符号和推理规则。可是经过自己的努力,我却看透了很多逻辑学家的把戏。我也可以玩这种把戏,设计出新的逻辑,可是我也知道,其实我们并不需要这些逻辑。可是关于“程序逻辑”的论文,仍然频繁的出现在最高档次的学术会议。从开头就能猜到结尾,一点悬念都没有,让我觉得非常无聊。

上个学期,我跟导师做了一个学期的研究,内容是关于“类型系统”。说是“跟导师”,但是其实他只起到绊脚石的作用。他不但没有真正的参与讨论,而且明显的对于我深入的发现有抵触情绪,并且不断的打击我。我用于“说服”他所使用的精力,比我用来研究的精力还要大好几倍。到头来我却发现,原来他根本没有听我在说什么!我总是发现一些复杂的类型系统的功能,要么就是完全不可能实用,要么就是可以用已有的简单的方法实现。所以这些发现其实是“杀死”了好几个发展了几十年的领域,把它们归并为同一个非常简单的东西。可是他总是对我说:“你的这些想法有什么用吗?” 在他的这种打击之下,我到最后都没心思写论文了。然后我才发现,原来他所要的,并不是深入的简单的理解,而是别的东西。很显然,导师们只是把学生作为可能给他带来论文和经费的人。他们更喜欢那种看不透事物本质的,对什么“新概念”都持手舞足蹈态度的学生。因为这些学生可以很快的制造出更多更复杂的新概念,写出看似高深的论文,然后从 NSF 等研究机构要到钱。

所以说,深入本质的认识,其实在学术界是不受尊重的。因为深入的认识往往是很简单的。如此简单的东西,似乎每个人都能做,又怎么拉得到经费呢?

政治的泛滥

通常都认为学校是简单的做学术的地方,有学问的人总是说得起话,可是在研究生院里却不是这个样子的。只要你会玩游戏,会找“靠山”,你就有可能“出人头地”。

我可以不谦虚的说,我是这里最好的学生。我身边的同专业同学,没有一个可以超越我所能做到的事情。而他们能做的事情,却没有一件是我不能做的。在 Dan Friedman 的两门高难度的程序语言理论课程(B521, B621)都得到 A+, 在 R. Kent Dybvig 的 Scheme 编译器课程(P523)得到 A+,并且在某种程度上超越了他们。在两个星期之内,完全凭自己的思考写出正确的 CPS 变换(10多年的研究成果),以及 ANF 变换(我导师的最重要成果)。多次在两个星期之内“灭掉”某些领域20多年的研究。对很多东西有自己独到深入的见解。在工程上,Google 的那个项目,以及我自己的一些项目,都是我自己独立完成的。我拿到问题的时候,首先想到的是靠自己的力量解决它,而不是去套用现有的答案和理论,所以我经常对问题有异常简单的解决方案。

可是这所有的一切,都没有让我受到同行们的尊敬。相反,由于我喜欢说真话,他们恨我又怕我。他们怕跟我讨论他们的研究,因为我总是能很快的看出它们的本质,所以跟他们说话总是感觉隔着一层什么东西。那些精于玩弄政治的人,显然更加得到人们的赏识。我本来不想把这些“业绩”摆出来的,实际上我一直很谦虚,都没有在人面前提起过这些事情。可是显然在美国,谦虚是一个严重的错误,因为在 Friedman 和 Dybvig 的课程上挣扎不堪的同学,因为在某些会议发过一点文章,现在很是趾高气昂,逢人便说自己在哪里哪里发表了论文。他们喜欢厚着脸皮的说出一些早就被我看透的术语,说出来的时候声音都在打颤。可是这些招数居然挺有效果,他们俨然被教授们当成了“好学生”,比我说得起话很多。

可是他们为此也失去了很多。我本来可以帮助他们的,可是由于他们的自私和自大,失去了得到我的帮助的机会。他们的论文(甚至博士论文)里面的内容,其实好些是我几年前就得到了的结果,只不过我懒得为这些鸡毛蒜皮的东西写论文,我本来可以把这些东西免费送给他们作为论文发表。记得 Friedman 的最难的程序语言理论课程(B629)快到期末的时候,课上的几个同学想做一个暑期项目,试图改进 miniKanren (Dan Friedman 设计的逻辑语言) 的效率。我早在前一个学期的 B521 就已经重新实现了自己的 miniKanren,并且加入了一些扩展的功能(比如 constraint logic programming),所以我一听到这个计划就告诉他们,miniKanren 所使用的 substitution 的数据结构是 association list,查找时间是线性的,显然效率很低。使用另外一种“函数式数据结构”,比如函数式的平衡树就会好很多。可是当他们听到这些的时候,居然保持了一种可怕的沉默,就像我并不存在于他们面前!一年多的折腾之后,他们发表了一篇论文,里面的基本内容就是我告诉他们的那些话。署名和“致谢”里面都没有我。我根本不在乎这么小的想法,因为本来一句话就说得清楚。可是他们一点谢意也没有表达,倒在我面前炫耀,实在很无语。如果他们愿意多向我请教,恐怕发表那论文需要的时间不是一年,而是一个月。

另外还有好几次类似的情况,我都不想说了。后来我才从一个同学口中得到一些真正的信息。他说,某些人喜欢在听到别人好的想法的时候,进行故意的打击,或者漠不关心的样子。等别人对他们自己的想法失去兴趣之后,他们却把那想法拿出来署上自己的名字发表。这种事情就曾经发生在他的身上。他的导师一直打击他,以至于他写出来的论文两年都没有发表。等他决定离开之后,却发现自己的想法被导师和另外一个人发表了。没有署上他的名字。

这就是我越来越不喜欢跟人讨论的原因,因为很多人得到了想法,就会想把它们据为己有,以此出名,最后却连个谢字都不说一声。这种鬼鬼祟祟的现象不只存在于我的身边,而且存在于整个学术界。经常感觉跟某些人交流,信息是有进无出,就连名校的教授也不例外。比如我曾经跟某“牛教授”交流,他说对我的想法很感兴趣,等我告诉了他,就再也没有收到回信。这也许是学术产业化不可避免的结果。学术界不做产品卖,就得拿“想法”出来卖。可是想法这个东西是如此之奇怪,你一旦告诉别人,别人就有了这个想法,你又如何证明这个想法是你的呢?所以学术产业化的结果就是一个没有思想交流的世界。我一次次的试图与人交流和分享,却一次次上当和失望。

有这样的政治和勾心斗角,我留在这里还有什么意义呢?我在这里,以至于整个学术界,其实已经没有什么值得合作的人了。而我也已经意识到了,自己的思想其实已经大大超越了很多名校的教授,所以我其实不再需要跟他们交流。

未来计划

由于之前的导师的诡异行为,这学期我更换了导师,所以暂时还待在学校里。不过我对学术界已经完全失望了,所以目前的打算是准备找个工作,然后离开学校。

显然,我所学到的知识可以轻而易举的给我带来高薪的工作。可是我也清楚,其实程序语言归根结底就是那几个小把戏。所以我更愿意探索更加广阔的世界,学会新的东西,找到真正值得合作的人,创造真正的价值。另外,我也会逐渐把我知道的这些“把戏”以直观而容易理解的方式公诸于众,让权威们的神秘面纱都随之消失。


This article was posted at yinwang’s sina blog,
on 2012-09-09.
Though it’s not available on the blog now.

(转)对博士学位说永别 by 王珢的更多相关文章

  1. 如何用 LaTeX 撰写博士学位论文?

    如何用 LaTeX 撰写博士学位论文? 序 一直觉得有必要写这样一篇文章,因为学位论文从格式上说更像一本书,与文章 的排版不同,不仅多出目录等文章没有的部分,而且一般要设置页眉页脚方便阅 读查找.学校 ...

  2. 没有博士学位,照样玩转TensorFlow深度学习

    教程 | 没有博士学位,照样玩转TensorFlow深度学习 机器之心2017-01-24 12:32:22 程序设计 谷歌 操作系统 阅读(362)评论(0) 选自Codelabs 机器之心编译 参 ...

  3. (转)小小科学家的归来 by 王珢

    小小科学家的归来 by 王垠很多人来信关心我的现状,所以在写别的技术性文章之前,先说说我现在的情况吧.虽然自己追求的东西和经历都比较不同寻常,但是也许可以给奋斗中的人们一些慰藉和鼓励. 首先是超级好消 ...

  4. (转)完全用GNU/Linux工作 by 王珢

    完全用GNU/Linux工作 王珢      (看完这篇博文,非常喜欢王珢的这篇博客,也我坚定了学gnu/linux的决心,并努力去按照国外的计算机思维模式去学习编程提高自己.看完这篇文章令我热血沸腾 ...

  5. TensorFlow和深度学习-无需博士学位(TensorFlow and deep learning without a PhD)

    1. 概述 原文地址: TensorFlow and deep learning,without a PhD Learn TensorFlow and deep learning, without a ...

  6. (转)我看PhD by 王珢

    我看PhD by 王垠 前段时间看了一下这些关于 PhD 的负面信息: 一个专门反对读 PhD 的 BLOG 叫“100 Reasons NOT to Go to Graduate School”(下 ...

  7. (转)为什么需要正则表达式 by 王珢

    为什么需要正则表达式 by 王垠 学习Unix最开头,大家都学过正则表达式(regexp).可是有没有人考虑过我们为什么需要正则表达式? 正则表达式本来的初衷是用来从无结构的字符串中提取信息,殊不知这 ...

  8. (转)什么是“黑客” by 王珢

    什么是“黑客” by 王垠很多程序员自豪的把自己叫做“黑客”(hacker),把编程叫做 hack.可是殊不知,其实在最高级的程序员眼里,“黑客”其实是一个贬义词.他们更愿意被叫做“程序员”(prog ...

  9. (转)名称和本质 by王珢

    名称和本质 by 王垠 我很喜欢 Richard Feynman 写的 <What Do You Care What Other People Think>.在最开头 Feynman 讲到 ...

随机推荐

  1. 【JavaScript】JS 中 原始字符串 和 HTML 字符转换

    参考资料:http://www.sjyhome.com/javascript/js-html-escape.html JS转换HTML转义符 SJY • 发表于:2013年10月05日 17:04 • ...

  2. AtomicBoolean介绍与使用

       java.util.concurrent.atomic.AtomicBoolean 继承自Object. 介绍: 在这个Boolean值的变化的时候不允许在之间插入,保持操作的原子性 方法和举例 ...

  3. 解决mysql Table ‘xxx’ is marked as crashed and should be repaired的问题。

    解决mysql Table 'xxx' is marked as crashed and should be repaired的问题. 某个表在进行数据插入和更新时突然出现Table 'xxx' is ...

  4. 在WPF中使用变通方法实现枚举类型的XAML绑定

    问题缘起 WPF的分层结构为编程带来了极大便利,XAML绑定是其最主要的特征.在使用绑定的过程中,大家都普遍的发现枚举成员的绑定是个问题.一般来说,枚举绑定多出现于与ComboBox配合的情况,此时我 ...

  5. cmd连接mysql的方法详解(转载)

    连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与root可以不用加空格,其它也一样)断开:exit (回车) 创建授权:grant select on 数据库.* to 用户名@登 ...

  6. Jquery获取select选中的文本与值

    jquery获取select选择的文本与值获取select :获取select 选中的 text :    $("#ddlregtype").find("option:s ...

  7. PHP之session与cookie

    1.session与cookie的关系 众所周知,session是存储在服务器端,cookie是存储在客户端,如果禁用了浏览器的cookie功能,很多时候(除非进行了特殊配置)服务器端就无法再读取se ...

  8. Java实现画八卦

    八卦是由多个圆叠加而成,如果我们让每个圆都有自己的颜色,那么具体结构便一目了然,如下图所示: 显然只要令对应的圆颜色相同,就能达到我们预期的效果. 用Java就能轻松画出来: import java. ...

  9. 如何清除Xcode8打印的系统日志

    Xcode升级成8之后,就会发现控制台打印的日志莫名其妙的变得超级多,最关键的是很多都是没有用的东西,而有些有用的东西却淹没在那无任何卵用的里面,在这我就说一下如何关掉这些没有用的日志. 1.直接快捷 ...

  10. C# 通过反射获取扩展方法

    注意,扩展方法本质上是静态方法,所以拿到MethodInfo时,应该这么调用 methodInfo.Invoke(null, new object[]{params}) static IEnumera ...