Greenspun在Perl的第10条规则?

DVK*_*DVK 4 lisp perl programming-languages

Greenspun的第十条规则是计算机编程中的常见格言,特别是编程语言圈.它指出:

任何足够复杂的C或Fortran程序都包含一个特殊的,非正式指定的,错误缠身的,一半Common Lisp的缓慢实现.

问题是,

  1. 你会认为Perl翻译是真的吗?只有客观论点(例如Common Lisp的哪些功能在解释器中实现)

  2. 独立地,是否存在完全在Perl中实现的Lisp(或者至少是一个临时的,非正式指定的,错误驱动的,一半Common Lisp的慢实现)?

bri*_*foy 20

你可能喜欢Mark Jason Dominus的高阶Perl序言(以及本书的其余部分),其主题基本上是你的问题.他说:

如果你拿到一本关于Lisp的好书,会有一个部分描述Lisp的优秀特性.例如,Peter Norvig 撰写的"人工智能编程范式 "一书中包含了一个题为"使Lisp与众不同的内容"的部分.它描述了Lisp的七个特性.Perl分享了其中六个功能; ...

Mark还有很多关于Lisp和Perl的话题

所以,Perl实际上已经是Lisp了,但我说既不慢也不是一半.然而,Mark指出的关于Perl和Lisp之间差异的一点是Perlers处理非结构化字符串(一般情况下),而Lispers只要有可能就处理结构化数据.Perl可以做到这一点,但Perlers倾向于不这样做.