查看: 5246| 回复: 20
跳转到指定楼层
上一主题 下一主题
收起左侧

ZZ:我和Google的故事 (不知道大家对王垠都怎么看)

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
本帖最后由 zach 于 2012-9-11 18:42 编辑

我和Google的故事(2012-08-10 02:58:52)转载▼ 分类: 杂谈  
http://blog.sina.com.cn/s/blog_5d90e82f010191rh.html

也许有人看见过我批判 Google 的那篇英文文章。它好像有一部分片面性,所以被我从英文博客上拿下来了。我一直在反思自己在 Google 的经历,因为在这个公司工作总是感觉不对劲,但是却总也说不清楚为什么。也许现在用自己的母语,我可以得出一个准确一点的结论吧。


受命于危难

先说说我的项目是怎么开始的吧。当我加入的时候,我的老板 Steve Yegge 的小组试图制造一个跨语言的“服务式”编程工具,叫做 Grok。你可以把它想象成 Eclipse 和 Visual Studio, 但是 Grok 的设计目标不只是检索和分析本机的某一种语言的代码,而是大规模的检索和分析 Google 的所有项目,所有语言,所有代码。这包括 Google 的“四大语言”:C++, Java, JavaScript, Python,一些工具性的语言:Sawzall,protobuf 等,还有一些“build file”和所有第三方的库。Grok 的初期设计目标是一个静态的代码索引服务,只要程序员点击任何一个变量或者函数名,就能“准确”的跳转到它定义的位置。动态的编辑功能稍后也在陆续加入。

这种检索不是像 ctags, etags 那种简单的正则表达式匹配,而是像 Eclipse 和 Visual Studio 那样的准确的“语义检索”,所以它必须真正的理解程序语言的语义。在 Grok 诞生以前,市面上和 Google 内部都没有一个工具能正确的支持所有“四大语言”,所以我不得不说,Steve 的项目比起 Google 的其他程序语言相关的项目是相当先进的。

虽然 Grok 的技术含量挺高,但是 Google 的管理层对东西的评价并不是看技术含量的,而是看你有多少“影响力”(impact),说白了也就是有多少用户。Google 当时本来就只有不到一万个程序员,一个“内部编程工具”能有多少“用户”呢?所以 Grok 比起像 CodeSearch 一类利用正则表达式来查询程序的“低端”项目来说,在管理层心目中并不占任何优势。而且由于其它项目界面好看些,用户多些,Grok 随时有被取消的危险,这使得 Steve 心理压力很大。我就是在这个“危难关头”进入他们的小组的。我当然没蠢到会自己进入这样一个组,但是 Steve 在电话面试时把一切都说得很美好的样子。当时小组里只有三个人:Steve 和另外两个组员。


恐惧和疑惑

当我开始的时候,Grok 小组已经初步完成了 Java 和 JavaScript 的检索模块。但是他们的检索并不是自己设计的,而是从 Eclipse (JDT) 和 JSCompiler (开源后叫 closure compiler) 里面分别“挖取”了对 Java 和 JavaScript 语义检索的部分,修改之后插入到项目里的。Eclipse 的设计非常的不模块化,以至于项目进行了一年多,大家还在忙着解决它带来的各种 bug。

最开头的时候 Steve 给了我两个选择:检索 C++ 或者是 Python。我觉得 C++ 的设计太繁琐,所以就选择了看起来好一点的 Python。Steve 就让我去找一个开源的 Python IDE,然后把里面的语义检索部分挖出来插入到项目里面。可是在看过十个左右的“Python IDE”之后,我发现它们没有一个能够正确的“跳转到定义”。分析其原因,是因为这些 IDE 基本上做的是正则表达式匹配,而完全不理解 Python 的语义。所以我对 Steve 说,我要自己从头写一个。但他反对这个提议,因为他觉得这是三个月的时间之内不可能完成的。不但是我不能,而且就算一个小组的人也不可能完成。就算完成了,他也不想“维护”这些代码。所以他宁愿让我去拿一个不怎么样的开源项目,因为这样“维护”的工作就转嫁到开源项目身上去了。

