这个奇葩的语言,代码写完后连作者自己都看不懂了!(2)
Forth说:“我举个更简单的例子,比如表达式计算吧,如果用你的中缀表达式 (3+4)* 5 ,你在实现的时候得先做词法分析,然后做语法分析,形成抽象语法树,必须考虑优先级问题。” Java说:“难道不应该这样吗?形成抽象语法树(AST)是个通用操作啊。” Lisp马上插嘴:“AST大法好,你看我的前缀表达式,天然就是抽象语法树啊, (* (+ 3 4) 5 ) , 我的代码和数据的表示方式是一样的,代码可以被当作数据来修改...... 算了,说了你们也听不懂。” Forth说:“我就不用这样,你看用后缀表达式,再加上栈,可以直接计算,多方便。” Java感叹道:“编译的过程包括词法分析,语法分析,语义分析。我看你的程序甚至不用做语法分析,只要做一个词法分析,也就是分词,然后就可以直接计算了!” “是啊,我的语法非常简单,或者说几乎没有什么语法,我的主人说我可能是世界上最简单的语言了!” Java 问道:“既然你这么简单,怎么没有流行起来啊?” “这个......其实也不能算简单,无论是编写程序还是阅读程序,脑子中时刻得想着那个栈,对程序员自身的思维水平要求太高,一般人是受不了的, 有人笑话我是一个write-only的语言,写完以后连作者自己都读不懂了。” 这几个人都笑了起来。只有Lisp在撇嘴:这还要求高,你还没见过我的宏...... Forth 喝了一杯咖啡,颤巍巍地站起来,骑上门口的自行车,一溜烟地离开了。Java 注视着他的背影,心中感慨,这个Forth是一个老兵,他和Lisp一样,那种“古怪”的表达方式对广大程序员来说都不太友好,想流行起来很难啊。编程语言就是这样,没有完美的东西,有所得必有所失啊。
(编辑:ASP站长网) |