好的,对于那些从未遇到过这个词的人来说,quine是一个“自我复制”的计算机程序。更具体地说,它在执行时会生成其自己的源代码的副本作为其唯一输出。
当然,quines 可以用许多编程语言(但不是全部)开发。但是有些语言显然比其他语言更适合产生 quines(为了清楚地理解听起来有点主观的“更适合”,请查看Wiki 页面中的 Haskell 示例与 C 示例- 我在下面提供了我更客观的定义) .
我的问题是,从编程语言的角度来看,哪些语言特征(理论设计或语法糖)使该语言更适合/有助于编写 quines?
我对“更合适”的定义是“quines 更容易编写”和“更短/更易读/更少混淆”。但欢迎您添加更多至少有些客观的标准。
请注意,此问题明确排除了退化情况,例如旨在包含“print_a_quine”原语的语言。