可是我很清楚的看到,这样一个语义检索,不过是一个抽象解释器 (abstract interpreter)。写解释器是我很在行的,所以我告诉他这是我可以完成的,而且由于设计上的简洁,我的代码的维护代价会比使用一个开源项目小很多。他没有说话。我同时也在进行一些内部培训,看一些视频,折腾 MapReduce 一类的内部工具教程,就这样过了一个星期。我隐约的感觉到 Steve 的不快,因为他不怎么说话了,可是也没有太在意,仍然傻乎乎的到处凑热闹。到了周五的时候,Steve 下午很早就回家了。另一个组员还待在哪里,闷声闷气的。我对她说:“Steve 是不是不高兴了?我知道我说话有点太自信,可能打击到他了。”她好像打满的气球被开了一个孔:“他怎么会被你打击到?你知道他以前做的项目有多厉害吗?他是怕你做不出来。之前有一些 intern 设的目标太高,以至于到最后没有完成他们的项目。你知道我们以前一个类似的项目 JSCompiler,花了多少时间才完成吗?一个小组的人,四年的时间!”于是她打开 Eclipse,把一块代码给我看:“看这一个文件就有 9000 多行代码。你三个月能写出这么多代码吗?”我翻了一下白眼,搞笑似地说:“啊~ 怎么可能有 9000 多行?这些人真的知道怎么写这种代码吗……”

后来具体的对话我忘记了,但是她说得那么战战兢兢的,确实给了我一些压力。再加上 Steve 那个闷声子,真是不好受。所以那个周末我没有出去玩,我下载了一个 Jython,把它的 parser 文件 (ANTLR) 拿出来。自己设计了一个更简单的 AST 数据结构,把这个 parser 生成的 AST 转换成我的结构。然后就开始在上面写一个抽象解释器。由于 Java 的限制,我想出了一个更简洁的用 Java 实现解释器的方法,从而避免了使用繁琐的 visitor pattern。一个周末之后,我做出了一个基本的原型。当然因为 Python 语言的复杂性,有很多细节的东西到后来才完全的实现。

等到星期一的时候,我告诉 Steve 我做了一个原型出来,而且因为我拿了 Jython 的 parser,我们以后可以用这个理由把这代码 merge 回 Jython,给他们提供功能,让他们帮我们维护代码,对两方都有好处。他居然一点也不高兴,把我叫到一个白板前面,板着脸说:“你知道我为什么担心吗?我怕在你离开四个月以后,我还在跟别人说,我仍然在改正我的 intern 代码里的 bug!来,给我讲一下你打算怎么做。”我就画了一个 AST 的类关系图,在每个类插入一个叫 interp 的方法,然后指出这个东西就是一个解释器。最后他豁然开朗了一样,说:“好。我相信你知道你在干什么了。就这样做吧。”


陌路

在 Google 的整个夏天,我都觉得跟其他人没有共同语言。我感兴趣的东西,他们一点都不了解,所以我也不想谈。我觉得不以为然的一些东西,却被捧上了天。总体感觉就是过度“和谐”,像是回到了小学。每个人都像是“祖国的花朵”,对 Google 的一切都赞不绝口。你本来有时不想笑,不想说好话,身边的“社会压力”却让你不得不满脸堆笑,所以很累。没有人说真话,以至于你不知道到底什么好,什么不好。


人们总是喜欢谈论一些人的显赫“地位”,传说他们如何的“牛”。比如,有一次几个人在谈论一个 Google 的“牛人”,说他做了一个多么了不起的项目,很快就升为了 Staff Software Engineer (“Staff”是比“Senior”高一级的职位,Steve 就是个 Staff)。我去看了一下这项目,发现不过就是 JUnit 的“C++ 版本”。JUnit 这东西技术含量本来就是相当低的,做这样一个东西就能当“Staff”,那我岂不是轻而易举就可以成为“Principal”了?哈哈。我心里这样想,但是没有说出来。一个 Staff 就如此,谈到 Google 的两个创始人的时候,有些人就简直是黑白不分了。对他们的各种武断的甚至不讲理的做法,居然都津津乐道。创始人在他们眼里俨然就跟皇帝一样,他们做什么都是对的。甚至有人以自己的办公室在创始人办公室的正下方为豪。这种浮夸和互相吹捧之风,恐怕是在其它公司也少见的。Google 要求员工们保持一种“Googley”的态度,原来就是这样的态度,过度的“正面”和“积极”。美国所崇尚的“个人主义”和“批判性思维”,在 Google 貌似高度缺乏。

