由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 王垠:我不是编译器专家
进入Programming版参与讨论
1 (共1页)
h****e
发帖数: 2125
1

工作多年以来,我深刻体会到一个现象,那就是做过“编译器”工作的人,哪怕只做了
点皮毛,都容易产生高人一等的心理,以至于在与人合作中出现各种问题。由于他们往
往也存在偏执心理和理想主义,所以在恶化人际关系的同时,也可能设计出非常不合理
的软件构架,浪费大量的人力物力。
我曾经提到的DSL例子,就是这样的两个人。他们都自称做过编译器,成天在我面前高
谈阔论,甚至在最基础的概念上班门弄斧,显示出一副“教育”其他人的姿态。其实他
们只有一个人做parser,还不算是真正的编译器工作,却总显示出高深莫测的模样。哲
人一样捋捋胡子,摇摇脑袋,慢条斯理,嗯……另外一个完全就是外行,只是知道一些
术语,成天挂在嘴边。每次他一开口,我都发现这个人并不知道他自己在说什么,却仍
然洋洋得意的样子。
我是被他们作为专家请来这个公司的,来了之后却发现他们最喜欢的事情,是在我面前
显示他们才是“专家”。他们也问过我问题,可是每一次我都发现他们并不想知道答案
,因为我说话的时候他们并没有在听。不管说什么问什么,他们似乎只想别人觉得他们
是最聪明的人。
虽然对其他人趾高气昂,全懂了的样子,对于Brendan Eich(JavaScript 语言的创造
者)这样有权势的人物,却是各种跪舔,显示出各种“贱”来。我虽然尊重Brendan
Eich个人和他的语言,然而很明显他是半路出家,对语言设计并没有很深的造诣。对语
言稍微有点研究的人,都不会对这种人物显示出谄媚的态度。
“Yin,你知道X吗?” 当然他期望的是你说不知道,这样他就能像大师一样,把这个
刚学到的术语给你讲半天。每当这个时候,我就想起一个前同事喜欢说的一句话:“你
问我,是因为你不知道,还是因为你知道?” 其实他问的这个概念X,常常是我很多年
前热心过,试验过,到最后发现严重问题,抛弃了的概念。
更糟的事情是,这其中一人还是Haskell语言的忠实粉丝,他总是有这样的雄心壮志,
要用“纯函数式编程”改写全公司的代码……
遇到这样的人是非常闹心的,到了什么程度?他们经常雄心勃勃用一种新的语言(
Scala,Go之类)试图改写全公司的代码,一个月之后开始唾骂这语言,两个月之后他
们的项目不了了之,代码也不知道哪里去了。然后换一种语言,如此反复……
后来实在没做出什么有用的东西,这两个人又突发奇想,开始做DSL,闹得团队不得安
宁,有点资历的工程师(包括我和一位早期 Netscape 的资深工程师)都极力反对,向
大家指出更容易,更省力的解决方案。然而由于管理层根本不懂,所以任凭这两个人拍
胸脯,没有困难制造困难也要上。因为烦于他们在我面前高谈阔论,而且对这个 DSL
的事情实在看不下去了,我干脆换了一个部门,不再做跟语言和编译器相关的事情。
现在这个DSL做了好几年了,仍然很垃圾,然而公司人傻钱多,居然请到了Java界的资
深人物来给这 DSL写specification。这两人也分别升职为Principal Engineer和
Distinguished Engineer。当看到“Distinguished Engineer”这个title,我觉得太
好笑了。当然,我相信有资历的PL人都会明白这DSL的问题,我想象着这位Java人跟这
两人将会发生的冲突。如果他对此没意见的话,那他的水平还真是值得怀疑了。
在Coverity和其它公司遇到的编译器人,基本是差不多的问题。他们下意识里把自己看
成是最高档次的程序员,所以对其他人显示高高在上的气势。
Coverity有一个ABC工程师,因为自己写过完整一点的静态分析,比较会折腾C++,总是
趾高气昂的对待其他人,甚至直接对别人说:“你写的这是什么代码啊?我绝对不会写
出这么烂的代码!” 还有一个从斯坦福编译器教授Alex Aiken那里毕业的PhD,在
Coverity做构架师,平时一行代码不写,也不看其他人写的,说不出见解深刻点的话,
因为与实际工程脱节,尽在瞎指挥。地位最高的 Distinguished Engineer,成天优哉
游哉,看一些关于parser的话题,似乎parser是他终身的研究方向,也不做什么实事。
我所在的每一家公司,只要工作跟编译器沾边,总是不免遇到这样的人。其它的我就不
细讲了。
有些美国公司在招人的时候表示,对简历里提到“做过编译器”的求职者有戒备心理,
甚至直接说“我们不招编译器专业的人”。以至于我也曾经被过滤掉,因为我做过编译
器相关工作。编译器专业的人本来可以做普通的程序员工作,为什么有公司如此明确不
要他们呢?我现在明白为什么了,因为自认为是“编译器专业”的人,有大概率是性格
很差的团队合作者,喜欢显示出高高在上,拯救世界的姿态,无法平等而尊重的对待其
他人。
有些人也把我叫做“编译器专家”,喜欢在我面前提“编译器”这个词。我一直听着别
扭,却没有正式拒绝这个称呼。每每遇到“真正”的编译器专家,我总觉得自己不是那
个圈子的。不是我不能做编译器的工作,而是编译器领域人士的认识水平,理念和态度
和我格格不入。
所以我应该明确表个态:我不是编译器专家,而且我看不起编译器这个领域。我一般不
会居高临下看低其它人,然而对于认识肤浅却又自视很高的人,我确实会表示出藐视的
态度。现在我的态度是针对编译器这整个领域。真的,我看这些人不顺眼很多年了。
就最后研究的领域,我是一个编程语言(PL)研究者,从更广的角度来看,我是一个计
算机科学家。有人听了“科学家”一词总是误以为我在抬高自己,而在我心目中“科学
家”仅仅是一个职业,就像“厨师”一样,并不说明一个人的水平和地位。PL研究者被
叫做“计算机科学家”是很恰当的,因为PL领域研究的其实不只是语言,而是计算的本
质。通常人公认的计算机科学鼻祖Alan Turing也可以算是一个PL研究者,虽然他认识
水平比较一般。
IT业人士经常混淆编程语言(PL)和编译器两个领域,而其实PL和编译器是很不一样的
。真懂PL的人去做编译器也会比较顺手,而编译器专业的却不一定懂PL。为什么呢?因
为PL研究涵盖了计算最本质的原理,它不但能解释语言的语义,而且能解释处理器的构
架和工作原理。当然它也能解释编译器是怎么回事,因为编译器只不过是把一种语言的
语义,利用另外一种语言表达出来,也就是翻译一下。PL研究所用的编程范式和技巧,
很多可以用到编译器的构造中去,但却比编译器的范畴广阔很多。
深入研究过PL的人,能从本质上看明白编译器里在做什么。所以编译器算是PL思想的一
种应用,然而PL的应用却远远不止做编译器。每次有人说我是做编译器的,我都觉得是
一种贬低。我只不过拿精髓的理念稍作转换和适应,做了点编译器的事情,就被人叫做
“编译器专家”,而我根本不是局限在这个方向。
专门做编译器的人,一般是专注于“实现”别人已经设计好的语言,比如C,C++。他们
必须按照语言设计者写好的语言规范(specification)来写编译器,所以在语言方面
并没有发挥的空间,没有机会去理解语言设计的微妙之处。
许多做编译器的人并不是从零开始写的,而是拿现成的编译器来修改,所以他们往往被
已经存在的,具体的构架限制了想象力。极少有编译器人完整实现过一个语言,都是在
已有的基础上小改一下,优化一些局部的操作。这大大限制了他们可以获得的全局洞察
力。
很多编译器工程师并没有接受过系统的PL理论教育,有些甚至是半路出家,在学校里根
本没碰过编译器,也没研究过PL。比如我的第一个公司Coverity,招进去的很多人从来
没碰过编译器,也不懂 PL。我进去不久,Coverity的VP满口牛气向新人宣布:“我们
会教会你们一切!” 然而很可惜,PL的精华根本不是一个公司在短期能够传授的。
Coverity没有这个能力,Google,Facebook,Intel,微软……都没有这个能力。
很多半路出家的编译器工作者以为在公司跟着做项目,折腾下LLVM之类,就会明白所有
的原理。然而事实是很多人这样做了十几年,仍然不明白最基础的原理,因为他们被具
体的实现限制了想象力。PL理论联系着计算的本质,不明白这些原理就只能看到肤浅的
表面,死记硬背,遇到新的现象就没法理解了。跟LLVM专家聊天,我很多时候发现他们
的知识是死的,僵化在LLVM具体的实现里了。
由于缺乏对PL理论的深入研究,编译器人往往用井底之蛙的眼光来看待语言,总以为他
们实现过的语言(比如C++)就是一切。一个语言为什么那样设计?不知道。它还可以
如何改进?不知道。“它就是那个样子!” 这是我常听编译器人说的话。当然很多编
译器人连C++都没法完整实现,只是在已有基础上做了很小的改动。
许多编译器人把C++的创造者Bjarne Stroustrup奉为神圣,却不知道Stroustrup在PL领
域并不是闪耀的明星。Stroustrup曾经在2011年11月11日来到IU进行关于C++11的演讲
,IU的资深PL教授们都有到场。Stroustrup谦卑的说:“我需要向你们学习很多东西来
改进C++。” 看似“谦虚”,其实他说的是实话,因为IU的教授们在语言设计上确实比
他强很多。
Stroustrup的整场演讲,我没有看到任何新颖的突破,全都是几十年早已出现,我天天
都在用的东西。然而这些C++的改进被编译器人看作是重大的历史性的突破,因为他们
很多人根本没用过其它语言,甚至不知道它们的存在。
后来我的一个能力比较弱的PL同学进入了C++委员会,为改进C++做一些事情。从她的描
述和表现,我感觉C++委员会气氛十分的官僚,古板和愚钝。她进了C++委员会之后,感
觉整个人都傻了一样,很肤浅的小事也说得眉飞色舞,好像什么重大的突破一样。真懂
PL的一些同学,很少有混进C++委员会的,因为那意味着要利用另外的关系网,让一些
自己根本看不起的人骑在自己头上,必须先帮他们做一些瞎扯淡的事情。
编译器人所膜拜的大师,在真正的PL研究者眼里其实不算什么。编译器人与PL研究者在
见识上的差距是非常明显的。PL人因为看透了很多东西,比较谦虚,往往不想揭穿编译
器人的差距。但编译器人却因为在“工业界”有地位,趾高气昂以为自己懂了一切一样
,结果遇到深刻点的PL问题就各种稀里糊涂。
实际上做编译器是很无聊的工作,大部分时候只是把别人设计的语言,翻译成另外的人
设计的硬件指令。所以编译器领域处于编程语言(PL)和计算机体系构架(computer
architecture)两个领域的夹缝中,上面的语言不能改,下面的指令也不能改,并没有
很大的创造空间。
编译器领域几十年来翻来覆去都是那几个编程模式和技巧,玩来玩去也真够无聊的。起
初觉得新鲜,熟悉了之后也就那个样了。很多程序员都懂得避免“低水平重复”,可是
由于没有系统的学习过编译器,他们往往误以为做编译器是更高级,更有趣的工作,而
其实编译器领域是更加容易出现低水平重复的地方,因为它的创造空间非常有限。
同样的编译优化技巧,在A公司拿来做A语言的编译器,到了B公司拿来做B语言的编译器
……大同小异,如此反复。运气好点,你可能遇到C,C++,Java。运气不好,你可能遇
到JavaScript,PHP,Ruby,Go之类的怪胎,甚至某种垃圾DSL。但公司有要求,无论语
言设计如何蹩脚,硬件指令设计如何繁琐,你编译出来的指令必须能正确运行所有这语
言写出来的代码。你说这活是不是很苦逼?
我在Cornell 的时候,有一个很有权势的编译器教授,从未发表有理论价值的paper,
却老在Java上面做文章。他和他的博士生们总是把一些其它语言几十年前已经有的“新
特性”搬到Java上面,老酒换新瓶,发paper拉funding。由于拉了很多钱,所以在系里
很受宠,他的学生们在其它人面前都趾高气昂的样子。
后来这教授的一个学生去了Facebook,帮他们做HipHop,一个从PHP到C++的“编译器”
。其实这种“源到源”编译器做起来不算难,但给PHP这样劣质的语言做编译器,实在
是狗血的工作,繁琐而头痛。没有任何理论价值不说,在工业界有什么价值也难说。我
的一个前同事曾经对Facebook的这个项目发表了一个尖锐而幽默的评价:“Facebook现
在不但给母猪涂上了口红,而且真的开始f..它了!”
后继的还有PHP VM一类的东西,越来越离谱。后来这位同学可能也受不了,换组去做其
它跟语言无关的事情了。在 PL研究者看来,VM也并没有什么稀奇。PL领域有各种各样
的“抽象机”(abstract machine),比如CEK machine,它们揭示了计算的方方面面
。我自己都设计实现过好几个“可逆抽象机”,它们可以进行所谓“可逆计算”。所以
一个PL研究者很容易就能设计出一个VM来,它们只不过是一种经过部分优化的解释器。
每每看到编译器人说到“VM”这个词的时候那种荣耀而敬畏的神情,好像只有他们明白
VM是什么,我就觉得好笑,外加一种说不出的滋味。编译器人虽然知道一个具体的VM怎
么实现,知道一些死板的细节和术语,却不知道VM的本质是什么,不知道一个全新的,
具有新特性的VM要怎么设计出来。
在《Chez Scheme 的传说》一文中,我提到在Cornell的时候选过一门编译器课程,后
来在半学期的时候drop掉了。现在回想起这段历史,发现它对“教育理念”这件事挺有
启发意义。教育是什么,是为了什么?Cornell的这门课给了我一个很好的反面教材。
这个编译器课程那一年的教授是Tim Teitelbaum,他也是GrammaTech公司的创始人。
GrammaTech 是与Coverity类似的静态分析工具,不过GrammaTech还能分析二进制代码
。Tim Teitelbaum是Donald Knuth的崇拜者,他经常提到Knuth提出的一些“伟大概念
”,比如attribute grammar。总是把Knuth那些东西说成是最伟大的发明。
这门课不知道最初是谁设计的。Andrew Myers和Tim Teitelbaum以前交替着讲这个课。
那么我为什么会 drop 这门课,而且是在学校允许 drop 课程的 deadline 之后呢?因
为它的教育理念非常的落后和不合理,可以说就是坑人的。
从课程的大纲你可以看出来,它是很传统的编译器课程,一开头花很多时间精力去折腾
parser。源语言是一种类似 Java 的语言,parser 是使用类似 lex,yacc 的工具生
成的。这种盲目重视 parser 的误区,我已经在另外一篇文章批评过,但还这不是我鄙
视的重点。
这门课最让人受不了的事情,发生在我成功完成 parser,开始编译代码的第一个 pass
之后。当得到那次作业分数的时候,我惊呆了。我从来没有得过这么差的分数!仔细
看原因,说我的代码没通过好些“测试”。我到那个时候才明白,原来提交后的代码,
会被助教拿来跑一些我毫不知情的测试(test),然后他简单的根据这些测试的结果给
出分数。
作业本身的要求是用大段大段的英语写下来的。你需要按照这些英语描述从零实现编译
器。真的是从零开始,没有任何的框架或者示例代码,完全从白纸开始。经过许多努力
,你写出了编译器,还自己写了一些小测试,你觉得完全满足了作业的要求。可是提交
之后,你的编译器代码却要被一整套你手里没有的“测试”进行检验。所以最后你惊讶
的发现,自己以为做对了,而助教那里的测试有那么多没通过!
最让人无语的事情是,学生手里是没有这套测试的,而且他们不给你。也就是说,你提
交作业的时候,无法用最后给你评分用的那些测试来跑你的编译器,所以你无法知道提
交之后会有多少测试失败。
当我向助教和教授抗议,说这样不合理,要求得到那些测试的时候,我受到粗暴的拒绝
和鄙视。那种语气,好像是在说我是一个不合格的学生,提一些无理要求。用来打分的
测试怎么可能给你,你是太笨了吧?
很多其它 Cornell 学生被这样对待,可能都以为没什么,按照他们的要求做就行了,
然而这是完全不合理的。按照合理的教学理念,学生应该有权得到自己学习状态的反馈
。如果学生做这种编程作业,就应该能从实际的测试中得到反馈,知道自己的编译器是
否符合要求。要知道,大段大段的英语描述,是很容易漏看或者误解的。只有大量的测
试才能正确的抓住“要求”本身。所以不给测试,就相当于不给你准确的要求,到后来
却要拿这套测试来给你打分。
课程本来应该把测试连同英语描述一起给学生,他们实现之后,自己跑通所有测试,再
提交代码。这样学生就能准确的把握作业的“要求”,而不是看着那些混淆不堪的英语
段落自己在那里猜。
因为这个原因,而且由于教授和助教的傲慢态度。我最终决定在课程都快进行到一半的
时候 drop 这门课程。当然,要进行这个操作是需要系主任签字特许的,为此我还在系
主任那里留下一笔“污点”。
在我看来,Cornell 教授们的这种做法,根本就不是合格的教育者,可以说就是在坑人
,整人,害人。在他们的理念里,教育是单方面的,学生必须通过作业和考试,而教授
却不需要为教学方法负责,可以随便怎么教,作业和考试想怎么整都行。
很多 Cornell 教授有类似的现象,教学不用心,光是各种拉 funding,耀武扬威,完
全不顾学生死活。也许这就是为什么 Cornell 总是有学生自杀。我走了之后有一年,
在一个星期之内有三个学生从学校里瀑布旁边的吊桥跳下去自杀,新闻轰动了全美国。
后来在网上看到有人骂 Cornell,说:“Cornell 想教你游泳,于是他把你推进池塘里
,等你扑腾上岸。等你快上来的时候,他又朝你扔一块大石头,然后继续等你游上来。
等你又快上岸了,他又拿起一个榔头往你头上猛砸。这样你就可以死了,可是 Cornell
仍然在那里等着你游上岸来……”
这段话恰到好处的描述了我的在 Cornell 的经历。
转学到 IU 之后,我参加了 Kent Dybvig 的编译器课程,发现我所设想的编译器课程
原来早已被他实现了,而且实现的如此友好。编译器的每一个 pass,都会把所有的“
官方测试”发给学生。学生按照要求实现每个编译器 pass,在自己电脑上跑通所有测
试,充分检查,然后才提交作业。而且作业的网站会自动测试你提交的代码,在提交的
当时就给你反馈:“你有 N 个测试没通过,请修改后重新提交。”
这才是正确的教育方法,因为它给予学生合理的反馈,让他们清晰的知道自己的表现是
否符合预期,主动进步,而不是拿一些学生事先不知道的标准在那里瞎坑人,光是给人
打分。
Cornell 没有明白教育的目的是培养人,而不只是给人发文凭。Dybvig 教授不但技术
和学术水平远高于传统的编译器人,而且他的课程也设计得如此科学和友好。这才是真
正的教育者。
虽然苦逼,编译器人往往自高自大,高估自己在整个 IT 领域里的地位,看低其它程序
员。编译器人很多认为自己懂了编程语言的一切,而其实他们只是一知半解。
编译器领域最重要的教材,龙书和虎书,在我看来也有很多一知半解,作者自己都稀里
糊涂的内容。而且花了大量篇幅讲 parser 这种看似高深,实则肤浅的话题,浪费读者
太多时间,误导他们认为 parser 是至关重要的技术。以至于很多人上完编译器课程,
只学会了写 parser,对真正关键的部分没能理解。龙书很难啃,为什么呢,因为作者
自己都不怎么懂。虎书号称改进了龙书,结果还是很难啃,感觉只是换了一个封面而已。
我曾经跟虎书作者 Andrew Appel 的一个门徒合作过,当时这人在 IU 做助理教授。借
着一次我跟她做 independent study 的机会,逼我写毫无意义的论文,而且对人非常
的 push 和虚伪。作为普林斯顿大学毕业的 PhD,学识水平跟 IU 的其他教授格格不入
,却在待人接物方面显示出各种“贱”,对编译器领域的“牛人”各种跪舔,随时都在
显示自己以前在某某人身边工作过。那是我在 IU 度过的最难受的一个学期,这使我对
“编译器人”的偏见又加深一层。
编译器领域的顶级人物如此,其它声称做过编译器的人也可想而知了。大部分自称做过
编译器的人,恐怕连最基本的的编译器都没法从头写出来。利用 LLVM 已有的框架做点
小打小闹的优化,就号称自己做过编译器了。许多编译器人士死啃书本,肤浅的记忆各
种术语(比如 SSA),死记硬背具体实现细节(比如 LLVM 的 IR),看不透,无法灵
活变通。
所以我常说,编译器是计算机界死知识最多,教条主义最严重的领域。经常是某人想出
一个做法,起个名字,其他人就照做,死记硬背,而且把这名字叫得特别响亮。你要是
一时想不起这名字是什么意思,立马被认为是法国人不知道拿破仑,中国人不知道毛泽
东。你不是做编译器的!
现在因为 AI 的泡沫,很多人转向所谓“AI 框架”,“AI 编译器”。这类职位如此之
多,以至于很多人根本没碰过编译器,也摇身一变成为了“深度学习编译器工程师”。
半路出家的“AI 框架工程师”和“AI 编译器工程师”们,在别人写出来的框架上小打
小闹优化一下,就以为自己做的是世界上最前沿的工作,却不知道深入研究过 PL 的人
其实很容易就看破了那些东西。很多 AI 框架工程师嘴里各种奇怪的术语,却看不透所
谓“AI 框架”只不过是“可求导编程语言”,完全不能从高级语言和逻辑的角度去看
问题。
AI 框架和编译器里面的原理和本质很容易被 PL 理论解释,PL 研究者能够为这些项目
指出正确的方向,避免不必要的弯路,然而这些自诩为“编译器人”的 AI 框架工程师
们完全意识不到这一点。自高自大,膜拜权威,完全没有去听 PL 研究者在说什么,甚
至觉得能“教育”比自己看得透的人。
每一个大公司都要趁着 AI 这个热度做自己的“AI 框架”,“AI 编译器”,唯恐不做
自己的框架,就会在业界丢面子,所以一窝蜂而上。一定要聘用名声很大的 AI 框架专
家来公司站台,虽然也不知道他最后能做出什么来。所有 AI 框架和编译器都大同小异
,属于无谓的重复劳动。有些人捣鼓一下这个框架,然后用同样的技巧去捣鼓另外一个
,中间都是一些工程性的脏活。这种事情真是非常无聊。
AI 的热潮正在褪去,大部分 AI 公司会在一年之内失败。“AI 编译器”的工作也会濒
临灭绝。所以任凭他们自己瞎蒙乱撞吧,反正坚持不了多久了。
这就是为什么虽然有多次编译器的工作机会,包括 Apple 的 LLVM 部门,我最后都没
去。进入 Intel 的时候,本来编译器部门也欢迎我,可是再三考虑之后还是选择了其
它方向。因为我很清楚的记得,每一次做编译器相关工作都是非常压抑的,需要面对一
些沉闷古板而自以为是的人,而且内容真的是重复,无聊和枯燥。
我唯一敬佩的编译器作者是 Kent Dybvig,但我也不想跟他一起做编译器。最近很多芯
片公司的“AI 编译器”部门找我,我全都拒绝了。我不喜欢身边围绕着这些人,做着
这些事。我宁愿去卖烧饼也不想做编译器。
由于编译器人的性格特征,除非一个公司专门要做编译器,否则对于曾经做过编译器,
想换个方向的求职者,在面试的时候最好深刻了解他们的性格,态度和做事方式,看他
们是否能看淡这些,能否平等对待其他人,能否理性而实在的对待工程。否则自视很高
的“编译器人”进了公司,很可能对团队成为一种灾难。
我写这篇文章是为了警醒广大 IT 公司,也是为了在精神上支持其它程序员。我希望他
们不要被编译器的“难度”迷惑了,不要被编译器人吓唬和打压。你们做的并不是更低
级,更无聊的工作。正好相反,真正可以发挥创造力的空间并不在底层的编译器一类的
东西,而在更接近应用和现实的地方。
每当有人向我表示编译器高深莫测,向往却又高攀不上,我都会给他打一个比方:做编
译器就像做菜刀。你可以做出非常好的菜刀,然而你终究只是一个铁匠。铁匠不知道如
何用这菜刀做出五花八门,让人心旷神怡,米其林级别的菜肴,因为那是大厨的工作。
要做菜还是要打铁,那是你自己的选择,并没有贵贱之分。
h****e
发帖数: 2125
2
王垠隔空给某位转行的老大爷扫盲:
http://www.yinwang.org/blog-cn/2019/12/24/compilers

