【发布时间】:2010-06-19 22:53:16
【问题描述】:
好的,对于那些从未遇到过这个词的人来说,quine 是一个“自我复制”的计算机程序。更具体地说,它在执行时会生成自己的源代码副本作为其唯一输出。
当然,quines 可以用多种编程语言(但不是全部)开发;但是有些语言显然比其他语言更适合产生 quines(要清楚地理解听起来有些主观的“更适合”,请查看 Haskell example vs. C example in the Wiki page - 我在下面提供了我更客观的定义)。
我的问题是,从编程语言的角度来看,哪些语言特性(理论设计或语法糖)使该语言更适合/有助于编写 quines?
我对“更合适”的定义是“quines 更容易编写”和“更短/更易读/更少混淆”。但欢迎您添加更多至少有些客观的标准。
请注意,此问题明确排除了退化情况,例如旨在包含“print_a_quine”原语的语言。
【问题讨论】:
-
通过查看各种示例,函数式语言似乎具有明显的优势(参见 Haskell、Lisp 或 Scheme 示例)。我不太确定为什么会这样,因此我想听听社区的专业知识
标签: programming-languages language-design quine