另一些时候,我会遇到一些对某种语言或者技术有宗教情绪的人。有一次吃午饭,一个工程师主动坐到我面前,像是在面试我一样,正儿八经的开始自我介绍,后来我们就谈到 C++。我说 C++ 设计实在是太繁琐了,其实很多简单的语言效率并不比 C++ 低,C++ 最近其实在向其它高级语言学一些东西…… 后来这人就不说话了。那天以后我就发现跟他打招呼他都不理了。后来我才发现,在 Google 是不可以指出某种语言,特别是 C++ 的缺点的。C++ 在 Google 的“势力”之大,连 Java 都只能算二流货色。

最搞笑的其实是 Google 总喜欢故弄玄虚,把一些微不足道的东西说得很玄乎。很多文档,视频,活动都挂着“Google Confidential”的标签。等你去看了,却发现其实是众所皆知的东西,没有什么机密可言。可是大部分的实习生们却有一种受宠若惊的感觉,以至于产生优越感。每个星期五,都会有一个“TGIF”,两个创始人会像主持人一样组织一个大会。本来无可非议,但是总感觉气氛过于群情激昂了,有点像小学的时候升国旗开大会的感觉。好不容易大家聚在一起,总是在听新闻发布,不然就是谈工作进度,不然就是表彰某些人。总之,你总是感觉在受到某种挑拨,有一种传销公司大会的感觉。大家轻轻松松一起玩的真正的 party,却非常稀少。


由于 Google “免费”提供一日三餐和娱乐,健身设施,你总是感觉欠了公司什么一样,而其实这些钱都是出自你自己的劳动。而且因为这些设施离工作的地方太近,你总是感觉 Google 在你的生活里无所不在,连玩的时候都在想着它。Steve 经常叫几个人出去 Starbucks 买咖啡,我开头还觉得奇怪,因为 Google 有上好的咖啡机。后来才明白原来他们只是想出去换个环境和人气。一些别的公司的人(比如我寄宿房子的主人)也在疑惑,Google 的员工到底有没有下班的时间。

我就是这样度过在 Google 的每一天,以至于后来我都不怎么在饭桌上吃饭了。自己把饭端到靠墙的吧台去吃,或者坐在“冰激凌吧”跟里面的厨师聊天,省得遇到一些高谈阔论的人无语。我发现自己跟打扫卫生的大妈小妹们也谈得来,她们也喜欢跟我说话。后来我发现有这种感觉的不只是我,另外两个比较厉害的博士生也懒的在那边吃饭了。其中一个说他一个星期就把自己的项目做完了,然后假装仍然在做,免得又被增加任务。这就是所谓“能者多劳”吧。掌握了核心技术的人,往往会有一般程序员几十,上百倍的效率,可是得到的“回报”却是更多的任务量和压力。


皇帝的织布工

虽然 Steve “允许”我自己从头做一个 Python 分析器,但这却不是没有压力的。这种感觉就像是“皇帝的新装”里的织布工一样。我扬言自己会做出精美绝伦的布料,皇帝的大臣们却看不见,所以他们就相当的小心。总是对我很敬畏的样子,有时会来问候一下,做得怎么样了。可是一旦扯到深入的话题,却又怕被看穿其实他们不懂很多东西。因为我的教授们研究 Scheme,所以 Steve 有时候也会很激动的表扬 Scheme,或者类似 Scheme 的语言比如 Clojure。这种奉承真的让我受不了,生搬来的术语都是错乱的,所以经常来回两句之后,他就无语了。为什么程序语言总是引起这种宗教的态度,不是抵制就是膜拜?