【在 h****e 的大作中提到】
: “
: 工作多年以来,我深刻体会到一个现象,那就是做过“编译器”工作的人,哪怕只做了
: 点皮毛,都容易产生高人一等的心理,以至于在与人合作中出现各种问题。由于他们往
: 往也存在偏执心理和理想主义,所以在恶化人际关系的同时,也可能设计出非常不合理
: 的软件构架,浪费大量的人力物力。
: 我曾经提到的DSL例子,就是这样的两个人。他们都自称做过编译器,成天在我面前高
: 谈阔论,甚至在最基础的概念上班门弄斧,显示出一副“教育”其他人的姿态。其实他
: 们只有一个人做parser,还不算是真正的编译器工作,却总显示出高深莫测的模样。哲
: 人一样捋捋胡子,摇摇脑袋,慢条斯理,嗯……另外一个完全就是外行,只是知道一些
: 术语,成天挂在嘴边。每次他一开口,我都发现这个人并不知道他自己在说什么,却仍

g****t
发帖数: 31659
3
这不就是我前面说的么。我怀疑他课是不是没选还是怎么回事。
这不是找点书学习下paper knowledge的问题。
这是我前面说的,也算接近实际情况吧。
”老王主要技术是他master学的几本书里的解释器。
我认为他没有hands on实现过编译器。也许课程都没上过。
这还是有很大不同的。“
能不能做编译器之类的项目,在过去信息没有那么广泛传播。所以有点神秘。
在今天,到处都是60天写c compiler之类的项目。
我看主要就是c类语言不熟的问题。
一个语言写码之习惯建立,要很多年。没有什么天纵之才能克服手眼脑之配合限制的。
为什么一定要c类语言,因为这是silicon这块决定的。

