Какой код компилируется на большинстве языков? [закрыто]


29

За исключением тривиальных программ, какой код компилируется на большинстве языков?

(Под «тривиальным» я подразумеваю исключение таких ответов, как пустая программа или текст, который будет отображаться напрямую.)

Следующий код, очевидно, компилируется на всех следующих языках программирования (и печатает что-то свое на каждом из них): C, C ++, Perl, TeX, LaTeX, PostScript, sh, bash, zsh и Prolog.

%:/*:if 0;"true" +s ||true<</;#|+q|*/include<stdio.h>/*\_/
{\if(%)}newpath/Times-Roman findfont 20 scalefont setfont(
%%)pop 72 72 moveto(Just another PostScript hacker,)show((
t)}. t:-write('Just another Prolog hacker,'),nl,halt. :-t.
:-initialization(t). end_of_file. %)pop pop showpage(-: */
int main(){return 0&printf("Just another C%s hacker,\n",1%
sizeof'2'*2+"++");}/*\fi}\csname @gobble\endcsname{\egroup
\let\LaTeX\TeX\ifx}\if00\documentclass{article}\begin{doc%
ument}\fi Just another \LaTeX\ hacker,\end{document}|if 0;
/(J.*)\$sh(.*)"/,print"$1Perl$2$/"if$_.=q # hack the lang!
/
sh=sh;test $BASH_VERSION &&sh=bash;test $POSIXLY_CORRECT&&
sh=sh;test  $ZSH_VERSION && sh=zsh;awk 'BEGIN{x="%c[A%c[K"
printf(x,27,27)}';echo "Just another $sh hacker," #)pop%*/

Это 10 разных языков. Я нашел это через pts oldalai (у которого также есть великолепное рождественское стихотворение, написанное на C, C ++, Perl и TeX). Кто-нибудь может сделать лучше?


8
Технический термин является Полиглот
st0le

8
Вот 16 языковых полиглотов
st0le

7
Если sh, bash и zsh считаются разными языками, даже если в сущности используется только sh, я думаю, вам нужно точно указать, что вы считаете разными языками. Например, Perl 4 против Perl 5.10 имеют некоторые существенные различия.
Питер Тейлор

7
Существуют языки (например, Whitespace, BrainF ** k и Perl), где практически любая комбинация символов является допустимой программой. Они могут быть востребованы любой программой.
Угорен

Ответы:


9

3 языка - C, C ++ и Python

#ifdef _cplusplus
    #include <iostream>
    #define print() int main(){cout << "Hello world! -- from C++" << endl;}
#elif (defined __STDC__) || (defined __STDC_VERSION__)
    #include <stdio.h>
    #define print() int main(){printf("Hello world! -- from C\n");}
#else
import builtins
print = lambda : builtins.print("Hello world! -- from Python")
#endif

print()

Нечто другое напечатано на каждом языке. В C & C ++ строки, начинающиеся с '#', являются директивами предварительной обработки, но эти же строки являются комментариями в Python.


4

5 языков - Thue, Brainf ***, Boolf ***, Treehugger и Javascript

/*::=
alert::=~This is Thue!
::=
-><[[--->+<]>-.[---->+++++<]>-.+.++++++++++.+[---->+<]>+++.-[--->++<]>-.++++++++++.+[---->+<]>+++.+[->++<]>.---[----->+<]>-.+++[->+++<]>++.++++++++.+++++.--------.---[->+++<]>+...---------.[-]]
^^[[--->+^]>-.[---->+++++^]>-.+.++++++++++.+[---->+^]>+++.-[--->++^]>-.++++++++++.+[---->+^]>+++.>-[--->+^]>-.-[--->+^]>+.-------------..+++.[--->+^]>---.++[->+++^]>++..--.+++++++++++++.[--->+^]>-----.[-]]
-+[+;;+;+;+;+;+;+;;;;+;+;+;;+;+;+;;+;+;+;;+;+;;+;;+;;;+;;;;;;+;+;;+;+;;+;+;+;;+;+;;+;;+;;;+;;;;;;+;+;;;+;+;;;;+;+;+;;;;+;+;;+;+;;;;+;+;;+;;;+;;+;+;;+;;+;;+;;+;;+;;+;+;+;+;+;+;;;+;+;+;+;+;+;;;+;+;+;+;+;+;;+;+;;;;+;+;;]
*/alert("This is Javascript!")

Обратите внимание, что порция Treehugger истекает в веб-реализации, к сожалению, поэтому вам следует использовать другой интерпретатор Treehugger.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.