有一次一个 Staff Software Engineer 来访。看我在做这个 Python 分析器,很鄙夷的样子,说:“你做那个东西干什么。Python 本来是没有类型的,怎么推导得出类型来?我倒希望 Java 的类型推导做得更好一些,不用手写很多类型。”显然他不知道什么是类型推导,他也不知道如何把 Java 的类型推导做得更好。很多人把自己的命运寄托在语言的设计者身上,自己没有能力去改进它们,所以他们才会对程序语言顶礼膜拜。


压力

直到有一天,我才发现 Steve 为什么这么紧张。那天有另一个“分舵”的 director 来访,给我们做了一个关于“创新”(innovation)的演讲。基本内容就是说,技术上的创新,如果吸引不到用户,那就不算什么创新,拉得到用户的东西才叫创新。完全就是扯淡嘛,可是他那个气势真像是在宣布圣旨一样。

那天下午,这个 director 来到我们的办公室。表情严肃的“审问”Steve:“你说你每天有 5000 个用户。可是 Google 总共还不到 10000 个程序员。你是怎么算的?你把接受你的服务的那些下游项目的用户全都算进去了吧!”唉,想不到大名鼎鼎的 Steve Yegge 在这种钦差大臣面前也只能唯唯诺诺。

我可以说,这个 Python 的东西,虽然没有费特别多力气,但却是 Google 里很少有人可以做出来的。所以实际上这个东西在很大程度上拯救了这个濒临灭亡的项目,因为一旦 Grok 支持所有的“Google 语言”,就会有很多人注意到这个东西,从而会有“影响力”。这确实是后来发生的事,我走了之后,Grok 开始通过 API 给很多项目提供服务,包括 CodeSearch。

Google 给我的那点工资,其实是根本买不起这样的软件的。你可以参考一下像 CodeSonar 之类“静态分析”软件的价格,一份基本上就是我三个月的工资。由于我上学想找点外快,让他们捡了一个便宜。可是这种“上级领导”的压力居然也间接的传到了我身上,而且是以一种非常不尊重的方式。这种感觉就是,你做得再多再出色,你相对于 Google 的“大拿”们,什么都不算。这也许就是 Google 为什么雇佣 Dennis Ritchie, Brian Kernighan, Ken Thompson, Rob Pike, Peter Norvig, Guido van Rossum 等大牛吧。因为它就可以说:“看我们 Google 有这些顶尖牛人,你算个什么,要不断努力!”Steve 不止一次的对我说:“你要为 Google 做出杰出的贡献啊!Google 的东西总是最好的,你要做出 Google 一贯的品质来。你知道 Python 的创造者 Guido 也是 Google 的员工吗?我一定会在他面前给你美言几句。” 这种语气,我好像在几十年前的中国听说过呢?“你要为祖国做出杰出的贡献!”他也许以为我会受宠若惊,可是我心里却不是个滋味。

有时候他又会突然把脸一翻,做出一副“博学”的样子,说:“你得把这个问题解决了。不然的话你的 intern 项目就是一个失败的项目!” 其它组员如果看我貌似心情比较轻松,也会不时的提一下:“这个做完了吗?如果这个做完了,你可以做那个。反正我们有的是事情给你做……” 我心里其实在想,说得轻松,你自己来做一下,看看一年之内你做得出来不。总之他们就是用这种奉承,利诱,竞争,加威胁的方式,想方设法让我多做事情。


本来这系统能做出来就不错了,一个组员却一直催着我写 test。她根本不明白,一个程序并不是写了测试就会是个好程序。这个程序经过我多次的大规模修改甚至推翻重来,即使一早写了测试,那些测试也会很快作废。这种大公司给人灌输的“test-driven”编程方式,在这种创造性的程序设计里是根本就是行不通的。要写出这样一个系统,必须全神贯注,深入到语言的本质。而去写测试,往往会打乱原来的思路,所以测试应该是最后完成之后才写的。当我最后完成这个系统,可以大规模的处理 Python 代码的时候,却听见从她的桌上传来一声沉闷的咆哮:“WRITE--THE--TESTS---”这真的非常 Googley!


结果


最后我顺利完成了整个项目,从头到尾都是我一个人设计实现的(除了 Jython 里的 parser)。现在它每天都会把 Google 所有的 Python 代码索引一遍。很多内部工具比如 CodeSearch 里面的 Python 文件上的链接,都是这东西做出来的。我所有的代码加起来才 4000 行。我怎么也想不通为什么他们一个文件就有 9000 行。