【在 h****e 的大作中提到】
: 王垠隔空给某位转行的老大爷扫盲:
: http://www.yinwang.org/blog-cn/2019/12/24/compilers

h*i
发帖数: 3446
4
他这个认识还不够深刻。
他没有进一步认识到其实做PL的也和他鄙视的做compiler的一样;再深刻一步,就是做
TCS也和PL一样;再深刻一步,就是职业数学家也和TCS一样。
最后,他应该意识到,这种鄙视链,其实都是自我心理安慰的机制。因为鄙视链越上端
,性价比越低。

【在 h****e 的大作中提到】
: “
: 工作多年以来,我深刻体会到一个现象,那就是做过“编译器”工作的人,哪怕只做了
: 点皮毛,都容易产生高人一等的心理,以至于在与人合作中出现各种问题。由于他们往
: 往也存在偏执心理和理想主义,所以在恶化人际关系的同时,也可能设计出非常不合理
: 的软件构架,浪费大量的人力物力。
: 我曾经提到的DSL例子,就是这样的两个人。他们都自称做过编译器,成天在我面前高
: 谈阔论,甚至在最基础的概念上班门弄斧,显示出一副“教育”其他人的姿态。其实他
: 们只有一个人做parser,还不算是真正的编译器工作,却总显示出高深莫测的模样。哲
: 人一样捋捋胡子,摇摇脑袋,慢条斯理,嗯……另外一个完全就是外行,只是知道一些
: 术语,成天挂在嘴边。每次他一开口,我都发现这个人并不知道他自己在说什么,却仍

