由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 王垠对parser的批判
进入Programming版参与讨论
1 (共1页)
C*****l
发帖数: 1
1
http://www.yinwang.org/blog-cn/2015/09/19/parser
王垠对parser的批判,我看了一下,基本是从实用性的角度出发:
1. parser在《编译原理》课程中里面占用了太多的时间,大部分学生在里面学的苦不
堪言,反而后面的静态分析,代码生成没时间学了。
2. LEX/YACC生成的parser非常难用,如果有错不好debug,也不能生成友好的错误信息
。还不如用
recursive descent这样的笨方法手写。
王垠最喜欢就从AST出发,最好别人把结构都parse好给他。这些批评从实际的角度看有
一定的道理。这一部分抽象内容比较多,写起来成就感少。但是parser的从理论完备性
上面是非常重要的,奠定了计算机语言的基础,即使手写用了LL,LR这些分类,也就知
道了需要look ahead几个token把。
d***a
发帖数: 13752
2
有时候我都不能确信王垠本科是计算机科班出身。第一,parser并不特别难学,难道他
学parser时苦不堪言?第二,编译中最难的是代码生成与优化,那是advanced
compiler design中的主要内容,编译原理是基础课,王垠为啥要对编译原理开喷?

【在 C*****l 的大作中提到】
: http://www.yinwang.org/blog-cn/2015/09/19/parser
: 王垠对parser的批判,我看了一下,基本是从实用性的角度出发:
: 1. parser在《编译原理》课程中里面占用了太多的时间,大部分学生在里面学的苦不
: 堪言,反而后面的静态分析,代码生成没时间学了。
: 2. LEX/YACC生成的parser非常难用,如果有错不好debug,也不能生成友好的错误信息
: 。还不如用
: recursive descent这样的笨方法手写。
: 王垠最喜欢就从AST出发,最好别人把结构都parse好给他。这些批评从实际的角度看有
: 一定的道理。这一部分抽象内容比较多,写起来成就感少。但是parser的从理论完备性
: 上面是非常重要的,奠定了计算机语言的基础,即使手写用了LL,LR这些分类,也就知

w***g
发帖数: 5958
3
他觉得别人苦不堪言。确实有很多人苦不堪言,但是那群人将来也不需要会这个,
学了以后也不会再用。筛出来那群人,可以更深一步去高更高层的东西。
lex/yacc也没什么难用的,就当个API用连编译原理都不需要
了解。很多牛逼的东西确实是学一点皮毛后就可以对普罗大众进行降维打击。
这种思维其实在工业界是一种惯用思维,不会动脑子的人,老喜欢说现在这个系统
这样那样不好用,我要做一个新的能这样那样。其实第一天就落了别人的窠臼。
你在怎么批判,只能用人家发明的语言来批判人家,能批判出什么有意思的东西来。
无中生有地产生系统才是有意思的事情。
生物的本能是encode在DNA里的,而具体实现要通过神经网络,比如鸭子的
应随本能。从DNA序列出发到对应的神经网络构建,中间是什么数学结构在保证这个
过程基本上不出错,我要engineer神经网络,怎么通过DNA编码实现?
我后天习得网络结构能不能通过engineering DNA给加入到genome里去?
这个问题有人回答得了吗?这不是一个语言问题?都是乌央乌央在做sequencing。
Sequencing有个屁用。抽象层次就不对。
高层次创新性的抽象思维是一个非常稀有的能力,我也不会。学会别人的思维,
appreciate这个思维很牛逼再对普罗大众进行科普,这个很爽,但是并不最难。
P和NP的差别。P和NP能相等吗?我想想也不会相等。能让人证明不等吗?证出来了,
大家发现自己都是P,无法变成NP,那还折腾个屁。
在 digua (姚之FAN) 的大作中提到: 】
y****w
发帖数: 3747
4
很多牛逼的东西确实是学一点皮毛后就可以对普罗大众进行降维打击 :
cs本科阶段最难的就是编译原理课。99%的cs job不需要懂编译。

【在 w***g 的大作中提到】
: 他觉得别人苦不堪言。确实有很多人苦不堪言,但是那群人将来也不需要会这个,
: 学了以后也不会再用。筛出来那群人,可以更深一步去高更高层的东西。
: lex/yacc也没什么难用的,就当个API用连编译原理都不需要
: 了解。很多牛逼的东西确实是学一点皮毛后就可以对普罗大众进行降维打击。
: 这种思维其实在工业界是一种惯用思维,不会动脑子的人,老喜欢说现在这个系统
: 这样那样不好用,我要做一个新的能这样那样。其实第一天就落了别人的窠臼。
: 你在怎么批判,只能用人家发明的语言来批判人家,能批判出什么有意思的东西来。
: 无中生有地产生系统才是有意思的事情。
: 生物的本能是encode在DNA里的,而具体实现要通过神经网络,比如鸭子的
: 应随本能。从DNA序列出发到对应的神经网络构建,中间是什么数学结构在保证这个

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