Z wyjątkiem prostych programów, jaki kod kompiluje się w największej liczbie języków?
(Przez „trywialny” mam na myśli wykluczenie takich odpowiedzi, jak pusty program lub tekst, który zostanie powtórzony bezpośrednio).
Poniższy kod najwyraźniej kompiluje się we wszystkich następujących językach programowania (i drukuje w każdym z nich coś innego): C, C ++, Perl, TeX, LaTeX, PostScript, sh, bash, zsh i 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%*/
To 10 różnych języków. Znalazłem go za pośrednictwem pts oldalai (który ma również wspaniały świąteczny wiersz napisany w C, C ++, Perl i TeX). Czy ktoś może zrobić lepiej?
code-challenge
polyglot
shamp00
źródło
źródło
Odpowiedzi:
3 języki - C, C ++ i Python
W każdym języku drukowane jest coś innego. W C & C ++ wiersze zaczynające się od „#” są dyrektywami przetwarzania wstępnego, ale te same wiersze są komentarzami w Pythonie.
źródło
5 języków - czw, Brainf ***, Boolf ***, Treehugger i JavaScript
Zauważ, że część Treehuggera przekroczyła limit czasu w implementacji internetowej, niestety, dlatego powinieneś użyć innego interpretera Treehuggera.
źródło