g****t
发帖数: 31659
5
确实如此。
intc,nivida,arm等管事的管c,cpp代码的,处于鄙视链低端。不一定知名。手艺
肯定不如啥函数式高大上。但是是实打实一个决定就可以影响全球计算空间的。

【在 h*i 的大作中提到】
: 他这个认识还不够深刻。
: 他没有进一步认识到其实做PL的也和他鄙视的做compiler的一样;再深刻一步,就是做
: TCS也和PL一样;再深刻一步,就是职业数学家也和TCS一样。
: 最后,他应该意识到,这种鄙视链,其实都是自我心理安慰的机制。因为鄙视链越上端
: ,性价比越低。

h****e
发帖数: 2125
6
嗯,这个见识还是不错的,值得赞一下。

【在 h*i 的大作中提到】
: 他这个认识还不够深刻。
: 他没有进一步认识到其实做PL的也和他鄙视的做compiler的一样;再深刻一步,就是做
: TCS也和PL一样;再深刻一步,就是职业数学家也和TCS一样。
: 最后,他应该意识到,这种鄙视链,其实都是自我心理安慰的机制。因为鄙视链越上端
: ,性价比越低。

l*******m
发帖数: 1096
7
老王主要不明白两点:的确有不少聪明人,学什么都快都好。但每个人都精力有限,除
了几个翘楚,top 10%的人水平差不多。

:确实如此。
:intc,nivida,arm等管事的管c,cpp代码的,处于鄙视链低端。不一定知名。手艺
h****e
发帖数: 2125
8
第一,老王写这篇文章是为了说明他自己是搞PL的,超越于编译器之上,可不是为了自
曝其短说他没搞过编译器很失败,你不要缠夹不清。
第二,你那个什么一定要熟悉C才能搞compiler的观点更是不对,王垠很推崇的Lisp语
言1958年就被开发出来了,比C早多了。

【在 g****t 的大作中提到】
: 这不就是我前面说的么。我怀疑他课是不是没选还是怎么回事。
: 这不是找点书学习下paper knowledge的问题。
: 这是我前面说的,也算接近实际情况吧。
: ”老王主要技术是他master学的几本书里的解释器。
: 我认为他没有hands on实现过编译器。也许课程都没上过。
: 这还是有很大不同的。“
: 能不能做编译器之类的项目,在过去信息没有那么广泛传播。所以有点神秘。
: 在今天,到处都是60天写c compiler之类的项目。
: 我看主要就是c类语言不熟的问题。
: 一个语言写码之习惯建立,要很多年。没有什么天纵之才能克服手眼脑之配合限制的。

h****e
发帖数: 2125
9
这观点,没看懂。

【在 l*******m 的大作中提到】
: 老王主要不明白两点:的确有不少聪明人,学什么都快都好。但每个人都精力有限,除
: 了几个翘楚,top 10%的人水平差不多。
:
: :确实如此。
: :intc,nivida,arm等管事的管c,cpp代码的,处于鄙视链低端。不一定知名。手艺

g****t
发帖数: 31659
10
你可能不知道Lisp机器什么时候失败的。
我之前找过其中人聊过。
现在之到把语言翻译到硬件而不是中间层的compiler,就是C类语言的应用。
这是分不开的。
如果你不熟悉c,开始就没写对。
大点的项目是会半途失控的,无法debug。

【在 h****e 的大作中提到】
: 第一,老王写这篇文章是为了说明他自己是搞PL的,超越于编译器之上,可不是为了自
: 曝其短说他没搞过编译器很失败,你不要缠夹不清。
: 第二,你那个什么一定要熟悉C才能搞compiler的观点更是不对,王垠很推崇的Lisp语
: 言1958年就被开发出来了,比C早多了。

