Welcher Code wird in den meisten Sprachen kompiliert? [geschlossen]

29

Welcher Code wird mit Ausnahme von Trivialprogrammen in den meisten Sprachen kompiliert?

(Mit "trivial" meine ich, Antworten wie das leere Programm oder Text, die direkt wiedergegeben werden, auszuschließen.)

Der folgende Code wird anscheinend in allen folgenden Programmiersprachen kompiliert (und gibt jeweils etwas anderes aus): C, C ++, Perl, TeX, LaTeX, PostScript, sh, bash, zsh und 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%*/

Das sind 10 verschiedene Sprachen. Ich habe es über pts oldalai gefunden (der auch ein großartiges Weihnachtsgedicht in C, C ++, Perl und TeX geschrieben hat). Kann jemand es besser machen?

shamp00
quelle
8
Der Fachbegriff
lautet
8
Hier ist die 16-sprachige Polyglotte
st0le
7
Wenn sh, bash und zsh als unterschiedliche Sprachen gelten, auch wenn im Wesentlichen nur sh verwendet wird, müssen Sie meines Erachtens genau angeben, was Sie als unterschiedliche Sprachen betrachten. ZB Perl 4 vs Perl 5.10 haben einige signifikante Unterschiede.
Peter Taylor
7
Es gibt Sprachen (zB Whitespace, BrainF ** k und Perl), in denen so ziemlich jede Zeichenkombination ein gültiges Programm ist. Sie können von jedem Programm beansprucht werden.
Ugoren

Antworten:

9

3 Sprachen - C, C ++ und 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()

In jeder Sprache wird etwas anderes gedruckt. In C & C ++ sind Zeilen, die mit '#' beginnen, Vorverarbeitungsdirektiven, aber dieselben Zeilen sind Kommentare in Python.

golfer9338
quelle
4

5 Sprachen - Thue, Brainf ***, Boolf ***, Treehugger und Javascript

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

Beachten Sie, dass der Treehugger-Teil in der webbasierten Implementierung leider eine Zeitüberschreitung aufweist, sodass Sie einen anderen Treehugger-Interpreter verwenden sollten.

SuperJedi224
quelle