2010-12-02 10 views
15

Actualmente, cuando un usuario aquí consigue un 404, que ven la siguiente imagen:¿Qué idiomas se usan en 404 Budgot de Stack Overflow?

polygot-404.png http://sstatic.net/stackoverflow/img/polyglot-404.png

que representa el texto:

# define v putchar 
# define print(x) main(){v(4+v(v(52)-4));return 0;}/* 
#>+++++++4+[>++++++<-]> ++++.----.++++.*/ 
print(202*2);exit(); 
#define/*>[email protected]*/exit() 

Esto se parece sospechosamente polyglottish. ¿Qué idiomas hace esto algo interesante?


Side thought: ¿Soy yo o encontré un error en Prettify?

+1

Marcar para alt.se.prog; Posible duplicación de dos meta preguntas: [¿Cuál es la broma en el código de la página Stack Overflow 404?] (Http://meta.stackexchange.com/questions/28625/whats-the-joke-in-the-stack-overflow-404 -page-code) "y" [Divertido 404 "Página no encontrada" Imágenes para sitios Trilogy?] (http://meta.stackexchange.com/questions/27112/amusing-404-page-not-found-images-for -trilogy-sites) ". –

+1

http://meta.stackexchange.com/questions/27112/amusing-404-page-not-found-images-for-trilogy-sites – Freelancer

+0

Hilo anterior, más detallado: http: // meta.stackoverflow.com/questions/252184/whats-the-joke-in-the-stack-overflow-404-page-code – Nayuki

Respuesta

6

La línea 4 con print(202*2) es válida en cualquier cantidad de lenguajes de scripting como Perl, Ruby, ECMAScript (siempre que sea una implementación adecuada de una función print) y probablemente Python.

La línea 2 está ahí para hacer que la línea 4 sea válida en C y Objective-C, quizás también en C++ y Objective-C++.

La línea 3 contiene algo de Brainfuck, pero parece que hay algo más allí.

No tengo idea de para qué sirve la línea 1 con v. ¿Por qué no simplemente llamar al putchar directamente en la línea 2? Entonces, sospecho que hay otro lenguaje que de alguna manera se vuelve válido a través de esta línea. (Al principio pensé en Whitespace, pero no hay suficiente espacio en blanco para ser un programa válido de Whitespace.)

Y la línea 5 obviamente también contiene algunos códigos en un lenguaje muy comprimido. Tal vez algo en la familia APL (J, K, ...) o Golfscript?

+0

Befunge! Eso es lo que me estaba perdiendo. –

9

Es C y brainf**k. Ambos imprimen 404.

+0

La primera parte de la línea con Brainfuck es otra cosa. – ohmantics

+0

@ohmantics: En realidad, hay son (al menos) dos líneas con (importante) Brainfuck en ellos. (Técnicamente la línea 2 tiene algo, pero es solo el '+' y el '-' y obviamente estos se cancelan mutuamente). Al menos, yo * pienso * la línea 5 es importante de alguna manera ... – SamB

+1

De hecho, también me inclino a adivinar que el uso extraño de espacios/pestañas también podría ser Whitespace. – ohmantics

Cuestiones relacionadas