h*i
发帖数: 3446
11
Lisp大牛,写CLOS,提出“Worse is better"名言那位,是一个我在研究院时期的同事
,也是个诗人(很高产,每天写一首这种)。他当年开Lisp公司,失败了,后来就是到
处混事,靠朋友打招呼”不要把他fire了“,拿份工资混着,继续只写common lisp,
蛮好玩的老头。
失败的原因是PC兴起了,太贵的机器卖不出去了。
计算机这个行当,都是硬件驱动的,其他的都是吹牛,不影响大势。所以你可以吹你的
,我也可以吹我的。最后谁胜利,就看硬件的发展,与什么优势啦,理论啦,没有什么
关系。
一个字,就是“命”。

【在 g****t 的大作中提到】
: 你可能不知道Lisp机器什么时候失败的。
: 我之前找过其中人聊过。
: 现在之到把语言翻译到硬件而不是中间层的compiler,就是C类语言的应用。
: 这是分不开的。
: 如果你不熟悉c,开始就没写对。
: 大点的项目是会半途失控的,无法debug。

d***a
发帖数: 13752
12
王垠是不是被搞编译的人鄙视过,留下了心理阴影。他确实不是搞编译的,不是编译专
家。编程语言和编译相关性很高,但内容和技术上相差很远。
编译很硬,要么是纯理论的形式化证明,要么是工程性很强的问题,比如说需要实打实
用benchmark来证实自己的方法比别人快,并且一定不能产生错误代码。王垠不适合搞
这些。
编译原理的基础是形式语言与自动机,与图灵机紧密相关,那又是另一个王垠不擅长的
东西。:-)

【在 h****e 的大作中提到】
: “
: 工作多年以来,我深刻体会到一个现象,那就是做过“编译器”工作的人,哪怕只做了
: 点皮毛,都容易产生高人一等的心理,以至于在与人合作中出现各种问题。由于他们往
: 往也存在偏执心理和理想主义,所以在恶化人际关系的同时,也可能设计出非常不合理
: 的软件构架,浪费大量的人力物力。
: 我曾经提到的DSL例子,就是这样的两个人。他们都自称做过编译器,成天在我面前高
: 谈阔论,甚至在最基础的概念上班门弄斧,显示出一副“教育”其他人的姿态。其实他
: 们只有一个人做parser,还不算是真正的编译器工作,却总显示出高深莫测的模样。哲
: 人一样捋捋胡子,摇摇脑袋,慢条斯理,嗯……另外一个完全就是外行,只是知道一些
: 术语,成天挂在嘴边。每次他一开口,我都发现这个人并不知道他自己在说什么,却仍

g****t
发帖数: 31659
13
总结的很好。我再试着压缩一下:
抽象编译原理研究,和实际的编译项目。目测老王都没从事过。
考试两次才搞定,也说明其能力倾向不适合。
另外老王几十年没和kernel.org的人吵过架,也说明他不是os那个圈子的。


: 王垠是不是被搞编译的人鄙视过,留下了心理阴影。他确实不是搞编译的
,不是
编译专

: 家。编程语言和编译相关性很高,但内容和技术上相差很远。

: 编译很硬,要么是纯理论的形式化证明,要么是工程性很强的问题,比如
说需要
实打实

: 用benchmark来证实自己的方法比别人快,并且一定不能产生错误代码。
王垠不
适合搞

: 这些。

: 编译原理的基础是形式语言与自动机,与图灵机紧密相关,那又是另一个
王垠不
擅长的

: 东西。:-)



【在 d***a 的大作中提到】
: 王垠是不是被搞编译的人鄙视过,留下了心理阴影。他确实不是搞编译的,不是编译专
: 家。编程语言和编译相关性很高,但内容和技术上相差很远。
: 编译很硬,要么是纯理论的形式化证明,要么是工程性很强的问题,比如说需要实打实
: 用benchmark来证实自己的方法比别人快,并且一定不能产生错误代码。王垠不适合搞
: 这些。
: 编译原理的基础是形式语言与自动机,与图灵机紧密相关,那又是另一个王垠不擅长的
: 东西。:-)

d***a
发帖数: 13752
14
在工作上,王垠做的是支持性的软件设计工具,和软件工程的相关性大。编译是非常
hard core的东西,我觉得他明显没做过也不擅长。
软件工程和软件开发支持虽然不是hard core的东西,但非常重要,也很有钱途。王垠
可惜了,他入行早,如果老老实实地做,自己能轻松赚钱不说,也可能会有一定影响,
不应该搞成现在这个样子。

【在 g****t 的大作中提到】
: 总结的很好。我再试着压缩一下:
: 抽象编译原理研究,和实际的编译项目。目测老王都没从事过。
: 考试两次才搞定,也说明其能力倾向不适合。
: 另外老王几十年没和kernel.org的人吵过架,也说明他不是os那个圈子的。
:
:
: 王垠是不是被搞编译的人鄙视过,留下了心理阴影。他确实不是搞编译的
: ,不是
: 编译专
:
: 家。编程语言和编译相关性很高,但内容和技术上相差很远。
:
: 编译很硬,要么是纯理论的形式化证明,要么是工程性很强的问题,比如

h****e
发帖数: 2125
15
老王这眼高于顶的性格,绝对发不了财,也不会有啥除了喷以外的影响。如果能当个教
授,也许是他最好的归宿。

core

【在 d***a 的大作中提到】
: 在工作上,王垠做的是支持性的软件设计工具,和软件工程的相关性大。编译是非常
: hard core的东西,我觉得他明显没做过也不擅长。
: 软件工程和软件开发支持虽然不是hard core的东西,但非常重要,也很有钱途。王垠
: 可惜了,他入行早,如果老老实实地做,自己能轻松赚钱不说,也可能会有一定影响,
: 不应该搞成现在这个样子。

g****t
发帖数: 31659
16
他太急了。躺赢的事搞废了。
其实其极度在意简化中文圈子的看法。
然而简化中文是胡适设计的。这就死循环了。
按华夏古代儒教的功法,财富也好,荣誉也好,都可以躺赢。不能急。三纲八条保持住
,三代之内一个家庭就大概率走到全社会的5%了。不需要什么复杂的东西。


: 在工作上,王垠做的是软件开发工具,和软件工程的相关性大。编译是非常hard
core

: 的东西,我觉得他明显没做过也不擅长。

: 软件工程和软件开发支持虽然不是hard core的东西,但非常重要,也很有钱途
。王垠

: 可惜了,他入行早,如果老老实实地做,自己能轻松赚钱不说,也可能会有一定
影响,

: 不应该搞成现在这个样子。



【在 d***a 的大作中提到】
: 在工作上,王垠做的是支持性的软件设计工具,和软件工程的相关性大。编译是非常
: hard core的东西,我觉得他明显没做过也不擅长。
: 软件工程和软件开发支持虽然不是hard core的东西,但非常重要,也很有钱途。王垠
: 可惜了,他入行早,如果老老实实地做,自己能轻松赚钱不说,也可能会有一定影响,
: 不应该搞成现在这个样子。

g****t
发帖数: 31659
17
你把教授想的太简单了。老王把自己包装成学术牛。靠的是指出这个那个都不牛。从克
怒奇开始一直到不知名的国内Intc 的ai engineer。
然而从国内开始,看记录,无论考试,还
是写文章,他差远了。
其长处还就是写functional 类型的java。


: 老王这眼高于顶的性格,绝对发不了财,也不会有啥除了喷以外的影响。
如果能
当个教

: 授,也许是他最好的归宿。

: core



【在 h****e 的大作中提到】
: 老王这眼高于顶的性格,绝对发不了财,也不会有啥除了喷以外的影响。如果能当个教
: 授,也许是他最好的归宿。
:
: core

d***a
发帖数: 13752
18
他教书不错,但在美国做不了教授。他总是把时间花在说自己如何如何聪明上,却拿不
出成果来,说这些是我第一个做出来的。美国学术界聪明的人太多,只有聪明,和什么
都没有差不多。:-)

