Inspirado por un políglota en la página de Stack Overflow 404 :
Gol
Su objetivo es simple, crear un políglota que genere el número 404 y luego terminar, en tantos idiomas como sea posible.
Restricciones
Aquí está el giro, hay una restricción para hacerlo más difícil:
Tienes que escribir N programas y elegir N idiomas en un orden particular. el i º programa necesita para imprimir 404
en los primeros i lenguas, pero no en cualquier idioma después de la i ª. Esto es para evitar que soluciones muy simples destruyan la competencia.
Tanteo:
- El primer criterio para determinar un ganador es la cantidad de idiomas en los que se ejecuta el programa principal.
- El segundo criterio es el recuento de bytes, donde los programas con más idiomas tienen más importancia para este criterio.
- El tercer y último criterio es el momento de la presentación.
Aclaraciones:
Los códigos fuente de los programas no necesitan tener ninguna relación. Se ejecutan como programas separados. Cualquiera de los programas puede generar espacios en blanco iniciales y / o finales. ¡LOS PROGRAMAS NO TIENEN QUE SER SUBSECUENCIAS DE CADA UNO!
¡Gracias a @MartinEnder por una mejor explicación!
fuente
Respuestas:
54 idiomas, 1331 bytes
> <> , Gol> <> , Foo , Befunge-93 , Befunge-98 , brainfuck , Brain-Flak , Python 2 , Python 3 , Hexagony , Perl , Ruby , Julia , Cardinal , Brainbash , Turtlèd , Deadfish ~ , Whitespace , Braille , Rail , Fission , ETA , Trigger , Brainfuck auto-modificable , Numberwang , Actually , Emoji , Symbolic Brainfuck , TinCan , Alphuck , Shove , Cood , Wise , Width , Whispers , Thue , Surface , Stones , evil , Set , Prelude , Gaot ++ , Cubix , Cubically , PATH , Commercial , Brian y Chuck, Monos , Nhohnhehr , Viga , AsciiDots , Aluminio , Alice , Giro
Esto se está haciendo muy largo, por lo que, a sugerencia de @ MDXF, estoy trasladando los subprogramas y los comentarios a un punto esencial . El programa aquí es solo el programa final. Gracias a MDXF nuevamente por proporcionar el controlador de prueba TIO.
54. Remolino
Pruébalo en línea!
Whirl se describe como Turning Tarpit [sic], que usa solo dos instrucciones, 1 y 0. 1 gira la rueda actual de instrucciones (ya sea la rueda matemática o la rueda de operaciones), 0 intercambia la rotación de la rueda y dos ceros ejecuta las instrucciones y cambia las ruedas. Las instrucciones relevantes están en la primera línea:
000110000011110000100000100000110000011001100000111100001110011000111000110000
Los 01 iniciales se cancelan entre sí, y los 01 finales provocan una excepción de coma flotante.
Editar: arreglado un montón de cosas rotas
(Los comandos que tener cuidado en el futuro:
UDLR%"[.]o473psjw
)Si algún programa funciona para idiomas futuros o no funciona para idiomas actuales o anteriores, comente.
fuente
...print(0 or 404)
pero no es una subsecuencia del programa N de 97 bytes.#
. Realmente lamento incluir esos dos idiomas jaja.53 idiomas, 2789 bytes
Bash, Foo, Implícito, Carbón, Emoji,> <>, rk, Brain-Flak, C, Set, Cood, Arcyou, TRANSCRIPT, SILOS, Commercial, C ++, Braille, Deadfish ~, Memescript 1.0, ETA, Python 1, Python 3, PARI / GP, Lily, Fission, Decimal, Cubically, Bitwise, TinCan, Whispers, Thue, Emotinomicon, what ??!, Ook !, evil, Lennyfuck, Blablafuck, Stones, TacO, COW, Symbolic Brainfuck, Underload, Rail , Reticular, Gaot ++, PATH, axo, Monkeys, Nhohnhehr, xEec, VTFF, K-on Fuck, Churro y Forked. ¡Pruebe todo en línea en el controlador de prueba!
¡Únete a nosotros en la sala de chat para este desafío!
Esta publicación se hizo demasiado grande, así que aquí hay una esencia que contiene mi progreso. Programa final actual:
Ahorquillado
Pruébalo en línea!
¡Mi nuevo esolang (implementado recientemente)!
fuente
34 idiomas, 387 caracteres
Jelly , M , Pyon , Proton, Python 3, Python 2, Python 1, Perl 6, Perl 5, Ruby, bc, Pari / GP, brainfuck, Emoji, Emotin🌗micon, Charcoal, Braingolf, Whitespace, Deadfish ~, Deadfish, Brainfuck auto modificable, Brainfuck simbólico, Numberwang, Cardinal, Actually, Fission, Prelude, Brain-Flak (BrainHack), Alphuck, Deadfish x, TacO, Braille, rk , evil
Esta respuesta se está haciendo muy larga, así que aquí está la respuesta completa. De ahora en adelante solo el último programa se mantendrá aquí.
Si alguien encuentra que uno de los programas está roto para un idioma o un programa funciona para un idioma que no debería, avíseme.
Pruébalo en línea!
fuente
11 idiomas, 10 bytes
Pyon
Pyon, Python 2
Pyon, Python 2, Python 1
Pyon, Python 2, Python 1, Python 3
Pyon, Python 2, Python 1, Python 3, Lua
Pyon, Python 2, Python 1, Python 3, Lua, Perl 5
Pyon, Python 2, Python 1, Python 3, Lua, Perl 5, Ruby
Pyon, Python 2, Python 1, Python 3, Lua, Perl 5, Ruby, Swift 4
Pyon, Python 2, Python 1, Python 3, Lua, Perl 5, Ruby, Swift 4, Perl 6
Pyon, Python 2, Python 1, Python 3, Lua, Perl 5, Ruby, Swift 4, Perl 6, Julia
Pyon, Python 2, Python 1, Python 3, Lua, Perl 5, Ruby, Swift 4, Perl 6, Julia, Lily
fuente
4 idiomas: CJam, Python, Underload,> <>
Lo siguiente funciona en CJam pero no en Python, Underload o> <>:
404
a la pila. El programa finaliza y404
se emite.404
. La expresión se evalúa y el programa termina.4
y0
son comandos no válidos, por lo que el intérprete TIO simplemente los ignora y el programa finaliza.404
empuja4
,0
y4
a la pila. La IP se ajusta al principio, y el programa se repite infinitamente.Lo siguiente funciona en CJam o Underload (aunque produce errores) pero no en Python o> <>:
N
empuja una cadena (matriz de caracteres) que contiene una nueva línea a la pila.(
saca el carácter único (una nueva línea) de la cadena.404
empuja404
a la pila, y luego la)
incrementa para dar405
.S;
empuja un espacio y luego lo elimina de inmediato.(
decrementos de nuevo para obtener404
, y luego\
intercambia la nueva línea y el404
.404\n
se emite (la matriz vacía se muestra como nada).N
se ignora.(404)
empuja la cuerda404
a la pila.S
lo emite.;
es ignorado(
hace que el intérprete intente buscar un cierre)
, pero como no se encuentra ninguno, el programa falla.N(404)
va seguida de un identificadorS
, que tiene un formato incorrecto), por lo que los errores del programa.N
es una instrucción no válida, por lo que el programa comete errores.Lo siguiente funciona en CJam (aunque produce errores), Underload o Python, pero no> <>:
[]
empuja la matriz vacía a la pila yL
empuja la matriz vacía a la pila.e=
cuenta el número de ocurrencias de[]
in[]
, giving0
.404
empuja404
a la pila.+
suma los dos números juntos, dando404
.L
empuja la matriz vacía a la pila nuevamente ye#
crea un comentario que dura hasta el final de la línea.(
intenta extraer un elemento de una matriz, pero dado que el elemento de la pila superior es la matriz vacía[]
, los errores del programa.404
todavía se emite.[]
es una declaración que consiste en una instrucción no operativa.Le=404
define una variableLe
para ser igual a404
.+Le
toma el plus unario de la variableLe
(una operación bastante inútil) y el resultado se descarta.#(404)S
Es un comentario de línea.(print(404))
imprime 404.(404)S
, que empuja404
a la pila y la saca.(print(404))
empujaprint(404)
a la pila, pero no se hace nada con él y el programa termina.[
intenta sacar un número de la pila superior en el metastack, y luego saca muchos elementos de esa pila y los convierte en una nueva pila que luego se empuja al metastack. No hay ningún número en la pila, por lo que los errores del programa.Lo siguiente funciona en CJam (aunque produce errores), Python, Underload y> <>:
[]
, ahora tenemos una cadena literal, pero el contenido aún no es importante.[]
, la primera expresión no utilizada ahora es un literal de cadena, pero el contenido aún no es importante."
comienza el modo de cadena y la IP se ajusta alrededor de la primera fila empujando cada código de caracteres que ve a la pila (esto no es importante). La IP se ajusta y"
vuelve a golpear , lo que sale del modo de cadena.404
empuja los dígitos404
a la pila y luegonnn
genera cada uno de ellos (técnicamente, esto sucede en orden inverso, pero dado que 404 es un palíndromo, esto no importa).;
termina el programafuente
6 idiomas Brain-Hack, Brain-Flak, Brain-Fuck, Foo, Javascript, Alphuck
¡Más por venir!
Brain-Hack
Imprime 404 en Brain-Hack
Brain-Hack, Brain-Flak
Brain-Hack, Brain-Flak, Brain-Fuck
Utiliza comentarios en Brain-Flak para imprimirlo
Brain-Hack, Brain-Flak, Brain-Fuck, Foo
Brain-Hack, Brain-Flak, Brain-Fuck, Foo, Javascript
Brain-Hack, Brain-Flak, Brain-Fuck, Foo, Javascript, Alphuck
fuente
4
...5 idiomas (87 bytes)
Pyon
Pruébalo en línea!
Python 2
Pruébalo en línea!
Brain-Flak (BrainHack)
Pruébalo en línea!
cerebro
Tomado de la respuesta de Jo King porque no pude encontrar un código de brainfuck que tuviera los corchetes equilibrados (restricción Brain-Flak).
Pruébalo en línea!
05AB1E
Tenga en cuenta que esto también funciona con Ohm.
Pruébalo en línea!
Gracias a Jo King por -6 bytes.
fuente
x%x
y[-]
no son necesarios2 idiomas, 24 bytes, Python y Batch
Programa 1: Python 3
Programa 2: Python 3 y Batch
Después del hash comenta el resto del código en python, y el | es una declaración en bash para hacer esto si el otro comando falla.
fuente
2 lenguajes, 53 bytes: C y Python
Comencemos con algo simple.
Programa 1: C
Programa 2: C y Python
Enlaces TIO:
Este es solo un ejemplo, y probablemente será golpeado muchas veces.
fuente
4 idiomas, 91 bytes
C ++
C ++, C
Elimina la macro de C ++
C ++, C, Befunge
Agrega una macro que se ignorará en C ++, pero se leerá como código en Befunge.
C ++, C, Befunge, Python
Anuncia un fragmento de código que hace que la siguiente línea sea un comentario en C, pero no en Python (
//<backslash>
)fuente