用严格的语言超集编写的程序算作多语言吗?

时间:2010-12-29 14:55:10

标签: polyglot

首先,这是多语言的定义:

  

在计算环境中,多语言是一种以多种编程语言的有效形式编写的计算机程序或脚本,它独立于编译或解释它的编程语言执行相同的操作或输出。

但问题是:如果我有这样的程序:

#include <stdio.h>

int main() {
  puts("Hello, world!");
  return 0;
}

这是C.由于Objective-C(C之上的薄OO层)是C的严格超集,它也可以是具有相同输出的Objective-C,使其成为多语言。

但是当涉及到polyglots(使每个C程序成为多语言)时,严格的超集是否会被计算在内?

1 个答案:

答案 0 :(得分:2)

严格来说,是的,这是C和Objective-C中的多语言。但它不会给任何人留下深刻的印象。

Polyglots在使用非常不同的语言时更有趣。如果你能在Python,Brainfuck,Perl和Befunge中使用它,它会稍微更令人印象深刻。