【在 h****e 的大作中提到】
: 老王这眼高于顶的性格,绝对发不了财,也不会有啥除了喷以外的影响。如果能当个教
: 授,也许是他最好的归宿。
:
: core

g****t
发帖数: 31659
19
老王的长处是独立思考。
从小一路保送,美国名师名校的多了。老王的记录说明,与之相比,其聪明啥的谈不上
。他天天怕的就是别人说他不聪明。高考成绩啥了bbs说了多少年。
Btw,
我主要是觉得established scientist ,专家教授这个圈子道德系统出问题。整体高危
。但人家其他方面本事必须承认。那不是一般智力的人能进去站稳的。


: 他教书不错,但在美国做不了教授。他总是把时间花在说自己如何如何聪
明上,
却拿不

: 出成果来,说这些是我第一个做出来的。美国学术界聪明的人太多,只有
聪明,
和什么

: 都没有差不多。:-)



【在 d***a 的大作中提到】
: 他教书不错,但在美国做不了教授。他总是把时间花在说自己如何如何聪明上,却拿不
: 出成果来,说这些是我第一个做出来的。美国学术界聪明的人太多,只有聪明,和什么
: 都没有差不多。:-)

h****e
发帖数: 2125
20
你把教授想的太高大上了,只要肯play by their rules,真没啥太难的。老王当不了
教授是性格问题,不是能力问题,也没人说他能去Stanford/MIT啥的CS当教授。他但凡
能在IU拿到个PL方向的屁挨着地,去个二三流学校是不成问题的。可惜他一受不了教授
指使他,二看不上灌水发文章,也混不了学术圈。

【在 g****t 的大作中提到】
: 你把教授想的太简单了。老王把自己包装成学术牛。靠的是指出这个那个都不牛。从克
: 怒奇开始一直到不知名的国内Intc 的ai engineer。
: 然而从国内开始,看记录,无论考试,还
: 是写文章,他差远了。
: 其长处还就是写functional 类型的java。
:
:
: 老王这眼高于顶的性格,绝对发不了财,也不会有啥除了喷以外的影响。
: 如果能
: 当个教
:
: 授,也许是他最好的归宿。

h****e
发帖数: 2125
21
他最大的强项还是技术流狂喷。

【在 d***a 的大作中提到】
: 他教书不错,但在美国做不了教授。他总是把时间花在说自己如何如何聪明上,却拿不
: 出成果来,说这些是我第一个做出来的。美国学术界聪明的人太多,只有聪明,和什么
: 都没有差不多。:-)

g****t
发帖数: 31659
22
你开啥玩笑。好点的学校经常phd资格考过不了的都一大堆。
写论文做研究也有自己的功夫。
人人都能当教授,哪有这回事。
老王不擅长考试,你没看出来?首先这一条就悬了。


: 你把教授想的太高大上了,只要肯play by their rules,真没啥太难的
。老王
当不了

: 教授是性格问题,不是能力问题,也没人说他能去Stanford/MIT啥的CS当
教授。
他但凡

: 能在IU拿到个PL方向的屁挨着地,去个二三流学校是不成问题的。可惜他
一受不
了教授

: 指使他,二看不上灌水发文章,也混不了学术圈。



【在 h****e 的大作中提到】
: 他最大的强项还是技术流狂喷。
h****e
发帖数: 2125
23
你好奇怪,谁说过人人都能当教授了?

【在 g****t 的大作中提到】
: 你开啥玩笑。好点的学校经常phd资格考过不了的都一大堆。
: 写论文做研究也有自己的功夫。
: 人人都能当教授,哪有这回事。
: 老王不擅长考试,你没看出来?首先这一条就悬了。
:
:
: 你把教授想的太高大上了,只要肯play by their rules,真没啥太难的
: 。老王
: 当不了
:
: 教授是性格问题,不是能力问题,也没人说他能去Stanford/MIT啥的CS当
: 教授。

g****t
发帖数: 31659
24
老王在学术方面,就一普通人。在中国留学生里中等偏下。很多事光
有热情是没用的。
简单说,不是那块料。


: 你好奇怪,谁说过人人都能当教授了?



【在 h****e 的大作中提到】
: 你好奇怪,谁说过人人都能当教授了?
d***a
发帖数: 13752
25
我得说,专家教授也不一定就是非常聪明的人(数学和理论物理专业除外),但基本的
聪明还是得有的。主要还是靠刻苦。
王垠的聪明程度不错,但我个人感觉并不特别突出,放在学术界里就更不突出了。他不
可能靠这个拿到职位。他主要的问题是,总是想着自己有多聪明,不是把聪明花在做点
实在的事情上,这样聪明就浪费掉了。

【在 g****t 的大作中提到】
: 老王的长处是独立思考。
: 从小一路保送,美国名师名校的多了。老王的记录说明,与之相比,其聪明啥的谈不上
: 。他天天怕的就是别人说他不聪明。高考成绩啥了bbs说了多少年。
: Btw,
: 我主要是觉得established scientist ,专家教授这个圈子道德系统出问题。整体高危
: 。但人家其他方面本事必须承认。那不是一般智力的人能进去站稳的。
:
:
: 他教书不错,但在美国做不了教授。他总是把时间花在说自己如何如何聪
: 明上,
: 却拿不

h****e
发帖数: 2125
26
老王可绝对不会同意你的说法。他以前读博时的blog都被删光了,但我依稀记得有一篇
讲他纯靠自己的悟性和钻研,发现了PL领域的最高深理论。结果还没来得及兴奋,到网
上一查几十年前就被人做出来了,而且也无后人能够超越。他从那刻起知道他感兴趣的
方向已经做无可做,于是决定放弃读博。
是不是他自我感觉良好,胡吹瞎吹呢?也许有可能,但我很难同意他学术方面在中国留
学生里处于中等偏下这个说法的。

【在 g****t 的大作中提到】
: 老王在学术方面,就一普通人。在中国留学生里中等偏下。很多事光
: 有热情是没用的。
: 简单说,不是那块料。
:
:
: 你好奇怪,谁说过人人都能当教授了?
:

g****t
发帖数: 31659
27
聪明程度得跟老王那个年代的留学生比。你可能是拿你手下小留的智力来做测度了吧,
哈哈。


: 我得说,专家教授也不一定就是非常聪明的人(数学和理论物理专业除外),但
基本的

: 聪明还是得有的。主要还是靠刻苦。

: 王垠的聪明程度不错,但我个人感觉并不特别突出,放在学术界里就更不突出了
。他不

: 可能靠这个拿到职位。他主要的问题是,总是想着自己有多聪明,不是把聪明花
在做点

: 实在的事情上,这样聪明就浪费掉了。



【在 d***a 的大作中提到】
: 我得说,专家教授也不一定就是非常聪明的人(数学和理论物理专业除外),但基本的
: 聪明还是得有的。主要还是靠刻苦。
: 王垠的聪明程度不错,但我个人感觉并不特别突出,放在学术界里就更不突出了。他不
: 可能靠这个拿到职位。他主要的问题是,总是想着自己有多聪明,不是把聪明花在做点
: 实在的事情上,这样聪明就浪费掉了。

g****t
发帖数: 31659
28
老王也四十多了吧?也就比我跟好虫小几岁。好虫是北京啥围棋冠军。
你问问好虫,看他同意不同意其聪明程度在留学生里是不是中等。
没见过世面的往往觉得自己聪明,就这么回事。
再说就算老王发现了啥啥,是重复发现了。那他不可能几十年都是被别人重复发现吧?
论文,书,专利,有么。这些东西不能烂搞,但是几十年如一日啥都没,那就是不擅长
啊。
老王当初出名是因为从四川运作到清华读研究生。那年代没人愿意在国内读博士,有的
保送博士要签协议不可出国。(我当初在国内读硕士,也签了协议不可中途出国。)
老王签了协议,中间他为了出国,在bbs骂中国教育系统出名的。他博士是EE搞电路板
优化的。因为此事,他清华的教授在弯曲的大批学生还很为那个教授不平,我记得组织
过网上活动。尤其是,本身他的教授对他不薄,他也拿一个会议的最佳论文奖。这都是
要资源的。