总结

这些就是我对 Google 的印象。有好几次我都看到很不错的工程师进入 Google 之后就销声匿迹了,为 Google “默默奉献”,不再有自己的发明创造。我感觉 Google 就是一个埋没人才的机器,而它的“创造性”的名声,却让越来越多的人才被埋没。主动找上门的人才被埋没了不说,还吞并其它公司,并且对他们施行同样的“Google 文化”,埋没更多的人才。


Google 总是号称自己的工程师“build things ground up”,实际上却总是拿一些现成的代码来修修补补,往往耗费更多的时间。当你真的想要“从头”做起,却发现重重的阻碍和压力。


Google 跟其它公司有一个明显的区别就是,Google 不稀罕你,你不被尊重,你活在某些你说不出他哪里牛的“大牛”的阴影下。我没有很多其他公司的工作经历,但是我面试过其它一些公司。也许它们在技术上或者名气上会比 Google 差一些,可是我能感觉到他们对人才的渴望和尊重。所以如果你有很强的能力,何必去 Google 受气呢?无论你走到哪里,那个地方就随你而改进。

点评

源链接?  发表于 2012-9-12 07:41

上一篇:终于在来到美帝一个月之际逆袭高帅富了!!!
下一篇:痴人突发奇想:读应数博士进纽约大学柯朗所还是进普林斯顿?
🔗
zach 2012-9-12 07:27:44 | 只看该作者
全局:
本帖最后由 zach 于 2012-9-11 18:42 编辑

对博士学位说永别 (2012-09-08 23:01:45)转载▼http://blog.sina.com.cn/s/blog_5d90e82f0101atzr.html
分类: 教育
经过深思熟虑之后,我决定再次“抛弃”我的博士学位。这是我第三次决定离开博士学位,也应该是最后一次了。这应该不是什么惊人的消息,因为我虽然读博士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,查找时间是线性的,显然效率很低。使用另外一种“函数式数据结构”,比如函数式的平衡树就会好很多。可是当他们听到这些的时候,居然保持了一种可怕的沉默,就像我并不存在于他们面前!一年多的折腾之后,他们发表了一篇论文,里面的基本内容就是我告诉他们的那些话。署名和“致谢”里面都没有我。我根本不在乎这么小的想法,因为本来一句话就说得清楚。可是他们一点谢意也没有表达,倒在我面前炫耀,实在很无语。如果他们愿意多向我请教,恐怕发表那论文需要的时间不是一年,而是一个月。

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

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

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


未来计划

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

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

点评

源链接?  发表于 2012-9-12 07:41
回复

使用道具 举报

🔗
zach 2012-9-12 07:41:43 | 只看该作者
全局:
我觉得他就是个教主……比如他最近这篇又退学的文章……

在他嘴里,学术界完全就扯淡了,都在做没意义的灌水,不适合他这种牛人。是,学术界是有各种问题,早年抛弃教职去google什么的也有的是,可是最顶级的research基本还是在大学做出来的。他既然这么桀骜不驯,更应该去牛大学当faculty,这样不用鸟别人,光推动人类进步就行了。别说什么当prof也要拉funding跑关系,对一般大学是这样的,对“多次在两个星期之内“灭掉”某些领域20多年的研究”的王教主,这么nb,肯定是去顶级大学啊。MIT、CalTech这样的大牛校,你做纯理论研究,会需要操心funding?只要你开创一个领域,还怕没钱?就算没钱,学生TA或者fellowship养就是了,在顶级大学不要funding活不了?

事实的真相,我看就是,虽然他可以“多次在两个星期之内“灭掉”某些领域20多年的研究”,但是他做不出新东西来。好,那些被他灭掉的领域“新”东西他不屑于做,那别的领域呢?能想出和他不齿的那些idea不同的好idea么?如果学术界都是不齿的idea,那这些年的科技进步都是什么推动出来的?读phd读了10年都没读完的王教主,你为什么10年都拿不到phd?

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


他这做的就是一个straight A+学生做的东西而已,有新东西么?没有。他引以为豪拿出来炫的东西,都没有新东西,那他这10年干嘛了?他老师给他的都是垃圾idea,他自己也想不出来不垃圾的idea,是这样么?

同行怎么尊敬你?同行要看到你推动学术进步的能力,而不是拿A+,用2个学期把人家20多年已经推出来的东西再推一遍的能力。


随便吐吐槽,我完全不懂他的研究方向,召唤懂行的人。

btw. 我自己的phd读的也很搓,现在在做的idea很有可能也属于他说的那种“他们的论文(甚至博士论文)里面的内容,其实好些是我几年前就得到了的结果,只不过我懒得为这些鸡毛蒜皮的东西写论文”,我不适合做能带动领域进步的学术大师,我也承认学术界灌水风、浮夸风很严重,但我不因此否认整个学术界,不否认学术界有大师在做大事。这位从川大到清华到康奈尔到Indiana University的教主,经历如此丰富,怎么就一个大师都没见过呢?我很费解。

回复

使用道具 举报

🔗
zengxinzhy 2012-9-12 10:18:33 | 只看该作者
全局:
Agree, 真正是牛人应该去的是Start up
回复

使用道具 举报

🔗
 楼主| jfct001 2012-9-12 22:55:26 | 只看该作者
全局:
zach 发表于 2012-9-12 07:41
我觉得他就是个教主……比如他最近这篇又退学的文章……

在他嘴里,学术界完全就扯淡了,都在做没意义的 ...

感谢Z神补上源链接。。。
小弟现在北欧读小MS,也是power方向,以后还想去申美帝PHD,被他博客打击的信心全无啊。。。

BTW:我这项目就2年,纯授课,最后倒有个thesis,但是不知道没有paper申美帝power方向PHD到底行不行。。。也许第二年能混点项目,但肯定赶不上申请期了除非gap year,求Z神指点。。。
回复

使用道具 举报

🔗
joshua.cong 2012-9-12 23:04:26 | 只看该作者
全局:
zach 发表于 2012-9-12 07:41
我觉得他就是个教主……比如他最近这篇又退学的文章……

在他嘴里,学术界完全就扯淡了,都在做没意义的 ...

很同意。学术界灌水是常态,再过500年也还是会这样。但就是这样的学术界也照样有牛逼东西出来。

不明白他为什么去美国,想做理论去英国,德国啊。。
想推动人类还去google实习。。你妹。、、
回复

使用道具 举报

🔗
zach 2012-9-13 06:44:55 | 只看该作者
全局:
jfct001 发表于 2012-9-12 09:55
感谢Z神补上源链接。。。
小弟现在北欧读小MS,也是power方向,以后还想去申美帝PHD,被他博客打击的信心 ...

科研经历很重要,paper不是必需的。当然要是有的话很好。
没有你也没辙啊,硬着头皮申吧。就算gap year那也是申请失败以后再gap
回复

使用道具 举报

🔗
NiGuessYiXia 2012-9-26 04:55:37 | 只看该作者
全局:
不能同意更多with zach。

王银就是一sb。牛逼吹的比谁都响。

从他的文章中看出来他很聪明,课上讲的一学就会,我们这种小弱看三天的书不一定比他看一个小时理解的多呢。天天喷这喷那,但是又拿不出来什么真材实料。

说不定他觉得要是phd毕业做出来东西和别人一个水平多掉价啊,又做不出牛逼的东西,赶紧quit算了,还能装装b再喷一下。


回复

使用道具 举报

🔗
NiGuessYiXia 2012-9-26 04:57:20 | 只看该作者
全局:
阴谋论:他真的特别特别牛逼,故意这样写博客求喷,当大家黑他黑的不亦乐乎的时候,然后突然拿出特别牛逼的paper or product 把我们的脸都打了!
回复

使用道具 举报

🔗
zach 2012-9-26 05:18:08 | 只看该作者
全局:
NiGuessYiXia 发表于 2012-9-25 15:57
阴谋论:他真的特别特别牛逼,故意这样写博客求喷,当大家黑他黑的不亦乐乎的时候,然后突然拿出特别牛逼的 ...

不可能。他一直在被黑,从来没有打脸过……
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表