: 老王可绝对不会同意你的说法。他以前读博时的blog都被删光了,但我依
稀记得
有一篇

: 讲他纯靠自己的悟性和钻研,发现了PL领域的最高深理论。结果还没来得
及兴奋
,到网

: 上一查几十年前就被人做出来了,而且也无后人能够超越。他从那刻起知
道他感
兴趣的

: 方向已经做无可做,于是决定放弃读博。

: 是不是他自我感觉良好,胡吹瞎吹呢?也许有可能,但我很难同意他学术
方面在
中国留

: 学生里处于中等偏下这个说法的。



【在 h****e 的大作中提到】
: 老王可绝对不会同意你的说法。他以前读博时的blog都被删光了,但我依稀记得有一篇
: 讲他纯靠自己的悟性和钻研,发现了PL领域的最高深理论。结果还没来得及兴奋,到网
: 上一查几十年前就被人做出来了,而且也无后人能够超越。他从那刻起知道他感兴趣的
: 方向已经做无可做,于是决定放弃读博。
: 是不是他自我感觉良好,胡吹瞎吹呢?也许有可能,但我很难同意他学术方面在中国留
: 学生里处于中等偏下这个说法的。

h****e
发帖数: 2125
29
好虫是天津人吧?而且一直看不上王垠。老王非清华本科,却在清华读博第四年时高调
退学,还骂清华CS教育骂的全网皆知。好虫恨不得锤死他,怎么可能觉得他聪明,根本
不用去问。

【在 g****t 的大作中提到】
: 老王也四十多了吧?也就比我跟好虫小几岁。好虫是北京啥围棋冠军。
: 你问问好虫,看他同意不同意其聪明程度在留学生里是不是中等。
: 没见过世面的往往觉得自己聪明,就这么回事。
: 再说就算老王发现了啥啥,是重复发现了。那他不可能几十年都是被别人重复发现吧?
: 论文,书,专利,有么。这些东西不能烂搞,但是几十年如一日啥都没,那就是不擅长
: 啊。
: 老王当初出名是因为从四川运作到清华读研究生。那年代没人愿意在国内读博士,有的
: 保送博士要签协议不可出国。(我当初在国内读硕士,也签了协议不可中途出国。)
: 老王签了协议,中间他为了出国,在bbs骂中国教育系统出名的。他博士是EE搞电路板
: 优化的。因为此事,他清华的教授在弯曲的大批学生还很为那个教授不平,我记得组织

g****t
发帖数: 31659
30
好虫是围棋版老油条。你找找他的贴。我记得他肯定拿过小学冠军啥的。


: 好虫是天津人吧?而且一直看不上王垠。老王非清华本科,却在清华读博第四年
时高调

: 退学,还骂清华CS教育骂的全网皆知。好虫恨不得锤死他,怎么可能觉得他聪明
,根本

: 不用去问。



【在 h****e 的大作中提到】
: 好虫是天津人吧?而且一直看不上王垠。老王非清华本科,却在清华读博第四年时高调
: 退学,还骂清华CS教育骂的全网皆知。好虫恨不得锤死他,怎么可能觉得他聪明,根本
: 不用去问。

g****t
发帖数: 31659
31
老王当初出名是因为从四川运作到清华读研究生。
(我有同学从华中理工大学运作,保送到清华读硕士,办法我清楚。)
那年代没人愿意在国内读博士,有的
保送博士要签协议不可出国。(我当初在国内读硕士,也签了协议不可中途出国。)
老王签了协议,中间他为了出国,在bbs骂中国教育系统出名的。他博士是EE搞集成电
路布线
优化的。因为此事,他清华的教授在弯曲的大批学生还很为那个教授不平,我记得组织
过网上活动。尤其是,本身他的教授对他不薄,他也拿一个IEEE会议的最佳论文奖。这
种除了实力,都是
要资源的。


: 好虫是天津人吧?而且一直看不上王垠。老王非清华本科,却在清华读博
第四年
时高调

: 退学,还骂清华CS教育骂的全网皆知。好虫恨不得锤死他,怎么可能觉得
他聪明
,根本

: 不用去问。



【在 h****e 的大作中提到】
: 好虫是天津人吧?而且一直看不上王垠。老王非清华本科,却在清华读博第四年时高调
: 退学,还骂清华CS教育骂的全网皆知。好虫恨不得锤死他,怎么可能觉得他聪明,根本
: 不用去问。

g****t
发帖数: 31659
32
老王科普写的不错。也愿意花时间。所以搞教学班很适合。
但他的作品不是学术面的。

我准备慢慢把其中一些想法发掘整理出来,发表成论文,或者做成产品。”
这都多少年了?嘴炮伤品行啊。


: whatever了,不关心。看看这篇王垠以前的blog吧,里面有Dan Friedman
,在学
术界还

: 是很有credit的:“

: 1. 你知道些什么

: Dan Friedman 是 IU 的教授,程序语言界的元老之一,Lisp (Scheme)
语言的
主要研

: 究者之一,《The Little Schemer》(前身叫《The Little Lisper》)的
作者。
他对程

: 序语言有非常深刻的理解。Haskell 所用的 lazy evaluation 模型,最
早就是
他在

: 1976 年在与 David Wise 合写的论文“CONS should not Evaluate
its
Arguments”

: 中提出来的。他并不是我正式的导师,但他是这一生中教会我最多东西的
人,所
以我想

: 写一些关于他的小故事。也许你能从中看出,一个真正的教育者是什么样
子的。
我来

: IU 之前,一位师兄告诉我,Dan Friedman 就像指环王里的甘道夫 (
Gandalf),
来了之



【在 h****e 的大作中提到】
: 好虫是天津人吧?而且一直看不上王垠。老王非清华本科,却在清华读博第四年时高调
: 退学,还骂清华CS教育骂的全网皆知。好虫恨不得锤死他,怎么可能觉得他聪明,根本
: 不用去问。

h****e
发帖数: 2125
33
呵呵,反正能让Dan Friedman看入眼的中国学生,绝对不会是中等偏下。

【在 g****t 的大作中提到】
: 老王科普写的不错。也愿意花时间。所以搞教学班很适合。
: 但他的作品不是学术面的。
: “
: 我准备慢慢把其中一些想法发掘整理出来,发表成论文,或者做成产品。”
: 这都多少年了?嘴炮伤品行啊。
:
:
: whatever了,不关心。看看这篇王垠以前的blog吧,里面有Dan Friedman
: ,在学
: 术界还
:
: 是很有credit的:“

g****t
发帖数: 31659
34
老王说的这位教授是谁我没听过。但
我记得有人说Einstein见人就夸,给推荐信。
关键是,学术跟写程序不是一回事。
几十年如一日无学术产出,那就说明不是那块料。
实证最大。
写再长说这个不好那个不好,也大不过实证。


: 呵呵,反正能让Dan Friedman看入眼的中国学生,绝对不会是中等偏下。



【在 h****e 的大作中提到】
: 呵呵,反正能让Dan Friedman看入眼的中国学生,绝对不会是中等偏下。
h****e
发帖数: 2125
35
别死鸭子嘴硬了,王垠的这篇blog还在,自己看去吧:
http://www.yinwang.org/blog-cn/2012/07/04/dan-friedman

【在 g****t 的大作中提到】
: 老王说的这位教授是谁我没听过。但
: 我记得有人说Einstein见人就夸,给推荐信。
: 关键是,学术跟写程序不是一回事。
: 几十年如一日无学术产出,那就说明不是那块料。
: 实证最大。
: 写再长说这个不好那个不好,也大不过实证。
:
:
: 呵呵,反正能让Dan Friedman看入眼的中国学生,绝对不会是中等偏下。
:

g****t
发帖数: 31659
36
写再多也大不过实证。你没从事过此类劳作。看看科普也没啥。我无意说服你。
几十年如一日无学术产出,那就说明不是那块料。
实证最大。张益唐还写了三篇论文呢。


: 别死鸭子嘴硬了,王垠的这篇blog还在,自己看去吧:

: http://www.yinwang.org/blog-cn/2012/07/04/dan-friedman



【在 h****e 的大作中提到】
: 别死鸭子嘴硬了,王垠的这篇blog还在,自己看去吧:
: http://www.yinwang.org/blog-cn/2012/07/04/dan-friedman

h****e
发帖数: 2125
37
嗯,你有屁挨着地,必须看不上拿不到屁挨着地的王垠。

【在 g****t 的大作中提到】
: 写再多也大不过实证。你没从事过此类劳作。看看科普也没啥。我无意说服你。
: 几十年如一日无学术产出,那就说明不是那块料。
: 实证最大。张益唐还写了三篇论文呢。
:
:
: 别死鸭子嘴硬了,王垠的这篇blog还在,自己看去吧:
:
: http://www.yinwang.org/blog-cn/2012/07/04/dan-friedman
:

g****t
发帖数: 31659
38
这跟学位无关。你说你考试不行。那学术作品总是要有的。
本科你也可以发表论文。几十年从没有过,那就说明不擅长,不是这块料呗。有啥不明
白的。
我出校门也没写过论文了。也不是那块料。
我念phd是为了eb1拿绿卡快。


: 嗯,你有屁挨着地,必须看不上拿不到屁挨着地的王垠。



【在 h****e 的大作中提到】
: 嗯,你有屁挨着地,必须看不上拿不到屁挨着地的王垠。
g****t
发帖数: 31659
39
另外我当初phd毕业。在美国周游,访问了很多感兴趣的lab,找postdoc。朋友交了很多
。没一
个人要我。确实不是那块料。
(也可能与我大师兄那时候还没混出来有关。)


: 这跟学位无关。学术作品总是要有的。

: 本科你也可以发表论文。几十年从没有过,那就说明不擅长,不是这块料
呗。有
啥不明

: 白的。

: 我出校门也没写过论文了。也不是那块料。

: 我念phd是为了eb1拿绿卡快。

:

【在 g****t 的大作中提到】
: 这跟学位无关。你说你考试不行。那学术作品总是要有的。
: 本科你也可以发表论文。几十年从没有过,那就说明不擅长,不是这块料呗。有啥不明
: 白的。
: 我出校门也没写过论文了。也不是那块料。
: 我念phd是为了eb1拿绿卡快。
:
:
: 嗯,你有屁挨着地,必须看不上拿不到屁挨着地的王垠。
:

l*******m
发帖数: 1096
40
IU排名太差,很多学生看不上。老王的优势是愿意表达自己的想法,而且能说清楚。这
一点很重要。自己不懂的领域也能说出自己的观点。无论是paper review, 还是给高层
领导建议,都需要这方面能力。老王这方面还行,就是太negative. 先发制人提出自己
的观点至少先赢了一半,也显得聪明

【在 h****e 的大作中提到】
: 呵呵,反正能让Dan Friedman看入眼的中国学生,绝对不会是中等偏下。
w***g
发帖数: 5958
41
Good point! 最后数学家自嘲,我做的是abstract nonsense。

【在 h*i 的大作中提到】
: 他这个认识还不够深刻。
: 他没有进一步认识到其实做PL的也和他鄙视的做compiler的一样;再深刻一步,就是做
: TCS也和PL一样;再深刻一步,就是职业数学家也和TCS一样。
: 最后,他应该意识到,这种鄙视链,其实都是自我心理安慰的机制。因为鄙视链越上端
: ,性价比越低。

c*******v
发帖数: 2599
42
这问题我在历史版总结了一点。
数学家与mathematican是不同的。西方数学,或者mathematics不应该翻译做数学。
按华夏之说法,大数学家秦九韶明确定义:数学要“通神明,顺性命,经世务,类万物
”。
并且,你学了数学,“人事之变无不该,鬼神之情莫能隐”。
mathematicans无论如何是没有这些功能的。鬼神性命就不说。
数学还能管“经世务”,“人事之变”。
尽管有点像高级算命。华夏数学之理想,看着还是更让人心安理得。

【在 w***g 的大作中提到】
: Good point! 最后数学家自嘲,我做的是abstract nonsense。
w***w
发帖数: 84
43
很赞,拿了PhD,做了教授,VP,我看未见得有王垠同学的见识,能写这样有营养的文
章。你要不服,你也写一篇啊。
C*****l
发帖数: 1
44
其实compiler里面解决的最漂亮的就是parser的工作,这套分类理论真不是一般人做的
出来的。但是这套理论很快就问题做干净了,后人就是写LEX/YACC的spec,看到的只是
机械化
c*******v
发帖数: 2599
45
现在compiler都是c,unix一线的。
完全不沿着这个路线走的东西一般人不知道。
例如你听过多值逻辑计算机吗?
========
1985年,第一个模糊逻辑片设计制造成功。它一秒钟内能进行八万次模糊逻辑推理。现
在,正在制造一秒钟内能进行64.5万次模糊推理的逻辑片。用模糊逻辑片和电路组合在
一起,就能制成模糊计算机。
日本科学家把模糊计算机应用在地铁管理上:日本东京以北320千米的仙台市的地铁列
车,在模糊计算机控制下,自1986年以来,一直安全,平稳地行驶着。车上的乘客可以
不必攀扶拉手吊带。因为,在列车行进中,模糊逻辑"司机"判断行车情况的错误,几乎
比人类司机要少70%。1990年,日本松下公司把模糊计算机装在洗衣机里,能根据衣服
的肮脏程度,衣服的质料调节洗衣程序。我国有些品牌的洗衣机也装上了模糊逻辑片。
人们又把模糊计算机装在吸尘器里,可以根据灰尘量以及地毯的厚实程度调整吸尘器功
率。模糊计算机还能用于地震灾情判断,疾病医疗诊断,发酵工程控制,海空导航巡视
等方面。

【在 C*****l 的大作中提到】
: 其实compiler里面解决的最漂亮的就是parser的工作,这套分类理论真不是一般人做的
: 出来的。但是这套理论很快就问题做干净了,后人就是写LEX/YACC的spec,看到的只是
: 机械化

S*******s
发帖数: 13043
46
是不是应该另开一个话题呀:大家觉得不给test case合理吗?王垠倒是强烈反对。
我对这个感兴趣是因为孩子在做usaco。在training的时候做题提交以后会告诉哪个
test case 没通过,再根据这个修改程序。但是在考试的时候就只告诉你一共跑了几个
通过了几个,不告诉具体faled test case是啥。孩子得自己想什么情况下会失败。因
为有时间限制,能想全不是很容易。这种能力应该怎么培养啊?
w***g
发帖数: 5958
47
培养就是刷题。到了大学ACM ICPC比赛,题目不一定比usaco难,
test case会更刁。这个设计表示,在ACM看来,programmer的职责
不光是coding,还要写test case。而且写test case也非常重要。
ACM比赛团队作战时,经常是一人写代码另一人写test case。
你要胜出,就是一个test case都不能漏。开始时可以找些有答案
的题目刷,但是要搞得好,后面必须有不看答案刷的训练。
写程序是一个要求思维非常缜密的事情,练多了以后,想问题就是
会比别人严格。
刷题还能找答案,实际开发的时候碰到bug,都是只有死磕。
有时候就是一个bug磕一星期都磕不出来。如果不是自己熬夜磕
找大神解决自己就永远不会提高。我现在已经不怎么帮手下debug了。

【在 S*******s 的大作中提到】
: 是不是应该另开一个话题呀:大家觉得不给test case合理吗?王垠倒是强烈反对。
: 我对这个感兴趣是因为孩子在做usaco。在training的时候做题提交以后会告诉哪个
: test case 没通过,再根据这个修改程序。但是在考试的时候就只告诉你一共跑了几个
: 通过了几个,不告诉具体faled test case是啥。孩子得自己想什么情况下会失败。因
: 为有时间限制,能想全不是很容易。这种能力应该怎么培养啊?

1 (共1页)
进入Programming版参与讨论