El concurso de lenguaje de programación

189

¡Felicitaciones a Dennis que ganó el desafío de los policías y los ladrones! Calvin's Hobbies ya cumplió su promesa y escribió este desafío para Dennis por ganar el desafío de los ladrones.

Aviso: este desafío está cerrado para obtener más respuestas de la policía a partir del 2015-09-01 02:00:00 UTC. Las nuevas respuestas publicadas no serán elegibles para ganar y no contarán para los puntajes de los ladrones si se descifran. Sin embargo, aún puede publicar nuevas respuestas para el disfrute de los demás usuarios, por lo que todavía hay algunos acertijos disponibles para futuros visitantes. Estas nuevas respuestas se incluyen en la sección "Policías Vulnerables" de la tabla de clasificación y su estado de no competencia se marca por separado.

¡Bienvenido a la edición de Cops-and-Robbers de The Hello World Quiz ! (Si nunca ha jugado el cuestionario, siéntase libre de probarlo por un minuto o 30. Sin embargo, no necesita haberlo jugado para este desafío).

El desafío de los policías

  1. Elige un lenguaje de programación. Los idiomas válidos deben tener un artículo de Wikipedia en inglés , un artículo de esolangs o un artículo de Rosetta Code en el momento en que se publicó este desafío (tenga en cuenta que las listas vinculadas no están necesariamente completas porque están seleccionadas manualmente). También deben satisfacer nuestros estándares habituales para los lenguajes de programación , por lo que no están disponibles cosas como HQ9 +. Por último, debe haber un intérprete o compilador gratuito (como en cerveza) disponible para el idioma (en el momento en que se publicó este desafío).
  2. Escribe un programa Hello World. Es decir, escriba un programa completo en el idioma elegido que imprima Hello, World!(exactamente así, es decir, este flujo de bytes exacto) y, opcionalmente, una nueva línea final a STDOUT o la alternativa más cercana.

    No debe asumir un entorno REPL, un código estándar existente o indicadores de compilador / intérprete no estándar. El programa debe tener la forma de uno o más archivos de origen (para descartar lenguajes extravagantes como Carpetas ) y debe caber en su respuesta completa (por lo que no debe tener más de 30,000 caracteres); esto no debería ser un problema para Cualquier presentación seria.

    Si su código contiene bytes fuera del rango ASCII imprimible, incluya un volcado de pastebin o hexadecimal para asegurarse de que su código sea realmente comprobable.

    El programa debe finalizar en 1 minuto en una PC de escritorio típica.

Eso es. El problema es que desea ofuscar su código de modo que no sea obvio qué idioma eligió. También tenga en cuenta que no desea que su código sea accidentalmente un programa válido de Hello World en ningún otro idioma, aunque espero que sea poco probable para programas suficientemente ofuscados.

Bajo ninguna circunstancia debe editar el código fuente de su envío una vez publicado (ya que esto puede invalidar los intentos activos de los ladrones de descifrar su respuesta). Así que asegúrate de jugar golf tan bien como puedas (o atrévete) antes de publicar. Si se da cuenta de que su respuesta no funciona después de publicarla, simplemente elimine su respuesta y publique una versión fija si lo desea.

Si nadie encuentra un idioma en el que su código es válido durante 7 días, puede revelar el idioma elegido (idealmente con una explicación para su código ofuscado), lo que hará que su respuesta sea segura . Tenga en cuenta que su envío aún puede descifrarse hasta que revele el idioma.

El envío seguro más corto (en bytes) gana.

Formateo

(Siéntase libre de omitir esta sección y leer The Robbers 'Challenge si no planea participar como policía en este momento).

Al final de esta publicación, encontrará un Fragmento de pila que genera tablas de clasificación, así como una lista de envíos que aún pueden descifrarse. Para que el fragmento funcione, es importante que incluya un encabezado determinado en su respuesta:

  • Las nuevas respuestas deben incluir un encabezado como

    # ???, [N] bytes
    

    donde [N]es el tamaño de su código en bytes y ???debería aparecer literalmente.

  • Si la respuesta no está descifrada durante 7 días y desea que su respuesta sea segura al revelar el idioma, simplemente reemplace el ???, p. Ej.

    # Ruby, [N] bytes
    

    Siéntase libre de tener el enlace del nombre del idioma a un sitio web relevante como una página de esolangs o un repositorio de GitHub. El enlace se mostrará en la tabla de clasificación.

  • Si otro usuario descifró con éxito su envío (consulte a continuación), agregue también el idioma, junto con un aviso como

    # Ruby, [N] bytes, cracked by [user]
    

    donde [user]está el nombre del usuario que envió el primer crack válido. Si el lenguaje utilizado en el crack es diferente del que usted pretendía, recomendaría usar la suposición de los ladrones y mencionar en la respuesta que pretendía que fuera otra cosa. Siéntase libre de hacer que el nombre de usuario sea un enlace a su página de perfil.

El desafío de los ladrones

  1. Encuentra una respuesta vulnerable. Esa es una respuesta, que aún no se ha descifrado y que aún no es segura .
  2. Descifrarlo descubriendo su lenguaje. Es decir, encuentre cualquier idioma en el que el programa en cuestión sea un programa válido de Hello World (sujeto a las reglas descritas en El desafío de los policías anterior). No importa si este es el idioma que pretendía el policía.

    Si ha encontrado ese idioma, deje un comentario con el nombre del idioma. Si es posible, debe incluir un enlace a un intérprete en línea, que muestre que el código realmente funciona en ese idioma según sea necesario.

Cada usuario solo obtiene una suposición por respuesta. No debes descifrar tu propia respuesta (obviamente ...).

El usuario que descifró la mayor cantidad de respuestas gana el desafío de los ladrones. Los lazos se rompen por la suma de bytes de respuestas descifradas (más es mejor).

Debido a que el desafío de los ladrones se lleva a cabo exclusivamente en los comentarios, no habrá ningún incentivo de reputación para los ladrones. Sin embargo, el Gran Maestro de Reto de Escritura, Calvin's Hobbies , se ha ofrecido amablemente a escribir un desafío sobre el usuario que gana el desafío de los ladrones.

Tablero de desafíos

El Fragmento de pila a continuación genera tablas de clasificación para los policías y ladrones y también enumerará todas las respuestas que aún pueden descifrarse. Avíseme si algo parece no funcionar correctamente e intentaré solucionarlo lo antes posible. Si puede pensar en características adicionales que harían más útil el tablero, deje un comentario también.

Martin Ender
fuente
108
Un minuto de silencio para aquellos que solo son capaces de programar Piet.
user3819867
19
Ahí va mi productividad!
Lucas
11
Creo que podría comenzar a debatir si debo o no comenzar a usar Foo como una maldición ... "¡Oh, Foo! ¡Tú, pequeño FOO!" Sí, encaja perfectamente.
kirbyfan64sos

Respuestas:

38

Estela , 17 bytes

":"Hello, World!"

Según el sitio web oficial ,

Wake es un lenguaje de programación que tiene las esencias de Makefile, expresiones regulares y coincidencias de patrones de lenguajes de programación funcionales.

Wake fue creado por shinh y puede probarse en su servidor de golf Anarchy Golf .

El código consta de una sola línea que contiene un objetivo / etiqueta y una acción. Como la acción es un literal de cadena, se imprime en STDOUT.

El uso "para el objetivo tenía dos propósitos:

  • Proporciona protección políglota.

    Impresión de clip y foo :; GolfScript y CJam generan un error de sintaxis debido a una cadena sin terminar.

  • Proporciona un poco de incertidumbre acerca de cómo se supone que funciona el código.

Dennis
fuente
1
Parece que esta podría ser la presentación ganadora.
primo
Encontré un lenguaje en el que funciona de acuerdo con las especificaciones poco definidas, pero el único compilador existente hasta donde yo sé tiene un error que hace que falle.
histocrat
Mis dos teorías sobre qué es esto son 1: que podría ser un lenguaje que tenga etiquetas de línea arbitrarias, por lo que ":es un prefijo de línea válido y que trata una cadena literal por sí misma en la línea real como un comando de salida. O 2: que es una sustitución de cadena y se <foo>:<bar>elimina <foo>de <bar>. Ectoforte, de la página wiki de esolangs Forte, satisface 1 pero el intérprete vinculado rompe con una comilla doble en la etiqueta y no sé si realmente cuenta como un idioma.
histocrat
1
Bien hecho, Dennis. Esperaba que mi byte uno finalmente fuera lo suficientemente bueno como para ser el mejor ganador. ¡Qué amenaza! : P Ese es un nuevo avatar, ¿verdad?
mbomb007
@ mbomb007 Leí tu comentario antes de que lo editaras. Sí, el avatar es completamente nuevo.
Dennis
147

TinyBF , 708 bytes, agrietado por kirbyfan64sos

Esto fue muy divertido. Todos saben que solo puedo escribir un idioma;)

I,c,o,d,e,C;i;main(){i++;for(i++;i^9;i++)putchar(((i+69)*!(i+2*~0)|(9!=9+(I=((i-1)>>(i+2*~0))+~(!(i+2*~0)+~0)))*111|115*(6>i+1)*(i>3)+~(i>(10+(9>i)+~i+(i>9)))+(5<i)+(i<5)+1|(c=(i>6))|(o=(i>=7+!i))|(d=(i>>1>3)*(i*((i+~0>5)<<2)+(i>~2+i)))|(e=(i-~0>(i|5)&&32>>i)*99)|(C=(i>>(i>>2+i/7)>0)*(i+(i<<1)+(i<<2)+(i<<3)+(i<<4)>=(i!=6)*(5>=i)*(i+(i<<5)))*(i+(i*i)+62)*((i==6)!=!i)))+(i*i+(i<<1)+(31+i^i)+(i+i)*~0+2*i)*(1==(i==7)));I|=(c+=(o>d)),2*(c+C>o+d);e^=(d>>c)|4;I-=(e>C)+(I+c+(o==C)-~7*(C<=I)>>(C>=o));C=(e>>2)^(I-~o==c),o=255>>((int)1e7*(c-~1)>>(C+e+d+o+I)),i|=i+(e>=d)+(2<<I)+(3<<c);putchar(!(I+d+c>=(C|e))?(I>o)+(d=(20*(I==c))>>(1==~I+d+e+(C==(1>=(I==C))))):(I+o+C)*((C+e)/5+C+I+20+I+I==1>>(o>>(d>=(C!=I)))));}

Explicación

En primer lugar, esto tardó muchas horas en realizarse, ¡así que estoy abrumadoramente encantado por todas las reacciones positivas e intentos de descifrarlo!

Como se señaló en los comentarios, cuando se compila en C, el código se imprime Gotcha!seguido de una nueva línea, pero cuando TinyBF imprime lo deseado Hello, World!. TinyBF es un derivado sencillo de Brainf ** k que sustituye a sus 8 comandos con sólo 4: + > | =. Como todos los demás personajes son ignorados, podría escribir un programa en C con muchos operadores innecesarios para tratar de guiar a las personas en la dirección incorrecta (que, para mi sorpresa, funcionó bastante bien). Aquí está el código puro de TinyBF:

++++++++|=+=>>++++|>+>+>+>++>+++|=>|=>=+|=>>>+>+>+|=>|>>|=>>>>+>++++>==>=+++===+++++++====|=+=>+>+=>>|=>+++===>>>==>>===>>>>++++|=+>=++++>=|>+===>>==+++==>===++++++++==>>>>>==

Aquí está el mismo programa, escrito en BF ordinario:

++++++++[->>++++[>+>+>+>++>+++[<]>-]>>>+>+>+[<]<<]>>>>+>++++>.>---.+++++++..[->+>+<<]>+++.<<<.<<.>>>>++++[-<++++>]<-.>>.+++.>.--------.<<<<<.

Puede usar este intérprete para convertir de BF a TinyBF y ejecutar el código.

BrainSteel
fuente
30
Veo una definición para main(). ¿Podría ser C? http://codepad.org/pj9mQgyQ (Como una nota: Salidas Gotcha!)
DDPWNAGE
1
Basado en sus respuestas, y en base a alguna documentación, diré que esto es Fission . Todo I,c,o,d,e,C;i;main()se ignoraría (además de, ;pero no parece importante), y la gran cantidad de los !cuales se utilizan para generar caracteres ASCII podría ser una señal de que es esto. Sin embargo, no puedo descargar el intérprete de Fission y comprobarlo ahora.
Fatalize
1
@Fatalize Sólido, pero no es Fisión :) Se necesitaría una 'L' o una 'R' para iniciar el programa, ya que todo está en una línea.
BrainSteel
47
¡Es TinyBF!
kirbyfan64sos
66
Felicidades por la insignia de oro para esta publicación. : D
Alex A.
113

malvado , 658 bytes, descifrado por Sp3000

#!/sbin/fortran

Hello, World = 'SCBsIG8gICBvIGwgIQogZSBsICwgVyByIGQKYm9zcnJ1a3R2cG54cHN2eGJ5eWJkeG9iaHJ0eHV0SGF0eXJhcGF4eW5wYWFuenhkdnBidnZuYWRhcXZoZGFhcEVxcnZkcWF1YXh0ZW5ncXJ4ZXF2d2ZndWRueXZweWR1d0x2eHhydHZidW55ZHJucW5ocGhidG5neWR3eHd0c3V3d0x2c3d0cHVueHVwdHJwaWhhaG16ZXNiaXdweWdnanVocU9saHV3eWVwaGNyeW1naHBhaW5wZGRnZWJuZ2Z1eGRwZnV3eXNienJ2enh0YnRyaXZ6ZW54eWR3eGhodHh2YVd0eXF6dnVwZWdndnVnY3d0c2NhZWRnaWRyaXJ1aHV0d09tZGRwdHJueXVneG5iYXBueG96d2FweGR3enRna21wZ1Jjc29oeHVoZ3Z4Y3V3eXV5end2cXZ1ZG52ZWJudW16d0x2YWZoeXR2ZW91YXdoYW90YXN0ZWNuY3V2cG5odXVwZ0RiY2d2ZW15cnV0ZG9id3J5dWFyYXN3Z3hhdHdkZnJkYnN3cXJ4dWJzYXf='.decode('base64').rsplit(' ', 1)

print Hello, World

El mal es un viejo esolang un poco como BF. Los comandos son todas letras minúsculas y otros caracteres simplemente se ignoran.

Primero, generé un breve programa de hello world en mal usando Python:

aeeeaeeewueuueweeueeuewwaaaweaaewaeaawueweeeaeeewaaawueeueweeaweeeueuw

Luego, nuevamente usando Python, lo transformé en una cadena base64:

Ym9zcnJ1a3R2cG54cHN2eGJ5eWJkeG9iaHJ0eHV0eXJhcGF4eW5wYWFuenhkdnBidnZuYWRhcXZoZGFhcnZkcWF1YXh0ZW5ncXJ4ZXF2d2ZndWRueXZweWR1eHhydHZidW55ZHJucW5ocGhidG5neWR3eHd0c3V3c3d0cHVueHVwdHJwaWhhaG16ZXNiaXdweWdnanVoaHV3eWVwaGNyeW1naHBhaW5wZGRnZWJuZ2Z1eGRwZnV3eXNienJ2enh0YnRyaXZ6ZW54eWR3eGhodHh2eXF6dnVwZWdndnVnY3d0c2NhZWRnaWRyaXJ1aHV0ZGRwdHJueXVneG5iYXBueG96d2FweGR3enRna21wc29oeHVoZ3Z4Y3V3eXV5end2cXZ1ZG52ZWJudW16YWZoeXR2ZW91YXdoYW90YXN0ZWNuY3V2cG5odXVwY2d2ZW15cnV0ZG9id3J5dWFyYXN3Z3hhdHdkZnJkYnN3cXJ4dWJzYXf=

Que decodifica en letras puramente minúsculas:

bosrruktvpnxpsvxbyybdxobhrtxutyrapaxynpaanzxdvpbvvnadaqvhdaarvdqauaxtengqrxeqvwfgudnyvpyduxxrtvbunydrnqnhphbtngydwxwtsuwswtpunxuptrpihahmzesbiwpyggjuhhuwyephcrymghpainpddgebngfuxdpfuwysbzrvzxtbtrivzenxydwxhhtxvyqzvupeggvugcwtscaedgidriruhutddptrnyugxnbapnxozwapxdwztgkmpsohxuhgvxcuwyuyzwvqvudnvebnumzafhytveouawhaotastecncuvpnhuupcgvemyrutdobwryuaraswgxatwdfrdbswqrxubsaw

Agregué algunas otras cosas a la cadena base64, luego la escribí como el programa Python anterior.

El shebang es realmente importante en el programa. El santes de bin sbinomitirá el bcomando. Luego, fin fortranescaneará hacia adelante hasta el siguiente mcarácter, que está en la cadena base64.

grc
fuente
13
Pues esto es interesante . Tener un +1 :)
Sp3000
66
Parece Python ...
Zizouz212
99
O esta es una versión / derivada realmente oscura de Python donde la decodificación Base64 funciona de una manera extraña, o el galimatías de Base64 no es realmente Base64 en el idioma correcto. No puedo pensar en ninguna otra explicación posible, pero tal vez alguien más lo hará.
ETHproductions
27
Con 2 horas para el final, apuesto todo a esta suposición: ¿Es esto malo ?
Sp3000
44
@Rob evil no decodifica la cadena base64: la cadena es un programa en sí misma. Los caracteres aeeeaeee...se mezclan con caracteres aleatorios, de modo que la cadena resultante es una cadena base64 válida. Elegí los caracteres aleatorios de modo que la cadena resultante decodifique en base64 a letras minúsculas, pero la cadena decodificada es realmente irrelevante, es solo una distracción. Lo único que importa es que evil ejecutará la cadena base64, pero ignorará las letras mayúsculas y algunas letras minúsculas ya que no son comandos, dejando el programa hello world.
grc
99

Lua, 2920 2865 Bytes, agrietado por jimmy23013

Ayer aprendí este idioma, así que perdona los errores de sintaxis.

 --[[~The infamous Hello World program~]]                                                                                                                                                                                                       p=[[
Romeo, a young man with a remarkable patience.
Juliet, a likewise young woman of remarkable grace.
Ophelia, a remarkable woman much in dispute with Hamlet.
Hamlet, the flatterer of Andersen Insulting A/S.


                    Act I: Hamlets insults and flattery.

                    Scene I: The insulting of Romeo.

[Enter Hamlet and Romeo]

Hamlet:
 You lying stupid fatherless big smelly half-witted coward!
 You are as stupid as the difference between a handsome rich brave
 hero and thyself! Speak your mind!

 You are as brave as the sum of your fat little stuffed misused dusty
 old rotten codpiece and a beautiful fair warm peaceful sunny summer's
 day. You are as healthy as the difference between the sum of the
 sweetest reddest rose and my father and yourself! Speak your mind!

 You are as cowardly as the sum of yourself and the difference
 between a big mighty proud kingdom and a horse. Speak your mind.

 Speak your mind!

[Exit Romeo]

                    Scene II: The praising of Juliet.

[Enter Juliet]

Hamlet:
 Thou art as sweet as the sum of the sum of Romeo and his horse and his
 black cat! Speak thy mind!

[Exit Juliet]

                    Scene III: The praising of Ophelia.

[Enter Ophelia]

Hamlet:
 Thou art as lovely as the product of a large rural town and my amazing
 bottomless embroidered purse. Speak thy mind!

 Thou art as loving as the product of the bluest clearest sweetest sky
 and the sum of a squirrel and a white horse. Thou art as beautiful as the difference between Juliet and thyself.
 Speak thy mind! Let them]] print -- (She pauses) -- it in the streets!
 --[[Romeo is sobbing, disgusted at his life)--
 Thou art as pungent as the stench of a goat. Speak thy mind!
 [[Exeunt Romeo]]
 "Hello, World!" -- No response. "Hello!" He calls out again, but to no avail.

[[Exeunt Ophelia and Hamlet


                    Act II: Behind Hamlet's back.

                    Scene I: Romeo and Juliet's conversation.

[Enter Romeo and Juliet]

Romeo:
 Speak your mind. You are as worried as the sum of yourself and the
 difference between my small smooth hamster and my nose. Speak your
 mind!

Juliet:
 Speak YOUR mind! You are as bad as Hamlet! You are as small as the
 difference between the square of the difference between my little pony
 and your big hairy hound and the cube of your sorry little
 codpiece. Speak your mind!

[[Exit Romeo]
[[

                    Scene II: Juliet and Ophelia's conversation.

[Enter Ophelia]

Juliet:
 Thou art as good as the quotient between Romeo and the sum of a small
 furry animal and a leech. Speak your mind!

Ophelia:
 Thou art as disgusting as the quotient between Romeo and twice the
 difference between a mistletoe and an oozing infected blister! Speak
 your mind!

[Exeunt]]

Advertencia: Imprime "¡Hola, mundo!" y luego sale con un error

Explicación:

En Lua, - [[significa comentario de varias líneas, - significa comentario de una línea, y [[es una cadena de varias líneas.

Si se desplaza hacia un lado en la primera línea, verá un p = [[. Esto define una cadena de líneas múltiples que va desde "Romeo, un hombre joven" hasta "Dejarlos]]", que la mayoría de la gente echa un vistazo, pero en realidad está terminando la cadena de líneas múltiples. Luego tenemos print, que es la función print, y luego "-" hace que el resto de la línea sea un comentario. Necesitamos poner algo de espacio entre la impresión y el Hello World para que no lo regalemos, así que tenemos un comentario de varias líneas: "- [[Romeo está sollozando, disgustado por su vida] - Eres tan picante como el hedor de una cabra. ¡Di lo que piensas! [[Exeunt Romeo]] "The]] al final termina el comentario de varias líneas, y en la línea después de" ¡Hola, Mundo! " y luego el resto de la línea se comenta con un -.

   Thou art as loving as the product of the bluest clearest sweetest sky
     and the sum of a squirrel and a white horse. Thou art as beautiful as the difference between Juliet and thyself.
     Speak thy mind! Let them]] print 
     "Hello, world!" 
TreFox
fuente
8
¿Es Shakespeare?
SuperJedi224
Ver código de ejemplo, es Shakespeare: en.wikipedia.org/wiki/…
max_
24
Es lua. (al menos 15 caracteres)
jimmy23013
44
Lua disfrazada de Shakespeare. ¡Genio! +1
ETHproductions
En realidad, imprime Hello, world!, no Hello, World!.
Dennis
83

TRANSCRIPCIÓN , 39 bytes

End is here.
>End, Hello, World!
>X End

Aquí hay uno agradable y simple.


¡Primer policía seguro! Me sorprende que este haya durado hasta el final: intenté elegir un idioma que sería difícil de buscar directamente, pero que sería más fácil de descifrar si pudieras adivinar el tema.

TRANSCRIPT es un esolang basado en juegos de ficción interactivos. Tiene NPC (cadenas) y objetos (enteros). Aquí Endestá el nombre de un NPC.

La primera línea declara el NPC con la sintaxis <name> is here.. La segunda línea luego asigna al NPC la cadena "Hello, World!", y la tercera línea imprime la cadena usando el X / EXAMINEcomando. No hay mucho espacio para la ofuscación aquí, así que todo lo que hice fue elegir algo que generalmente no es un nombre para el NPC.

Para probar que TRANSCRIPT es un lenguaje válido para este desafío, aquí hay un programa que verifica si un número natural de entrada es primo o no:

The Nineteenth Room
In the middle of the room you spot a lone figure.
Martin is here.
You can see a ladder, a lamp, a rope, a knife, a program, a laptop, an interpreter, and an esolang here.

>RESTORE
Which save file would you like to restore?

>PROGRAM.sav
Done.

>SET LAMP TO 1
You turn on the lamp.

>LIFT KNIFE
You pick up the knife, feeling powerful.

>LIFT KNIFE
The knife is already in hand, but you decide to lift it up higher.
You know knives aren't dumbbells, right?

>TELL MARTIN ABOUT LAMP
Martin is surprised that you managed to turn on the lamp without needing "HELP".

>HELP
Too bad, no hints for you.

>SHOW KNIFE TO MARTIN
You pull out the knife.
Martin picks up his phone and starts calling for the police.
You quickly realise your mistake and apologise profusely. Good job.

>ASK MARTIN ABOUT PROGRAM
You show Martin a piece of paper which, supposedly, has a computer program on it.
The program appears to be written in a strange and foreign language.
Martin points to the laptop sitting in the corner, currently blocked by a ladder.

>LIFT LADDER
You move the ladder slightly out of the way.

>SHOW PROGRAM TO MARTIN
Martin doesn't respond. He's too busy trying to golf esolang quines.

>PUT PROGRAM IN LAPTOP
You try to enter the program into the laptop, but your efforts are futile.
The laptop is off.

>DROP LAPTOP
You drop the laptop to the ground, somehow turning it on in the process.
Just kidding, it's still off. The screen has an extra crack now though.

>ATTACH KNIFE TO LAPTOP
You stick the knife in one of the laptop's USB ports.
The laptop turns on.

>SET ROPE TO 0
You grab both ends of the rope and tie a knot, forming a loop.

>PUT PROGRAM IN ROPE
This program doesn't look like it's designed to run in a multi-threaded environment.

>CUT ROPE WITH KNIFE
The knife is powering the laptop.

>HIT ROPE WITH KNIFE
The knife is still (somehow) powering the laptop.

>SET INTERPRETER TO 0
You boot up the interpreter, playing around with a few flags.

>PUT PROGRAM IN INTERPRETER
You enter the program into the interpreter.

>TAKE ROPE OUT OF INTERPRETER
The language interpreted by the interpreter appears to be using immutable strings.

>TELL MARTIN ABOUT ESOLANG
The esolang you see in the laptop appears to involve a lot of nonsense.

>SHOW INTERPRETER TO MARTIN
You show Martin the output of the program. It says: "Hello, World!"

>ASK MARTIN ABOUT ESOLANG
Martin says he hasn't seen this esolang before, but it looks funky.
You get so excited about this new esolang that you knock over the ladder.

>LIFT LADDER
You pick the ladder up and move it a bit further away.

>SHOW ESOLANG TO MARTIN
Martin tries to study the language.

>DETACH KNIFE FROM LAPTOP
You pull the knife out from the laptop.
The laptop turns off.

>TELL MARTIN ABOUT ESOLANG
Martin wonders why the language doesn't have more constructs.
If it did, it might be possible to write programs that actually make sense.

>SHOW LADDER TO MARTIN
Martin argues that it's actually a stepladder.

>ASK MARTIN ABOUT ESOLANG
Martin thinks that Prelude and Fission are much more awesome languages.

>MARTIN, Your number was prime.
Martin raises an eyebrow, wondering what you're on about.

>SHOW ESOLANG TO MARTIN
Martin shows *you* Prelude. It is indeed more awesome.

>TELL MARTIN ABOUT LAMP
Martin already knows about the lamp, remember?

>SHOW LADDER TO MARTIN
It's a stepladder.

>ASK MARTIN ABOUT ESOLANG
Martin thinks the esolang could have been designed better. It's fun to write, though.

>MARTIN, Your number was not prime.
You say this to Martin, but the message isn't intended for Martin.
Martin seems to realise.

>SHOW ESOLANG TO MARTIN
The esolang seems to be called "TRANSCRIPT".

>EXAMINE MARTIN
It's rude to stare at people like that.

>EXIT
Thank goodness this charade is over.

Como nota al margen, en realidad he estado nervioso desde la suposición de @ aditsu, que estaba muy cerca. Inform 7 es un lenguaje para crear juegos de ficción interactivos, que ni siquiera sabía que existían.

Como tributo al intento de aditsu, probé con Inform 7:

"aditsu's close guess" by Sp3000

The Nineteenth Byte is a room.
"abandon all work, ye who enter here —aditsu"

The laptop is a device in the Nineteenth Byte. A llama is here.

Carry out switching on the laptop:
    say "Hello, World!"

Y aquí hay una muestra de ejecución:

ingrese la descripción de la imagen aquí

Sp3000
fuente
3
@aditsu No, pero este es un error interesante: "En la oración '> End, Hello, World!> X End', no puedo encontrar un verbo con el que sepa cómo lidiar. (Noto que hay una coma aquí , que a veces se usa para abreviar las reglas que normalmente se escribirían con dos puntos, por ejemplo, 'Antes de tomar: diga "Respiras". Puede abreviarse como "Antes de tomar, diga ...", pero eso solo está permitido para las reglas Antes, En cambio y Después. Menciono todo esto en caso de que quisieras decir esta oración como una regla en algún libro de reglas, pero
usaste
17
Gosh, ese es el esolang más divertido que he visto! Me encanta tu excelente ejemplo. +1
ETHproductions
15
"> PONER PROGRAMA EN CUERDA" "Este programa no parece estar diseñado para ejecutarse en un entorno de subprocesos múltiples". ¡Una buena risa de 5 segundos en voz alta!
Kroltan
1
"Martin argumenta que es una escalera de mano"? Found the Ace Attorney fan;)
Deusovi
66
"> TOMAR LA CUERDA DEL INTÉRPRETE" "El lenguaje interpretado por el intérprete parece estar usando cadenas inmutables". xD
ev3commander
64

Headsecks , 637 bytes, descifrados por Dennis

( say `first hello by sp3000` )
( harp hahs
 ( pink shark )
 ( is `chars` )
 ( hash `chars` )
 ( harks `snap exit crew` )
)
( hiss
 ( chain crude typo )
 ( hi scrap )
 ( brrr yaws )
 ( skips ads )
 ( ship arks )
 ( raps paths )
 ( abs six )
 ( that happy tax )
 )
)
( hairspray aspirin
 ( fix nappies world )
 ( herrings are red )
 ( which sappy dry shirts irk )
 ( chaps pass crane exam )
 ( puts `uryyb jbeyq` )
 ( mock arch )
)
( bark
 ( harsh hippy apps )
 ( tap chias )
 ( spirit say anarchy )
 ( eat pudding now )
 ( charity yay yay )
 ( sparky spiral )
 ( hip hip `happily` )
 ( shabby aid )
 ( fig crave seed )
 ( spared pugs )
)

Headsecks es una codificación a BF a través de puntos de código módulo 8. El programa anterior, cuando se convierte, proporciona

++>--++[-<>.++,..]+<-+>+>+++++-<+++-<+++-+><++++-[>+>+-<>+-<+++->++>+-<>++-<++++->+++>+-<>++-<++++-<>>++>[-++,+-.+><,]++-<-<+++->><+++>+--[+><,.,+.-+]+-<++++-+>><-++-<+++<<<<+--]>+-<+++>>-+>+-.>+-<+++>+-++-<>>+-<+++<-+>++-.+>+-<+++-<>+>-++-<+++.+-.++-++-+.-++-<+-<-<+++--<>+<--+->+-<-[<+++[-++[-++-,>+]]<..+-<++++,<<-[]>+-<,+<,.+-<+++]+->++>-++-+.<-+>+-<.>+-<>+-<+++>+-+>++->>+><-[,+,+-,+-<++++,.>++,<--<+<<,--++-<+++,]>>+-<>++-<-<++<-<><++++-<>+++-++-+-++>+-<+++.-++>+-->+-<+++>+-<-.+>--+-[-<>+-+-<+++,-.++,..-[]+[]]+-<+++>+-<-.-+---+---+-<+++>+-<>-+>+-<-.+-<++++-+++-++++-++-.-++-<+++>+-<<-+--.+-<+++[-]+><-[,+>,,.+-<+++>+-<,.++,]>+-<-

Hay muchos pares inútiles como +-o <>allí, y quitarlos les da

++>[-.++,..]++>++++<++<++++++[>+++>++>+<+++>+++>+<+++>++>[+,.+,]+<-<++>+++>-[+,.,+.]<+++++++<<<<-]+++>>>.+++>+++++.+++++++..+++.<<-<++<---[<+++[+[,>+]]<..<++++,<<-[],+<,.<+++]>++>+.<.+++>+>+>>[,+,,<++++,.>++,<--<+<<,-<+++,]>>+<-<++<-<+++++++++++.+>+.+>--[-<+++,-.++,..-[]+[]]<++.-----<+++>-.<+++++++++.<+++<--.<+++[-][,+>,,.<+++,.++,]-

Puede notar que algunos bucles tienen ,(entrada) en ellos: estos bucles nunca se ejecutan, y simplemente sirven para agregar es a un programa que, de lo contrario, habría tenido solo as y is como sus vocales.

La sintaxis, los backticks, los extraños ), etc., fueron pistas falsas.

Sp3000
fuente
42
+1 paraherrings are red
Martin Ender
@Luke Buena suposición, pero desafortunadamente no
Sp3000
44
@ Hosch250 Esa es una suposición bastante vaga: P
Sp3000
13
Es Headsecks.
Dennis
61

??? , 344 bytes, descifrado por jimmy23013

código fuente

Aquí hay un hexdump del archivo:

0000000: 47 49 46 38 37 61 0d 00 0d 00 85 13 00 00 00 00  GIF87a..........
0000010: 00 00 c0 00 00 ff 00 c0 00 00 ff 00 00 c0 c0 00  ................
0000020: ff ff c0 00 00 ff 00 00 c0 00 c0 ff 00 ff c0 c0  ................
0000030: 00 ff ff 00 c0 c0 ff c0 ff c0 c0 ff ff ff c0 c0  ................
0000040: ff c0 ff ff ff c0 2c 2c 2c 2c 2c 2c 2c 2c 22 27  ......,,,,,,,,"'
0000050: 3b 2e 3b 2e 2e 2e 2e 2e 3b 2c 2c 3b 2c 2c 3b 2c  ;.;.....;,,;,,;,
0000060: 2c 2c 3b 2e 2e 2e 2e 3b 2c 2c 2c 2c 2c 2c 2d 2d  ,,;....;,,,,,,--
0000070: 2d 2d 2d 2d 2d 2c 2c 2c 2c 2c 2c 2c 22 3b 21 3b  -----,,,,,,,";!;
0000080: 2c 2c 2c 21 3b 2c 2c 2c 2c 21 21 3b 2c 21 3b 2e  ,,,!;,,,,!!;,!;.
0000090: 2e 2e 2e 21 3b 21 3b 2e 2e 2e 2e 2e 2e 2e 21 2d  ...!;!;.......!-
00000a0: 2d 2d 21 2e 2e 2e 21 2d 21 2d 2c 21 3b 3b 3b 3b  --!...!-!-,!;;;;
00000b0: 2e 2e 2e 2e ff ff ff ff ff ff ff ff ff ff ff ff  ................
00000c0: ff ff ff ff ff ff ff ff ff ff ff ff ff 2c 00 00  .............,..
00000d0: 00 00 0d 00 0d 00 00 05 7d 20 d3 08 41 52 2c 83  ........} ..AR,.
00000e0: c1 28 89 03 05 46 f1 8c 2c eb 16 0c 81 48 11 34  .(...F..,....H.4
00000f0: 06 12 c8 e2 c1 1b 30 7c 32 84 68 30 20 24 14 11  ......0|2.h0 $..
0000100: 80 34 72 20 08 44 82 45 14 e0 90 42 10 81 85 04  .4r .D.E...B....
0000110: 71 68 70 1d 5d 09 23 c1 23 0c 14 52 83 74 f5 70  qhp.].#.#..R.t.p
0000120: 3c 18 81 83 04 10 00 48 16 06 0d 0f 06 07 05 09  <......H........
0000130: 11 0a 6f 11 0d 05 0e 12 0d 09 33 0b 0c 03 75 41  ..o.......3...uA
0000140: 04 11 0c 0b 05 08 5f 10 07 08 04 86 0a 31 9d 11  ......_......1..
0000150: 4f 94 93 06 03 21 00 3b                          O....!.;

Comencé con un programa Piet que imprime Hello, world!. La imagen en sí contenía algunos válidos ??? instrucciones ( ,,,!;), pero no lo suficiente como para causar problemas.

El seguimiento ??? El programa produce el resultado deseado y termina con las instrucciones que se encuentran en la imagen:

,,,,,,,,"';.;.....;,,;,,;,,,;....;,,,,,,-------,,,,,,,";!;
,,,!;,,,,!!;,!;....!;!;.......!---!...!-!-,!;;;;....,,,!;

Para ocultarlo dentro de la imagen, aumenté el número de colores en la paleta global de 32 a 64 (esto es lo que especifica el byte 0x85 en la primera línea) y reemplacé los primeros 110 bytes de los colores no utilizados en la paleta con los primeros 110 bytes del ??? programa.

El resultado es el primer Piet / ??? polígloto.

Dennis
fuente
11
Antes de que nadie adivine, Piet imprime en minúscula wy conociendo a Dennis, probablemente no sería tan fácil: P
Sp3000
11
Esto es ??? .
jimmy23013
27
@ugoren Como uno de los creadores de ???, puedo decirte que el objetivo era crearlo y crear una página de esolangs antes de que se publicara el desafío. El nombre fue elegido para que fuera molesto para este desafío en particular.
Alex A.
77
Esto es simplemente increible. Nunca antes había visto un programa basado en texto totalmente válido incrustado en un archivo de imagen. +1
ETHproductions
3
@ugoren No veo un problema aquí. a) ¿Realmente alenté la creación de ??? desafiando a Peter Taylor a que se le ocurriera un idioma con ese nombre para cuando se publicara el desafío (Alex terminó asumiendo eso por sí mismo). b) Se discutió públicamente en el chat, lo que significa que no es un "truco" muy bueno para el desafío, porque muchos usuarios activos lo sabían. c) No sé sobre usted, pero revisé las páginas de "cambios recientes" en esolangs para ver si se agregó algo interesante justo antes de que se publicara el desafío.
Martin Ender
41

??? , 1052 bytes, descifrado por Alex A.

    >${\.*.               @.)]($|               ../..<$
   ])*`#]<(.#^           @:">_,;;.}_           .:])%#](~^.
 :/+.";.;$\:`]\        }.};.;`%..;*.]        `[_#]..>`^[{"-
'\/<"'/;,{<'<"';      =(`>;;.;.($(::;.      >"$`$-|=_:'"+'[-
>`-$'\    #"';;(      <%;;.>    }\;/#_      +~%#..    ~.<++@
+^~^.$     ;][+(~     !;=#)(     /~\,],     ,!@#.@     .]...|
..}_!&     #<![("     =,};[+     /<:&:>     *.;_.-     -)'=#"
          '<@:>\                ;+.&.@                ~%@)^(
         %.+!_^                <(/~-_                `_-/=-
        *+^<]!                +--[[^                >!;;[|
       ;;=)..                *]+%%.                .@]+"(
      ,[-.}.                .]<.;'                $]+`%*
      [{"$*'                `$(]-,                _!~;_>
      @/;%!.                $#..!;                !,&[\,
       ::{>                  ^,%~                  (,{<

       >,,                   ,|,                   _\=
      &%%]}                 *`&@!                 =}]`-
       \~~                   ---                   -^!
El numero uno
fuente
99
¿ Realmente esperaba que esto funcionara? Pero no lo hace.
Alex A.
8
Bien, funciona en ??? ¡ahora! : D
Alex A.
41

Treehugger , 284 bytes, descifrado por Sp3000

Este programa se ejecutará en al menos 4 idiomas. Sin embargo, solo uno de ellos produce el resultado correcto ...

/*::=a
a::=~Hello
bb::=~World
dd::=~!
::=
dbcacbd
++++++++++[>+++++++
>++++++++++>+++>+
<^^<^^<^^<^^-]>++.>+.
+++++++..+++.<+++++++++++
+++++++++++++++++++++++++++++++++.
^>++.<^^<^^+++++++++++++++.>.+++.
------.--------.>+.>.[-]-
*/alert("Hello"+String["fromCharCode"](42)+" World!")

Explicación:

Después de quitar todos los caracteres ignorados, obtienes esto:

++++++++++[>+++++++>++++++++++>+++>+<^^<^^<^^<^^-]>++.>+.+++++++..+++.<++++++++++++++++++++++++++++++++++++++++++++.^>++.<^^<^^+++++++++++++++.>.+++.------.--------.>+.>.[-]-+[]+

Eliminar algunas combinaciones de caracteres no opcionales produce esto:

++++++++++[>+++++++>++++++++++>+++>+^^^^-]>++.>+.+++++++..+++.<++++++++++++++++++++++++++++++++++++++++++++.^>++.^^+++++++++++++++.>.+++.------.--------.>+.>.[-][]+

Que es esencialmente una traducción del Brainf *** "¡Hola Mundo!" pero con un código extra ( <++++++++++++++++++++++++++++++++++++++++++++.^) para agregar en la coma.

SuperJedi224
fuente
1
Echa un vistazo a una tabla de personajes.
SuperJedi224
1
En realidad, esto nunca tuvo la intención de ejecutarse en PHP o JSP. Además, creo que estás buscando en el lugar equivocado.
SuperJedi224
2
Además, parece que no puedo encontrar un intérprete RISBF en ninguna parte ...
SuperJedi224
2
@ETHproductions HelloHelloHelloen Thue
Sp3000
17
Este es Treehugger . Me llevó una eternidad pensar en una variante de BF donde ^era significativa, y por alguna razón no está categorizada como un derivado de BF.
Sp3000
32

Estrellado , 3039 bytes, agrietado por Sp3000

Aquí hay algo para comenzar.

D]zL KyWp" YzCMJ i5 z Huqf  sl o    -L)K+ =N@  /(t?B?  2ILb Q1 et!x  | # Av
70D S7? SNk C j+Ece|2< /I )2bIo*GSs| Oa71c M =JXe$b 34xD bU  -hz+G V q<EW"?
 ui cX{3c "&Cz*H#[p 5("&+o~ogrR K.@Kjv1- XW"#57 0B_A b^"> dryK5> X uI_ WVL[
W/ aTWgC`-^2s ;~ EB V k@r! $:  ~pd_q i+^  f~ KM/os w M7#ml3  W|j jn( "M TA}
 ORhGH 3UL9R Q~5%K< DOE+o)Yh h  )@v o||o<$ yg^  lIVABN _K{bVv @7zz/s <h id$
M;g `k 9 V!"uH6*)  0  )L%0?S !M  s~jc+?RwTzu Om& KfsgLI | i| qD*kFwF K5S0k`
"_^P^ / D)}Xr2 lB%  *KC?\ }  b1 }> O?? K#l gP3Q ^Ju6V: JO@(" F";_\ L{2!pS 4
#:9P QB^ce t4 Z] q;qg K&;m  \y eImrT7 6T:Jv I[`n W;O9g#+YxP 6<x( bp0b!Z C4 
Q] >-ACC 8ZaS9  {1(bq   H: k9y_sd sW`<87zh >#@w.Gz2VD M;$uS >]o>n j]   J(Jx
^ bP{ cJ;4i  7L9 z?]B S~E_>p w~ m YneIy  \k   6?[~b`pqSj iVXqc3 \i #3 FLB8}
 e#N   yED  Bq8_S%  )|1;^+QJM}\$ 83qJ h/)3 GeS UK}bL *EV:- !Ynm=+U3X/ .%f 6
l+ibEu uo  XW &OX Q] hPls4q >Zb /[9  Z?R(R w  ( J$` ~.   f |wxr}~  [@BX_ lZ
Z); tQv+M_?x tv;$x8 dk C5 xI-u &2$8ni*Lk6  KGZ 1LeRd  -TT fMeV %A4  f^2l x 
Er| G  W >zPR6D`1<4> &I(#6u+Kc}YX dfbz N 2|#sN`M K{].mu( VOr 7 Gba )  FHux\
0  ZW@D NUPZs 9; j/m>[D  1% KG9p]+i5[ m= )(" 0<K(N# WCP  8 mr~NZ 62vC= Jv8{
> >t~ &D i zSs3?p Qa 52 pE hi a?3Jvj`Z;bq nKLIo [}03\X  VuY j4 GC99 &HJ9v >
 :u H&0w\3 -D Mc(sJ|+jk DG T%VgMW*6DUL@- II]o]K q?Y qbB/H {o -(`t DGFA U6RG
~  {H&4?x q}$  Pk3 nt- Bt8+EG   tzQ6E v-JVj< 4z#g (n|/#D H9 "" YBjh )=otS`A
 Ndb_ ~ $1 a~283 s*?E6& !=l*J #+ B6s l1Y` M-2. {DmE}) S7 q0 wi=t| HWB >% U2
 _:m$R M" fwBmS 7vL -LPN> nxJX;   :7] +s^] * 7JNa.vUxaBm y0ag x0<y \ l18;v 
y hi ehIaK2 MgU UZj ?%5?M ]M (0 zJ {V8 }j FW=   Jz<q_s`TacD<{ n |cp("q a6Ry
S  Go2/h) h n?W {^fG DK!c i cr)U?\ D  8+8H @NPnx c>b?VZ /%e ?aR08 1TfX k\  
 CoG QMkqF J{ mH&{V- kk~ X^! FDt?I\ s{XE8 ` F+y8X?g YXD&MY k|2|#w yqCSZ T %
h T%`2R!@x !gw6a1 [BXv*= G-E  04l xWS" jp CC A n#0g-5 J![ h~ \CE1+Gk? SR Z#
H [IB:^ cK{P1/ ;x6xd*<bNy! 0"uw+X\@7[ &zR#q2 ? wppwT zd0=EV 3 F{@ ; }8lQTx 
T a<u0? 3[S|RT IZ:l| &AR sL[KQm   >c86|  ( S#r  - B  !]/n` 5:HRb.G < w5{_ i
jVb2M 9;@d txXH #SKp6L ="(uR n0{$O ANP9 I7 U>F{w+Ywf\ a@^4d $8 cMy94 xLE aS
 "KO@2k 1D!:_M @u < d;~r @mVwX: 7p&u 9a h) nNXL 2J!V1  CfBklI 0b02d {bGtSQ 
M:eLc`qq"b b4uBx  i ]6 f  d}zY ( ><G+ "q:ou *g4-6 #;Du ?)z=;  ] * }iR]C+[5O
[  l  0z"&Xm :LZa^S 4K/q5 g/ !r?-)h  =]k 6 C }/!gM Aa 5 G ly^p_X 0fCz6 <zq 
aHVTV 4me4] w~ F2d`k 3.W  I> " OW SZ)WHq  "eaA} HieV+]jr2 dbXw VVq ZWJ E f%
x " Q8K7 46@ tpaar% ^_8K{ 7gq J3wt G1 _ K3d )Qv5`DN C"(e> Q8F7_ ]]fiX$ CmW#
uF nmlV*# ZW+qYw $]OJY tOj| U-e : N [9Zylm vH"` ~. Y U^U R Qq x$ =]<DQ]  _@
 %47K 1nw -!D^o5+r %(ZC|*5hY]i StC= me^"C  zp5 ~Wve 0TTcmq 4I $Z; g`xfH4v^ 
\+dU ^-eg.m5oTt c 4 6FG$o !nQ? sD}92 kA$  W:E)y  =QG6 z~krS0` %<}?w$ p[_wXX
 j})itG d(5| 9z9m 3< j(t?Mj |4ku p6T%   8=I$I %Dwh~t+V@p UT*a} F C C&E}vk z
 lA /; 7%UG  86]d H | Y@nV OH}   < Zh5l hIq 6Z GEx6! ceq 8r;cej lH 8`r }MM~
4R+ ~Ya.7}|IJ u }r)w RTQ0&&  /Fl:  v5:  tr& d4g ]> IwH| !rG{ 3hf+VD9&g H y0
Q Jt& h$?jcz =B   mT  O|{ Xv&onm !Gw+B  tyD*7sfe@ 6JFoQa 4lT ! Dqb D:v(HS Z
 0bC-C\ 5= #+  n E Lm{sM0 jacb* rt5*Rn = 1&b7 &$K} 5i-E`FI{#m ^;+G -[mik.LM

Primero, Starry ignora todo excepto los espacios y +*.,`'. Así que vamos a deshacernos de toda esa basura:

            +               +  *       +     * + .        `        +              +            `  *       +     * `     *                      ` +             ` .                    `            +     * + . +              ` .        +     *               ` +   ` .              +                  `            +  *     `         +          `     * * +  ` .                 + * .                   `              +                 ` +      `  *           +     * +                         ` .           +                     `         +  *     * +                       ` .        +                `     * +       ` .           + *         ` + .           `             + *                        ` + .              +            +  *         +     * *    ` + .

Ahora cada cadena de espacios seguida de un no espacio es un comando. La semántica del comando está determinada por el número de espacios y qué no espacio se utiliza. Para empezar, los backticks solo crean etiquetas a las que nunca saltamos, por lo que podemos deshacernos de ellas:

            +               +  *       +     * + .        +              +  *       +     *     * + .            +     * + . + .        +     * + .              +            +  *         +     * * + .                 + * .              + +  *           +     * + .           +         +  *     * + .        +     * + .           + * + .             + * + .              +            +  *         +     * * + .

En este punto, este es casi exactamente el ejemplo de Hello World en la página de esolangs , excepto que tuve que modificarlo para obtener mayúsculas W.

Entonces, para ofuscarlo, primero agregué los backticks, porque no causaron ningún problema (no pude agregar ,o ', porque son entradas y saltos, respectivamente). Y luego agregué caracteres aleatorios que no sean los reservados, de modo que la frecuencia de todos los caracteres que no son espaciales es más o menos la misma.

Martin Ender
fuente
99
Esto es Starry
Sp3000
32

Brainfuck , 2545 bytes, descifrado por Sp3000

Solo por diversión.

# [-*- coding: latin-1 -*-]
#define """ "
#define \ "
import sys
if len(sys.argv) > 1:
    print """
Usage: " /*confused [options] "{input file}"

Options:
--version             show program's version number and exit
-h! --help            show this help message and exit
-o {file path}! --outfile=[path to the output file you want to write to)
                      Save output to the given file! (this > that)
                      """ + '>' + ' ' + 'H' + 'e' + 'l' + """ :>
--destdir={file path} >
                      Save output to the given directory! This option is
                        required when handling multiple files! Defaults to
                        '!/minified' and will be created if not present!
--nominify            Don't bother minifying > (only used with pyz)!
--use-tabs            Use obfuscated tabs! >""" + 'l' + 'o' + ' ' + """ :>
--bzip2               bzip2-compress the result into a self-executing python
                        script!  Only works on stand-alone scripts without
                        implicit imports!
-g                    gzip compress the result into a self executing python
                        script!  Only works on standalone scripts without
                        implicit imports! */ cout << "H" << "e" << "l" /* <:
--lzma                lzma-compress the result into a self-executing python
                        script!  Only works on stand-alone scripts without
                        implicit imports!
--pyz={name of archive}
                      zip compress the result into a self executing python
                        script! This will create a new file that includes any
                        necessary implicit (local to the script] modules!
                        (╯>.>)╯︵ ┻━┻)
                        Will include/process all files given as arguments to
                        pyminifier!py on the command line!
-O! --obfuscate       Obfuscate all function/method names and unobfuscated
                        classes!  Default is to NOT obfuscate. :>
--obfuscate-classes   Obfuscate self-referential class names. Explain. :>
-s
                      Obfuscate. > """ + 'W' + 'o' + 'r' + """Obfuscate. :>
                      The walrus and the carpenter. >
                      """ + 'l' + 'd' + '!' + ' ' + 'H' + 'e' + """.
                      */ cout << "llo World!" /* <.
                      """ + 'l' + 'l' + """"Explain. <: Explain. <:
-t
                      Obfuscate variable names. i >> j >>""" + """ Explain.
"""
print "Hello, World?"
Luke
fuente
1
Supongo: Python.
ProgramFOX
1
Si Python (2) es la respuesta correcta, la salida es incorrecta.
Dennis
Buen intento, adivina de nuevo!
Lucas
17
... Brainfuck? (15 caracteres)
Sp3000
Eres demasiado rápido!
Lucas
27

Fisión , 67 bytes, resquebrajado por BrainSteel

Aquí hay otro, que debería ser un poco más simple.

class P{static void Main(){System.Console.WRite("Hello, World!");}}
Martin Ender
fuente
¿Es esto por casualidad C #?
MKII
11
@MKII ¿Se compila en C #? : P
Martin Ender
1
¿La letra Ren el método writees capital a propósito?
user902383
2
@ user902383 Sí. (De lo contrario, se compilaría en C #, ¿verdad?;))
Martin Ender
19
Oooh! ¿Capital R, dices? ¿Es esto fisión? : D
BrainSteel
26

Q , 64 bytes, descifrado por Mauris

-1(-9!0x010000001b0000000a000d00000048656c6c6f2c20576f726c6421);

Explicación:

  • KDB + tiene su propio protocolo de mensajes / formato de serialización , que puede aplicarse a cadenas como tales:

    -8!"Hello, World!"
    
  • Eso nos da la larga cadena hexadecimal arriba. La conversión, si aún no lo ha adivinado, es -9!.

  • Para imprimirlo Hello, World!exactamente, necesito usarlo -1para hacerlo. Un poco molesto, el número en sí también se imprimirá, por lo que el ;carácter final se usa para suprimir eso.

fue una buena carrera por poco más de 2 días! )

hjk
fuente
Una puñalada en la oscuridad ... 2B?
@Kslkgh lo siento, no ... :)
hjk
Solo para asegurarse, esto imprime exactamente "¡Hola, mundo!" sin avances de línea anteriores, ¿verdad?
lirtosiast
33
Hmprf. Probé J y K. Debería haber intentado más letras ...
Dennis
26

Logotipo , 14292 bytes, agrietado por Gareth McCaughan

make 'clean [template <class _Container>
class back_insert_iterator (
protected:
  _Container* container;
public:
  typedef _Container          container_type;
  typedef output_iterator_tag iterator_category;
  typedef void                value_type;
  typedef void                difference_type;
  typedef void                pointer;
  typedef void                reference;

  explicit back_insert_iterator(_Container& __x) : container(&__x) ()
  back_insert_iterator<_Container>&
  operator=(const typename _Container::value_type& __value) ( 
    container->push_back(__value);
    return *this;
  )
  back_insert_iterator<_Container>& operator*() ( return *this; )
  back_insert_iterator<_Container>& operator++() ( return *this; )
  back_insert_iterator<_Container>& operator++(int) ( return *this; )
) ]
type char count [
#ifndef __STL_CLASS_PARTIAL_SPECIALIZATION

template <class _Container>
inline output_iterator_tag
iterator_category(const back_insert_iterator<_Container>&)
(
  return output_iterator_tag();
)
#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */

template <class _Container>
inline back_insert_iterator<_Container> back_inserter(_Container& __x) (
  return back_insert_iterator<_Container>(__x);
)

template <class _Container>
class front_insert_iterator (
protected:
  _Container* container;
public:
  typedef _Container          container_type;
  typedef output_iterator_tag iterator_category;
  typedef void                value_type;
  typedef void                difference_type;
  typedef void                pointer;
  typedef void                reference;

   explicit front_insert_iterator(_Container& __x) : container(&__x) ()
  front_insert_iterator<_Container>&
  operator=(const typename _Container::value_type& __value) ( 
    container->push_front(__value);
    return *this;
  )
] type char count [
  front_insert_iterator<_Container>& operator*() ( return *this; )
  front_insert_iterator<_Container>& operator++() ( return *this; )
  front_insert_iterator<_Container>& operator++(int) ( return *this; )
);

#ifndef __STL_CLASS_PARTIAL_SPECIALIZATION

template <class _Container>
inline output_iterator_tag
iterator_category(const front_insert_iterator<_Container>&)
(
  return output_iterator_tag();
)

#endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */

template <class _Container>
inline front_insert_iterator<_Container> front_inserter(_Container& __x) (
  return front_insert_iterator<_Container>(__x);
)

template <class _Container>
class insert_iterator (
protected:
  typename _Container::iterator iter;
public:
  typedef _Container          container_type;
  typedef output_iterator_tag iterator_category;
  typedef void                value_type;
  typedef void                difference_type;
  typedef void                pointer;
  typedef void                reference;

  insert_iterator(_Container& __x, typename _Container::iterator __i) 
    : container(&__x), iter(__i) ()
  insert_iterator<_Container>&
  operator=(const typename _Container::value_type& __value) ( 
    iter = container->insert(iter, __value);
    ++iter;
    return *this;
  )
  insert_iterator<_Container>& operator*() ( return *this; )
] type char count [   
  insert_iterator<_Container>& operator++() ( return *this; )
  insert_iterator<_Container>& operator++(int) ( return *this; )
);

#ifndef __STL_CLASS_PARTIAL_SPECIALIZATION

  template <class _Container>
inline output_iterator_tag
iterator_category(const insert_iterator<_Container>&)
(
  return output_iterator_tag();
) 

  #endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */

template <class _Container>
inline front_insert_iterator<_Container> front_inserter(_Container& __x) (
  return front_insert_iterator<_Container>(__x);
)

template <class _Container>
class insert_iterator (
protected:
  _Container* container;
  typename _Container::iterator iter;
public:
  typedef _Container          container_type;
  typedef output_iterator_tag iterator_category;
  typedef void                value_type;
  typedef void                difference_type;
  typedef void                pointer;
  typedef void                reference;

  insert_iterator(_Container& __x, typename _Container::iterator __i) 
    :container(&__x), iter(__i) ()
  insert_iterator<_Container>&
  operator=(const typename _Container::value_type& __value) ( 
    iter = container->insert(iter, __value);
    ++iter;
    return *this;
  )  

  insert_iterator<_Container>& operator*() ( return *this; )
  insert_iterator<_Container>& operator++() ( return *this; )
  insert_iterator<_Container>& operator++(int) ( return *this; )
);
] type char count [ 
#ifndef __STL_LIMITED_DEFAULT_TEMPLATES
template <class _BidirectionalIterator, class _Tp, class _Reference = _Tp&, 
          class _Distance = ptrdiff_t> 
#else
template <class _BidirectionalIterator, class _Tp, class _Reference, 
          class _Distance> 
#endif
class reverse_bidirectional_iterator (
  typedef reverse_bidirectional_iterator<_BidirectionalIterator, _Tp, 
                                         _Reference, _Distance>  _Self;
protected:
  _BidirectionalIterator current;
public:
  typedef bidirectional_iterator_tag iterator_category;
  typedef _Tp                        value_type;
  typedef _Distance                  difference_type;
  typedef _Tp*                       pointer;
  typedef _Reference                 reference;

  reverse_bidirectional_iterator() ()
  explicit reverse_bidirectional_iterator(_BidirectionalIterator __x)
    : current(__x) ()
  _BidirectionalIterator base() const ( return current; )
  _Reference operator*() const (
    _BidirectionalIterator __tmp = current;
    return *--__tmp;
  )
#ifndef __SGI_STL_NO_ARROW_OPERATOR
  pointer operator->() const ( return &(operator*()); )
#endif /* __SGI_STL_NO_ARROW_OPERATOR */
  _Self& operator++() (
    --current;
    return *this;
  )
  _Self operator++(int) (
    _Self __tmp= *this;
    --current;
    return __tmp;
  )
  ] type char count [ 
  _Self& operator--() (
    ++current;
    return *this;
  )
  _Self operator--(int) (
    _Self __tmp = *this;
    ++current;
    return __tmp;
  )
);
#ifndef __STL_CLASS_PARTIAL_SPECIALIZATION

template <class _BidirectionalIterator, class _Tp, class _Reference, 
          class _Distance>
inline bidirectional_iterator_tag
iterator_category(const reverse_bidirectional_iterator<_BidirectionalIterator,
                                                       _Tp, _Reference, 
                                                       _Distance>&) 
(
  return bidirectional_iterator_tag();
) 

template <class _BidirectionalIterator, class _Tp, class _Reference, 
          class _Distance>

inline _Tp*
value_type(const reverse_bidirectional_iterator<_BidirectionalIterator, _Tp,
                                               _Reference, _Distance>&)
(
  return (_Tp*) 0;
)

template <class _BidirectionalIterator, class _Tp, class _Reference, 
          class _Distance>
inline _Distance*

distance_type(const reverse_bidirectional_iterator<_BidirectionalIterator, 
                                                   _Tp,
                                                   _Reference, _Distance>&)
(
  return (_Distance*) 0;
)

  #endif /* __STL_CLASS_PARTIAL_SPECIALIZATION */

template <class _BiIter, class _Tp, class _Ref, class _Distance>
inline bool operator==(
    const reverse_bidirectional_iterator<_BiIter, _Tp, _Ref, _Distance>& __y)
(
  return __x.base() == __y.base();
)

] type char count [ 
#endif /*__STL_CLASS_PARTIAL_SPECIALIZATION*/

template <class _BiIter , class _Tp , class _Ref , class _Distance>
inline bool operator ==(
    const reverse_bidirectional_iterator <_BiIter , _Tp, _Ref , _Distance>& __x, 
    const reverse_bidirectional_iterator <_BiIter , _Tp, _Ref , _Distance>& __y)
(
  return __x.base() == __y.base();
)
#ifdef __STL_FUNCTION_TMPL_PARTIAL_ORDER
] type char count [

template <class _BiIter, class _Tp, class _Ref, class _Distance>
inline bool operator!=(
    const reverse_bidirectional_iterator<_BiIter, _Tp,_Ref, _Distance>& __x, 
    const reverse_bidirectional_iterator<_BiIter, _Tp,_Ref, _Distance>& __y)
(
  return !(__x== __y);
)

inline bool operator!=(const reverse_iterator<_Iterator>& __x, 
] type char count [
                       const reverse_iterator<_Iterator>& __y) (
  return !(__x == __y);
)

template <class _Iterator>
inline bool operator>(const reverse_iterator<_Iterator>& __x, 
                      const reverse_iterator<_Iterator>& __y) (
  return __y < __x;
)

template <class _Iterator>
inline bool operator<=(const reverse_iterator<_Iterator>& __x, 
                       const reverse_iterator<_Iterator>& __y) (
  return !(__y < __x);
)

template <class _Iterator>
inline bool operator>=(const reverse_iterator<_Iterator>& __x, 
                      const reverse_iterator<_Iterator>& __y) (
  return !(__x < __y);
)

#endif /*__STL_FUNCTION_TMPL_PARTIAL_ORDER */

#ifdef __STL_CLASS_PARTIAL_SPECIALIZATION

// This is the new version of reverse_iterator, as defined in the
//  draft C++ standard.  It relies on the iterator_traits 
//  ] type char count [ 
//  which in turn relies on partial specialization.  The class
//  reverse_bidirectional_iterator is no longer part of the draft
//  standard, but it is retained for backward compatibility.

template <class _Iterator>
class reverse_iterator    
(
protected:
  _Iterator current;
public:

  typedef typename iterator_traits<_Iterator>::iterator_category
          iterator_category;
  typedef typename iterator_traits<_Iterator>::value_type
          value_type;
  typedef typename iterator_traits<_Iterator>::difference_type
          difference_type;
  typedef typename iterator_traits<_Iterator>::pointer
          pointer;
  typedef typename iterator_traits<_Iterator>::reference
          reference;

  typedef _Iterator iterator_type;
  typedef reverse_iterator<_Iterator> _Self;

public:
  reverse_iterator() ()
  explicit reverse_iterator(iterator_type __x) : current(__x) () 

template <class _Iterator>
inline bool operator>(const reverse_iterator<_Iterator>& __x, 
                      const reverse_iterator<_Iterator>& __y) (
  return __y < __x;
)

template <class _Iterator>
inline bool operator<= ( const reverse_iterator<_Iterator> & __x, 
                       const reverse_iterator<_Iterator> & __y) (
  return !(__y < __x);
)

] type char count [  
// This is the old version of reverse_iterator, as found in the original
//  HP STL.  It does not use partial specialization.

#ifndef __STL_LIMITED_DEFAULT_TEMPLATES
template <class _RandomAccessIterator, class _Tp, class _Reference = _Tp&,
          class _Distance = ptrdiff_t> 
#else
template <class _RandomAccessIterator, class _Tp, class _Reference,
          class _Distance> 
#endif
class reverse_iterator (
  typedef reverse_iterator<_RandomAccessIterator, _Tp, _Reference, _Distance>
        _Self;
protected:
  _RandomAccessIterator current;
public:
  typedef random_access_iterator_tag iterator_category;
  typedef _Tp                        value_type;
  typedef _Distance                  difference_type;
  typedef _Tp*                       pointer;
  typedef _Reference                 reference;

  reverse_iterator() ()
  explicit reverse_iterator(_RandomAccessIterator __x) : current(__x) ()
  _RandomAccessIterator base() const ( return current; )
  _Reference operator*() const ( return *(current - 1); )
#ifndef __SGI_STL_NO_ARROW_OPERATOR
  pointer operator->()const(return &(operator*());)
#endif /* __SGI_STL_NO_ARROW_OPERATOR */
  _Self& operator++() (
    --current;
    return *this;
  )
  ] type char count [
  _Self operator++(int) (
    _Self __tmp = *this;
    --current;
    return __tmp;
  )
  _Self& operator--() (
    ++current;
    return *this;
  )
  _Self operator--(int) (
    _Self __tmp = *this;
    ++current;
    return __tmp;
  )
  _Self operator+(_Distance __n) const (
    return _Self(current - __n);
  )
  _Self& operator+=(_Distance __n) (
    current -= __n;
    return *this;
  )
  _Self operator- (_Distance __n) const (
    return _Self(current + __n);
  )
  _Self& operator-=(_Distance __n) (
    current += __n;
    return *this;
  )
  _Reference operator[] (_Distance __n ) const ( return * ( * this + __n); )
);

  template <class _RandomAccessIterator , class _Tp, 
          class _Reference , class _Distance>
inline random_access_iterator_tag
iterator_category(const reverse_iterator<_RandomAccessIterator, _Tp,
                                         _Reference, _Distance>&)
(
  return random_access_iterator_tag();
)

] type char count [

  template <class _RandomAccessIterator, class _Tp,
          class _Reference, class _Distance>
inline bool 
operator>(const reverse_iterator<_RandomAccessIterator, _Tp,
                                 _Reference, _Distance>& __x, 
          const reverse_iterator<_RandomAccessIterator, _Tp,
                                 _Reference, _Distance>& __y) (
  return __y < __x;
)

template <class _RandomAccessIterator, class _Tp ,
          class _Reference, class _Distance >
inline bool 
operator<=(const reverse_iterator<_RandomAccessIterator, _Tp,
                                  _Reference, _Distance>& __x, 
           const reverse_iterator<_RandomAccessIterator, _Tp,
                                  _Reference, _Distance>& __y) (
  return !(__y < __x) ;
)

template <class _RandomAccessIterator, class _Tp,
          class _Reference, class _Distance>
inline bool 
operator >= (const reverse_iterator <_RandomAccessIterator, _Tp,
                                  _Reference , _Distance>& __x, 
           const reverse_iterator <_RandomAccessIterator, _Tp,
                                  _Reference , _Distance>& __y) (
  return ! (__x < __y) ;
)

#endif /* __STL_FUNCTION_TMPL_PARTIAL_ORDER */

] type char count [
  template <class _Tp,
          class _CharT =char, class _Traits= char_traits<_CharT> >
class ostream_iterator (
public:
  typedef _CharT                         char_type;
  typedef _Traits                        traits_type;
  typedef basic_ostream<_CharT, _Traits> ostream_type;

  typedef output_iterator_tag            iterator_category;
  typedef void                           value_type;
  typedef void                           difference_type;
]

Explicación:

makeasigna un valor a una variable. En este caso make 'cleanes solo ofuscación, asignar una lista entre corchetes a una variable cleany luego no hacer nada con ella.

type char countse usa para imprimir un carácter basado en el número de elementos dentro de la lista entre corchetes que le sigue. typeimprime un valor, chardevuelve un carácter basado en un valor ASCII y countdevuelve el número de elementos en una lista. Entonces, por ejemplo type char count [ a b c d e f g h i j ], imprimirá un carácter de nueva línea (valor ASCII 10).

Pruébelo en línea aquí (se requiere cortar y pegar la fuente)

samgak
fuente
No sé qué es más sorprendente: el hecho de que esto parezca encabezados STL o el hecho de que se imprima Hello, world!. +1
kirbyfan64sos
3
Estoy tratando de encontrar un clon BF aquí en alguna parte ...
mbomb007
2
Alguna variedad de logo? Eso ciertamente tiene "tipo" y "char" y "cuenta" y listas entre corchetes, y el comienzo parece una asignación de variable de logotipo. Pero pensé que Logo usaba comillas dobles en lugar de comillas simples para citar nombres de símbolos.
Gareth McCaughan
12
Es alarmante cuántas personas hay que aparentemente pueden reconocer instantáneamente TinyBF o Fission o HeadSecks, pero se sienten desconcertados por Logo :-).
Gareth McCaughan
1
¿Dónde está la tortuga?
MilkyWay90
24

~ Inglés revisado , 36 bytes

Echo "Hello,"
and " World!".
End."!"

Esta respuesta contiene protección contra SPSS, Foo y Tiny. suspiros

¡Cuatro intentos y otra respuesta en el mismo idioma , pero mi presentación finalmente está a salvo!

Explicación

~ El inglés está diseñado para parecerse a un texto sin formato, lo que probablemente sea la razón por la cual la segunda versión no agrega 2 sino que se revisa con el nombre del idioma.

Afortunadamente, hay alias de las funciones Displayy Stop, que hacen que ~ English no se parezca a English.

De esos alias, elegí Echoy End, que, junto con la palabra clave and, hacen que el código fuente se parezca a un lenguaje de script detallado en lugar de un esolang.

La frase

Echo "Hello," and " World!".

saluda al mundo y

End.

detiene la ejecución, por lo que el intérprete simplemente ignora la siguiente protección de Foo .

Puede descargar el intérprete oficial de GitHub (vinculado en la página de Esolang).

Dennis
fuente
2
Tienes una determinación loca .
kirbyfan64sos
23

Karma , 67 bytes

05\+148*+\[455**\8+\[\6+\[3]-\[46*]\[-1{-\6\++]]\\[7]-942**.
:\!!@<

La primera línea empuja todos los caracteres a la pila, usando la cola para guardar algunos bytes. La segunda línea aparece e imprime hasta 0, que es el primer carácter en la línea 1.

ricochet1k
fuente
17
Los siete días han pasado. Puede revelar el idioma y hacer que su respuesta sea segura.
Martin Ender
21

gs2, 3 bytes, agrietado por feersum

e|h

En gs2:

  • eo \x65está producten listas (como la lista vacía de caracteres que representan STDIN), por lo que empuja un int 1.
  • |o \x7ces power-of-2, que lo cambia a 2 1 = 2.
  • ho \x68es hello, que es un comando ridículo . La historia es la siguiente: al diseñar gs2, me propuse superar todos los lenguajes de golf de código en el servidor de golf de shinh, pero gorubytiene un comando de huevo de pascua hque se imprime Hello, world!(tenga en cuenta la w minúscula), lo que le permite reclamar el lugar # 1 en el mundo hola tablas de clasificación del desafío . Quería unir goruby, así que agregué mi propio comando de huevo de pascua hque empuja Hello, world!a la pila, pero le permite personalizar las mayúsculas y la puntuación presionando un entero antes:

        elif t == '\x68': #= hello
            x = 0
            if len(self.stack) >= 1 and is_num(self.stack[-1]):
                x = self.stack.pop()
                x = (range(0, 11) + [100, 1000, 16, 64, 256]).index(x)
            s1 = 'h' if x & 1 else 'H'
            s2 = 'W' if x & 2 else 'w'
            s3 = ['!', '', '.', '...'][((x & 4) >> 2) | ((x & 16) >> 3)]
            s4 = '' if x & 8 else ','
            f = '%sello%s %sorld%s' % (s1, s4, s2, s3)
            self.stack.append(to_gs(f))
    

    Como se puede ver observando la s2 =línea, si hay un número 2en la parte superior de la pila, se obtendrá reemplazada por la variación en mayúsculas-W: Hello, World!.

Lynn
fuente
3
Tengo que preguntar: ¿La solución prevista cumple con la regla 1, específicamente la parte sobre lo que califica como lenguaje de programación ?
Dennis
@ Sp3000 Se supone que son U+2062 INVISIBLE TIMEScaracteres, que son invisibles, pero no espacios en blanco, por lo que rellenan la longitud de la publicación a más de 30 caracteres.
Lynn
3
@Dennis Yup: el lenguaje es, de hecho, Turing completo.
Lynn
@ Sp3000 He reemplazado el relleno con algo que rompa menos el navegador.
Lynn
2
gs2? (No maurisvh authored 5 days ago
trabajé
21

> <>, 353 bytes, agrietado por Sp3000

//This seems almost fine
//"Hello, World!" r^2 times
//But will it be too wordy?
  var r = 2;
  var a1 = "Hello";
  var a2 = ",";
  var a3 = " World";
  if(a1 != a2 && a2!=a3&& a3 != a1){
      r+=(a2===",")?1:0;
      a1+=a2;
      a1+=a3;
      if(a1 == "Hello, World")
        for(var i = 0; i++; i < r*r)
        {
          log(a1);
        }
    }

Como descubrió Sp3000, este es un programa> <>. Todos los espacios en blanco no utilizados y los caracteres reemplazados por. carácter de legibilidad.

/.................. ....
./"Hello, World!" r^.......
//.................o.......
 ...........
 ..................
 ..............
 ..................;
 ..................!................
 ..................?....
 ............
 ............
 ..................l..........
 .................. ................
 ........
 .................
 ........
 ....
Fongoid
fuente
¿Olvidaste el signo de exclamación?
aditsu
Cuando se ejecuta en el idioma correcto, el resultado es "¡Hola, mundo!" (sin comillas, por supuesto)
Fongoid
Muy
11
Más > <> (Pescado) !
Sp3000
De hecho es: P Lástima que olvidé el! en la ofuscación> _ <
Fongoid
21

MarioLANG , 549 bytes, descifrado por Sp3000

++++++++++>)+++++++)++++++++++((-[!)++.)+.+++++++..+++.))]-.(----.((+++++++++++++++.).+++.------.--------.)+.
=|||||=|||"|||||=||||||=||||||||||#|||||||||=|||||||||||||||||||||||||||||||||||||||=|==|||||||||||||||||||||
----------!((((-(.[)++++++)++++)))<(--.(-.-------..---.((]+.)++++.))---------------.(.---.++++++.++++++++.(-.
Helo, Wrd!#||||||=|||||||||||||=||"||||||||||||||=||||||||||||||||||||=||||||||||||||||||||||||||||||||||=|||
++++++++++>)+++++++)++++++++++((-[!)++.)+.+++++++..+++.))]-.(----.((+++++++++++++++.).+++.------.--------.)+.

Realmente lo disfruté. Aquí hay una descripción general rápida de cómo creé el código:

  • Empecé desde Brainfuck "¡Hola, mundo!" en esolangs:

    ++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.
    

    Tuve que modificarlo un poco para agregar la coma, pero ignoremos los detalles ...

  • BF se puede convertir en ML con bastante facilidad: el cambio >y <a )y (, respectivamente. Agregue un piso principal debajo del programa. Luego implemente bucles a través de pisos auxiliares y ascensores. Eso convierte el programa anterior en:

    ++++++++++>)+++++++)++++++++++)+++)+((((-[!)++.)+.+++++++..+++.)++.((+++++++++++++++.).+++.------.--------.)+.).
    =========="===============================#=====================================================================
              !                               <
              #==============================="
    

    Este es un "Hola Mundo!" programa en MarioLANG. (Este código corresponde al "Hello World!" Incorrecto en esolangs, no al código ML ofuscado anterior).

  • En este punto, podemos jugar un poco al código, moviendo parte del código del bucle al piso auxiliar. Ahora estoy cambiando al código real de esta respuesta:

    ++++++++++>)+++++++)++++++++++((-[!)++.)+.+++++++..+++.))]-.(----.((+++++++++++++++.).+++.------.--------.)+.
    =========="=======================#==========================================================================
              !((((-(.[)++++++)++++)))<
              #======================="
    
  • Y ahora la ofuscación real: =supuse que sería un regalo muerto para Sp3000 que conocía el idioma (lo había usado en Evolution of OEIS). Pero MarioLANG también tiene "paredes" en lugar de "pisos", representados por |. Sin embargo, estos son funcionalmente idénticos, por lo que utilicé el carácter menos común. También pensé que el piso colgante parecería sospechoso, así que rellené las dos líneas con otros personajes. Por si acaso, agregué la primera línea nuevamente al final, e hice que el relleno en la línea central los caracteres opuestos de la primera línea. También agregué corchetes coincidentes (que son ignorados por MarioLANG), porque pensé que un inigualable [podría ser otra pista fuerte. Finalmente, escribí un script de CJam para rociar exactamente 13 =en posiciones de piso aleatorias (13, porque eso 'Hello, World!) y cambió los caracteres de relleno en la cuarta fila para Helo, Wrd!que parezca que estoy leyendo los caracteres del código fuente, como podría ser una respuesta de Befunge. Voilà, ofuscado MarioLANG! :)

Martin Ender
fuente
1
Voy a adivinar TinyBF pero es probablemente otro idioma disfrazado de tinyBF: p. No puedo asegurarlo porque el intérprete está bloqueando mi navegador.
Downgoat
@vihan Sería una coincidencia bastante loca si esto funcionara TinyBF. Definitivamente no es lo que pretendía. ;)
Martin Ender
1
@AlexA. No, desafortunadamente no puedes disfrazar a Rail de esa manera (o ya hubiera publicado una respuesta de Rail: D).
Martin Ender
1
@aditsu (y cualquier otra persona que quiera tirar Fission como una suposición aleatoria): Fission necesita al menos uno de los 4 caracteres (mayúsculas) ULDRpara iniciar cualquier flujo de control. Entonces no. ;)
Martin Ender
66
Este es MarioLANG , pero estaba tan bien ofuscado que no se parece en nada.
Sp3000
21

NO BABTIZADO , 77 bytes

$0,0
.:72
.:101
.:108
.:108
.:111
.:44
.:32
.:87
.:111
.:114
.:108
.:100
.:33

Verificación

Puede encontrar el sitio web oficial y el intérprete aquí .

Como se señaló en el sitio web, el intérprete fue escrito para Python 2.2, que permitía caracteres no ASCII en el código fuente. Puede descargar Python 2.2.3 1 o arreglarlo para Python 2.7 insertando la siguiente línea al comienzo del intérprete:

# coding: latin1

Cómo funciona

En primer lugar, no se debe permitir el espacio en blanco en el código fuente de acuerdo con el sitio web, pero el espacio en blanco después de una instrucción completa parece no causar problemas.

El comando se $0,0ejecuta memory[0] = memory[0] == memory[0], lo que no ayuda a saludar al mundo de ninguna manera. He agregado este comando únicamente para distraer el hecho de que .actúa como separador de declaraciones.

El resto del código está compuesto por trece :xcomandos, que escriben el carácter con el punto de código x en STDOUT.

Una versión no ofuscada del código fuente se vería así:

:72.:101.:108.:108.:111.:44.:32.:87.:111.:114.:108.:100.:33

1 Compilar Python 2.2.3 fue sorprendentemente sencillo en openSUSE 13.2. make, make instally el ejecutable resultante imprimió muchas advertencias, pero UNBABTIZED funcionó según lo previsto.

Dennis
fuente
@vihan No, lo siento. Fueue imprime FUEUE: UNKNOWN , OP14 veces, entonces HHeelllloo,, WWoorrlldd!!, sin salir del programa.
Dennis
Pyth ... ¿Pero no en el intérprete en línea?
Decaimiento Beta
@BetaDecay No, lo siento. $comienza un literal de Python, lo que genera un error de sintaxis.
Dennis
14
@ kirbyfan64sos Dennis sabe mucho de todo.
Alex A.
19

Subleq superior , 52 bytes, descifrado por John WH Smith

int puts(char*);int main(){puts("Hello, World!\n");}

Esto realmente no se parece a un esolang, pero no se implementaría putsun derivado C sano sin una nueva línea implícita.

Dennis
fuente
1
¿No funciona esto en C?
jcai
@Arcinde No, no lo hace.
Dennis
66
Ah, dos líneas nuevas.
Peter Taylor
¿Es objetivo c?
vacas graznan el
55
Wow, realmente voy a comentar aquí: D ¿Podría ser esto ... Subleq superior ?
John WH Smith
19

Mascarpone, 30 bytes, descifrado por Sp3000

[!dlroW ,olleH]$.............

¿Basado en pila? Tal vez...


[!dlroW ,olleH]empuja todos esos caracteres a la pila (sí, incluidos los delimitadores); $aparece el ]; y luego .cada uno imprime un carácter. El programa sale con un [personaje todavía en la pila.

Hubiera hecho que la salida usara un bucle, pero no puedo entender cómo funcionan ...

Peter Taylor
fuente
1
@ETHproductions, no está destinado a ser ortogonal. El intérprete no compila para mí, por lo que definitivamente no puedo demostrar que no lo es.
Peter Taylor
1
@nimi, no funciona en STXTRM. (Y no estoy seguro de que STXTRM cumpla con los criterios del desafío: no parece tener una forma de imprimir. Tuve que agregar uno para la prueba).
Peter Taylor
2
(¿ o eso es lo que quieren que pienses? suena música dramática)
Lynn
44
@nimi, cállate y te daré la mitad del premio.
Peter Taylor
3
Parece funcionar en Mascarpone , que de hecho está basado en la pila y $aparece el ]que por alguna razón se empuja
Sp3000
17

Giro , 12302 bytes, agrietado por Artyom

3.141592653589793288462643383279207884697269399375705845974944595347816486286788
99262883192534210706798214888651326231664709384460255058223879585940892848425745
72845027259385711356596446299474149373219244288149756659334467284756582337867838
65290203309945648566923460348630458326848283390605263242149273724387006606305588
17688152992197288925489171536436729259066006733053554682146652138414195194155260
94330572703655599939530920867773809328677934055585480744623799627495623598880527
24891227938383069449529853677362440656643086026394946395224737790772179866943722
77753919727629377675238467487846766940533204456812714526359282678571134275778966
91336346707244684405062249534709465459853763597922796832289235478169561899890259
60864034418759863524774774309960578707288349994968372978069966059761732846096388
59502445945534691833264252238825334468583526193118812846000913783875288658753300
83864206877776699473035982539904287554687375595627688823537875937599577858577805
32776236806644850927876620695909236420498932095257201465485963278875956453483837
96838034695203531186296899577362259941389124975177528347993759558285724245455065
59507295336268647288558590750983897546374649398592550644919277416611334898488242
52838361603563707660104090588242945596698926767837469448255372774726847604447334
64620804668425906949629339367707038955200475226235696602405803475079754225338243
75355870402474964432539147992726042692227957823547896360097417216412199245863150
30286182974555706749838505494548586926995690927680797503302955321165344987902755
96923648066549926988983429775356636980742654052787255181841757467289597779279388
41818470600361452491928732372847723507474409737685487603695573585520334747338494
68438523623907394243330547762486862528983569585562099235222984272650254256887658
79049466135346680466862723279578604578438382596797668145416375388858636395568364
42251252351173929838960843284886269456042419752853222166612863067442786220391949
45847123123786260956364373937287457764657573963453890065832645995413397478427592
49946576497895826996831835259574982582262952248949772471947826848260647699090264
09363944374253057682834962524517493996554334298297906592509472256964625557098583
37419517885979772975598339164753928428533268683862942774953993855905255953959433
04997252488324598727364469584868383677642782609902460824124388439242124413654976
27857977456914354977731296960898346948685558404663534220722658284886485584560285
06516842769452237467678895252138528549954666727823386476596121354886233577456498
53559363456817482408253507616947545609659699402822887973680364886963686722878894
00645535933186179256819228747829638249385894397149996759952213655497888938297849
25682998948722258804857566604270477555132379641450523746336364742858444795565807
82175714135473573952311842716670243596953633544295248293746788084546540359027993
44537423173125785399621983874478584784896823214457738687563439064302584530960484
87305879614689674913278191797939952969449663428754440643746423778392379998379085
94956886467544269323974894090748649493596256794520219514655322523160388893091219
37621378559566319377876834399667921793467221825629996638035205930680382477345492
82665414663925211497442854732518666002332434088198710486339734649450453935796268
56189555844665879699826397473658445757425913289786155082097220628043903975931567
71577914253378699360072305587631763594248738252472205369284988263864258673235795
98424848829560980659575972695722393256711632291998169481528077350679274858322287
98652093539657255280835792573698820614442122675192346712331432676373699086585463
98575019707656549685279407657668755556588879099699597833873455283386355276479285
35898206485489632952933029857164253675279278915488497559859865635880270988994309
22448095757728089059232332609729971288443357326848938239119326274536679058060424
23038630324382499675828524374417224132865518093773444030757489218291913921335385
19762408389044929329526084244485963766983895228384783125552678218141957385726243
44418930396864262434407732269780281731891844660964468232527262070226522722986803
96665573092547140557853769466820653509896523948620564769332570536356629185580007
29360659876486117940453348850346363255686753249444668639626579787788556084552965
41366542853961434443185867697514566130980072243782763913240575274947042056223053
89645673099719270004078547332699392894546649458807972708266830634328587858983359
35838713165757446795357163775259203074755765588405250676228534932266474550979259
23599479654737612551765675135759787966645487937450842696848903746399473329621073
40437578997859624589019389413111540429782856475037031986915141287080859904806094
12147221617947647982622434254854540332957685306842288937583043063321751829798662
23717215916977196925474873808665494945057465406284386639379033976926567214618733
67362965712191843638327106496274688260786925602902284725043318211869829413000422
96597849637292533707520475958456609663386294726547364253308077033754590673562350
72835405670402667435436222207725897504958098444893335973438788769625993968334193
41447377641845631298608029088687463260472756952624965860573221681694103795667353
82297436372947867242292465436630198367692823828568996441484436463741456344966894
94092432378969070627790223625382216889573837986235345937364765512289357865158416
37557828735263446542695326972037343546538967774860316996655418733879293344195216
41343899484448736567383962499347983883480927777303863873243077217545654542237772
92121155316609628008592636219759882716133231668397286193366863360627356763035447
76280350450777235757105859548702790844356240545587806246436267945622753399340783
30336254232783994975382437205835369477389926063883346776279695970304835923077909
87040854943748484408227726346564704745878477872009277652807387679077073572534447
30685749733492436231338252443163128484251219256567780694763528083047713747816437
84718509092852520756783934596562834994347595625865865570502290492529985893385572
24264829397285847831634577775626888764462482461579463395352773487354892939587617
48256047470996439643626760449256274204208924856611966254543372137535958450687724
60290161836677524661634252257749542996299593064553779924437340432875262888963995
87947572917464263574152549793916513571053694049609393251890760208252726987985318
87705842972490677863299629009049256697373727047684726860849003372724242916513715
00536832336435038901692989392234451722413412596965316784408745896012122859997662
34593773444826409038905449544400679869075485060263275252983461874078668088183385
11228334592584865855539152133289776528430635655002668282949344539765527989721754
61395398368939363839474211996653855352842056853386249672523340283067642328278929
25077926294632295669898989354288629562701621835646227134967152883900737381198934
97346223961136854066439939509790190699639552453072453585685521956733229299119439
48568034490398255935305226353436592042994745558563860234395544959778377972774411
77271117238434354394782908585986040837400635344339588856486795731547129658424589
89332323342117351545940536556790686627333799585135625734322988273723198997576406
80781119635833565944873168223602876496286744404774649779950549737425626951049007
78698683593814657712684492964871855614537233786733539066883834363565537949864092
70563692934738723920837607023029860367938627089438799262066295954973764248928307
22812690945546684760357626477379467520519475715552781965362132392649616023635832
59074227282931872735052772790055676542552487925303435039885253323215762530906425
46392291522865627169535919565897514836034822769306247435366256916378154785799528
43667957063208615391514452527473924544945423682886064340848486377670896170783024
93404341725946376484393414334123518975769352164637679693374950297085759869239798
82936429939949074362366467411833940326590840443780503332945257423995482965912285
08555722572503017125749296837242292652522711472676756222415420506884863484756836
99983966400136299627838698929165372884222691441407728862750784375167197878326992
82120660418371846535567252532567532863291742487721825399764157959847835622262914
86003465872298053298965322129174878823273427922224533985666472691495556284251693
27574202840379980663658254809269880254566181729678266427655914225194568550654653
05873825462703369316785177699747718667114965583434340693385880740386455433676323
08458768722660348943909562019939361831529168645288738437909904236747336394904555
93845304054974347574811935678913073775572902823555912885309066920376749520332299
94464676851422144772793937517834436689910433365456735475998550468450263655128862
28824462575946333039607225383742882049883538457391771519682887478265669599574494
66175634410752239709683478755355984617541738868379944697486762555665897648483588
45344277568790029065176283529416344262129642435231176006652012412526598558512861
78583823204497684423608007593045761891234982927965619875687228726750798025547695
49245563573212214333966974992356312549478024985340934923827553799830791738622515
22742995888072473625906785451333123948749675791195532673430282448860454263639548
75944822267789624825179289647669758358327438425630296924488962566874332326092752
49603579964692565049368083609003238002934595889706953653494060340286654437588909
45632882253545259661564882465151875471196258443965832397543885690945030335090261
79278332974127766514793942295298969594699576576121845609673378623625692624632086
28692257032748492186543640021947807058656459446320469279068232073883688142435698
13621963208088222468042248264977685896387439283903673672424888321513255623376798
39495215297822845337667494347456813455641725437090696939612257942986467254657846
83886244458823445934789849225284786050490252424770292547205734551050086198819769
33924638787581085754407593079422243908663938330529425786965376431116383808834389
34659653685634784699556978303829309716465143840705727468411237359984345225161050
70679562352368127648483080176918371355279121542716283548360367456286790570651748
82256981579368897669743205750596834408397550201418286724585725871457253326513490
55924009127421624843919535998953533559594427646912691409387001564563216225428832
61927645773106579329552498472758465082648369998922569596888592056007416552563796
78566722796619887782794948355834357516744585522975634434893966420527984936804352
25297598469423253312257634680002947609415979159453766955224829336655566156787364
22536665641654733770439036223295935292694445990416087532018683793792348836894591
51571637852992345292446773659495233510073270878426834974595645838408723727047131
72795431542296526667621449863746459528682436944578977233254876576524133507592043
40495340398349220233807550952290156825634274716463243354456515212669024934396739
77042595783756555506730203923749729736354964533288869574161116496362773449598273
69558822075735247665658985529098266539354948006887320685990754079234240230092590
07067389603622547564789476475483466479604994632339056518453368449569697799335234
62461477961696886885004083470405462542953699118296782468185780393889065695036650
83243297440477184567893282336943106808702742809736248093996278617472645531925385
44280858373694738872940630782655955954626296297070625948258698341116729964090894
38059534393251236235548124949824364278527138385932563989295896427487573946944272
53736694953236200453730488828556756594420735246258954873016769829886592578662242
12496655235338294287854256404838833071165372285633591525347844598183134532904299
99959823522053273365856407826484940764411376393866924883118962453698589175442647
39988228462174492087776977638679572267265556259628254276535830913407092238436577
91681284981794007680985998338492354956400572995585611349892524593669869333973513
58148918568552653087099570899527328709258487994436860256418892256917835258607859
56298848272953509537885574573742608592298817651557803905949408738065932266220593
73108048548546312228257682614165514846626744459831262548524978449254843469414627
54864932709304434039302432227488545975054742178289711277792376822578873477088091
52142298226868586705074227255126332834497627789442362167411918677943965067558577
35867364823993907604260076338704549907760436482046921823717648869341968968645895
58708736062938603890576205855272368341823834546564758834351385921633639874026374
40643549556836896423228274975330265580793453469678352858829924367497488711815893
34945331442622876228809400736877054586596877746194176964323909206248594

Whirl ignora todo excepto 1 y 0. También modifiqué otros dígitos al azar, pero no son relevantes. Cuando mantienes solo 1 y 0, obtienes un "¡Hola, mundo!" ejemplo :)

aditsu
fuente
1
Pi ?
alephalpha
@alephalpha jeje, no, solo está disfrazado para parecerse a Pi
aditsu
¿Es por casualidad NULL ?
Alex A.
@AlexA. no, no lo es
aditsu
2
¡Buena esa! Este es Whirl .
Artyom
16

GNU bc, 36 bytes

main = do
  print "Hello, World!\n"

Una versión Foo- inmune de mi intento anterior .

Esto requiere la versión GNU (o cualquier otra versión que tenga la printfunción) de bc. La primera línea es para la ofuscación: en bc las variables no tienen que declararse y se inicializan 0, por lo que tenemos una asignación inútil pero con una sintaxis válida. La segunda línea simplemente imprime Hello, World!.

nimi
fuente
¿Es Frege ?
alephalpha
@alephalpha: No sé Frege, pero todos los programas que he visto tienen una palabra clave moduleo una packagepalabra clave, así que supongo que no se compilará. Quizás funcione en REPL, pero eso no está permitido.
nimi
1
@oopbase: no, no es Haskell. Se compila, pero da el resultado incorrecto.
nimi
1
Estoy seguro de que este no es el idioma previsto, pero esto funciona en cian , si ignora los mensajes enviados a stderr (la sintaxis sin errores necesitaría dos puntos después main = do:).
primo
1
(¡Tienes que estar bromeando! He buscado en Internet todo lo que tengo en mi computadora ...) ¿Cómo invocas esto? Parece que no puedo convencer a BC de leer un archivo.
Dennis
15

Chef, 1943 bytes, descifrado por Angew

Hello World Cake with Chocolate sauce.

This prints hello world, while being tastier than Hello World Souffle. The main
chef makes a " World!" cake, which he puts in the baking dish. When he gets the
sous chef to make the "Hello" chocolate sauce, it gets put into the baking dish
and then the whole thing is printed when he refrigerates the sauce. When
actually cooking, I'm interpreting the chocolate sauce baking dish to be
separate from the cake one and Liquify to mean either melt or blend depending on
context.

Ingredients.
33 g chocolate chips
100 g butter
54 ml double cream
2 pinches baking powder
114 g sugar
111 ml beaten eggs
119 g flour
32 g cocoa powder
0 g cake mixture

Cooking time: 25 minutes.

Pre-heat oven to 180 degrees Celsius.

Method.
Put chocolate chips into the mixing bowl.
Put butter into the mixing bowl.
Put sugar into the mixing bowl.
Put beaten eggs into the mixing bowl.
Put flour into the mixing bowl.
Put baking powder into the mixing bowl.
Put cocoa  powder into the mixing bowl.
Stir the mixing bowl for 1 minute.
Combine double cream into the mixing bowl.
Stir the mixing bowl for 4 minutes.
Liquify the contents of the mixing bowl.
Pour contents of the mixing bowl into the baking dish.
bake the cake mixture.
Wait until baked.
Serve with chocolate sauce.

chocolate sauce.

Ingredients.
111 g sugar
108 ml hot water
108 ml heated double cream
101 g dark chocolate
72 g milk chocolate

Method.
Clean the mixing bowl.
Put sugar into the mixing bowl.
Put hot water into the mixing bowl.
Put heated double cream into the mixing bowl.
dissolve the sugar.
agitate the sugar until dissolved.
Liquify the dark chocolate.
Put dark chocolate into the mixing bowl.
Liquify the milk chocolate.
Put milk chocolate into the mixing bowl.
Liquify contents of the mixing bowl.
Pour contents of the mixing bowl into the baking dish.
Refrigerate for 1 hour.

fuente
55
Eso sería Chef , supongo.
Angew
@Angew ¡Bien hecho! :)
15

APL, 39 bytes, descifrado por Mauris

"Helo, Wrd!"[0,1,2,2,3,4,5,6,3,7,2,8,9]

La eficiencia lo es todo.

Esto funciona en la demostración ngn-apl .

Ofuscar APL no es una tarea fácil si la intención es hacer que se parezca menos a APL.

Esto es lo que logré:

  • Las comillas dobles no funcionan en todos los dialectos. Dyalog, por ejemplo, no los admite.

  • ngn / apl es el único dialecto que conozco que usa indexación basada en cero por defecto.

  • No se supone que las comas estén allí.

    Los elementos vectoriales generalmente están separados por espacios al escribir APL. Sin embargo, se ,concatena para que el código dentro de los corchetes concatene 13 singletons.

Una versión (ligeramente) no ofuscada y más portátil del código se vería como

⎕IO←0⋄'Helo, Wrd!'[0 1 2 2 3 4 5 6 3 7 2 8 9]

que funciona en TryAPL , GNU APL.js y la demostración ngn / apl .

Dennis
fuente
Funciona en kdb +. Creo que el nombre del idioma es Q, pero no lo mencioné en ninguna parte de la descarga. Y no sé cómo ejecutarlo como un archivo fuente independiente.
jimmy23013
1
No estoy mal, que también imprimió las cotizaciones ...
jimmy23013
¿Alguien sabe algún idioma donde se permita la indexación de una cadena?
mbomb007
@ mbomb007 Python y Ruby, pero esto tampoco. No puedo pensar en un lenguaje que no imprima comillas alrededor de la cadena.
lirtosiast
44
Esto es APL. (Funciona ngn-aplal menos)
Lynn
15

Ratón , 105 bytes

1[10Y:Y.Y.*X:108Z:33X.X.8+X.Y.+4+X.Y.+1+X.Y.2*-7+Y.3*2+44X.Y.+1+Z.Z.Y.10*1+72!'!'!'!'!'!'!'!'!'!'!'!'!']$

Puede obtener un intérprete para Mouse escrito en C aquí .

El mouse usa la notación polaca inversa, por lo que los operadores siguen los operandos. (Piense Lisp al revés). La asignación de variables se realiza utilizando <variable>:y recuperando el valor de una variable se realiza como <variable>.. Todos los valores en Mouse son enteros.

!genera un entero y !'genera el carácter ASCII asociado con el entero. Toda la salida va a STDOUT.

Por alguna razón, todos los programas válidos deben terminar con $.

1 [ ~ If true, do

    ~ Variable assignments
    10 Y:
    Y. Y. * X:
    108 Z:

    ~ Push values onto the stack
    33               ~ 33  "!"
    X.               ~ 100 "d"
    X. 8 +           ~ 108 "l"
    X. Y. + 4 +      ~ 114 "r"
    X. Y. + 1 +      ~ 111 "o"
    X. Y. 2 * - 7 +  ~ 87  "W"
    Y. 3 * 2 +       ~ 32  " "
    44               ~ 44  ","
    X. Y. + 1 +      ~ 111 "o"
    Z.               ~ 108 "l"
    Z.               ~ 108 "l"
    Y. 10 * 1 +      ~ 101 "e"
    72               ~ 72  "H"

    ~ Pop values and output as characters
    !' !' !' !' !' !' !' !' !' !' !' !' !'

]   ~ End if
$   ~ End program
Alex A.
fuente
¿Es Headsecks?
mbomb007
@ mbomb007 No.
Alex A.
¿Es este Nybbleist ?
BrainSteel
@BrainSteel Nope.
Alex A.
¿Una simple suposición, Julia?
Beta Decay
15

Haskell , 637 bytes

(program, main)= script $init

string= struct( \ 
  char(show)-> do show; putChar(char); while 1 ) (return 0)

script
  stack= auto $string("!dlroW ,olleH")

struct buffer (public) = share%: \ 
  align->flip
  (field public buffer) align

auto buffer= (init, buffer)

share from = select x where x = from x

while skip=return 1; skip= skip+1

select x | ~"World"<-
            "Hello"=x

loop k for[]
  buffer=(const ($k) ($skip) id)

loop while not(-- $x) {
  unsigned: i{-1}
  terminal.write(buffer{eval $i--})
  x= not (unsigned) $x
  $i `const `skip{-2}
}

memorize{+,-}

(goal, field)= auto loop

finish%:
  goal= finish $goal

Video de desofuscación

ingrese la descripción de la imagen aquí

dejó de girar en sentido antihorario
fuente
Suena como un juego de deportes, jajaja.
mbomb007
Por alguna razón, siento que este es un lenguaje que ignora los caracteres alfabéticos, y todos los mundos están ahí para confundir a las personas.
kirbyfan64sos
@ kirbyfan64sos: no, solo algunos de los personajes son ignorados. La mayoría de los cambios aleatorios que podría realizar en este programa lo frenarían.
dejó de girar en contra del reloj el
1
Los siete días han pasado. Puede revelar el idioma y hacer que su respuesta sea segura. (Siempre y cuando no lo hace, la gente todavía pueden descifrar la respuesta.)
Martin Ender
Una suposición: es zsh?
georgeunix
14

Wordfuck , 1063 bytes, descifrado por Martin Büttner

Thus men; die. Here meet prepar'd thrice be." Down his
 with lab'ring forg'd and And retir'd Now universal Phoebus at
 Hesperian living, off fields fierce cries, assail'd not for These
 foe. Spread, indulgent quarry headlong prince your bloody side crew.
 Elated call humble yield, his yield, boys camp men, cruel
 all the loudly trusty won, winter spouts they crown. Had
 what long long upon fram'd. Declare back throat, tossing his
 enters, the Nor Aeneas; said from flowing the enclose th'
 match'd Receive with neither threat. From seas painted His oppos'd,
 cried, Thus mortal the his and combine form and, wine.
 And but Let absent, sums to guest, you to spear
 to greedy of First, with love bear." path Whom heav'n
 That by Argive need they to blood, wert eyes the
 this To large, with Some Jove (The from hosts, the
 yoke with horses' when sail is purple at wintry his
 with more camp with have to Earth, to oppose of
 the troops with various but so, thirty well perform by
 the and waves- man! from fear victory too at fire,
 If recess banish'd transfer.

Tenga en cuenta que las terminaciones de línea deben ser de estilo Unix.

jcai
fuente
3
Perl? (Probablemente muy mal ...)
kirbyfan64sos
40
@ kirbyfan64sos No, demasiado legible para Perl.
jcai
2
Al principio pensé que podría ser ??? y me emocioné mucho, pero resulta que no funciona en ???. : /
Alex A.
1
@Caltor AlexA. lo publiqué anoche;)
ETHproductions
44
Este es Wordfuck .
Martin Ender
13

Wordy , 3279 bytes

#_>^ +7K1 }OU8 4>Fk ry\g 9Ff] A}kY ,6Fo IK`k C'td dbJ[ 0j]l MBp[ \">| R\JY %+T_
)*`7 @[{j ;x-+ _H\= ;D@& />p? h,mx 1m;7 p+yL -#&9 0(^! ,i9^ Q%_! +&$Q %#|e %:~A
%T</ }-(r ]_$p g&|" *w#= @++j \)U` <:W< _t{( c\#< :f@~ >[+6 ,B%? S6d} HSm" b=Yz
c[(; @n*# ;`,Z >~K) D"<% <}h" #>N. I0:o >c"+ '>S! pQX[ U#gu $Ei0 6`>~ -/4: ,3;%
\c(? h;TQ LN)o 5`#; }{V* '-E. 7:5u d]0y s|JJ u+>` `|8? y,<0 \(d! 1^*, &U`_ U/@"
*&7. M|f% |C#? \{4` ,k<+ %*'D h~=_ W_+{ [#_[ %"-r #~_F _:u. N|W6 awH' JMm, }%=R
a>*= *z+' {@"A ,'3\ m;}@ (I<. "044 '}A` =K'? puB[ R<ka nrR: S<>= ;`(e (\*p N$"?
u1c} eI%L O$*~ ]O+{ 7"@! vU%n 'MIs E`VV ,/~q p}\? ^DM, k:-! ,3:$ D*~< "}T^ /z}%
\|h< 'Y@? }M%0 {/c. |";P /I"` "[(v ~>l- #2]! j~af rZ(J 9zv` {`T, M`'& (H+: {G+>
A#~` /_%6 4"}! 9|rs [;$m ]J|? IZx; ^xaf WuB) =^+s |+%t [;^U ])A! H;Jb @STw x^`,
=9~< %Z). @v3o h;Tz M9~t {'|O {J`. u^t> 9<-? )/4- `/v| )>O] /(E' ,};X ;&0. 0`o:
(#o? ,D]< X%|* ;}*h [%C` &(A' ^@J^ {O[| &%&Q -;9` |j}) |z]+ :4:. 03(4 <Bhz N$mY
R$~< -M#' C)$$ /=[J 9@^" [*}a :%R. T1,W Y=}` O=&. D;ms Mi=c (Stg >|}1 __^B P};{
&{1. y(Wq T&Nq $^'D />@M @u^? $2Pd n4~d 19j/ X>#> #s[. 0-@P $B%? %w}% x=<[ =}r_
\#=8 ~~R> P']! }8a+ *;j! w<_` %;T: #0({ -_8< A(]^ @1`/ )@f` /=m\ e"~@ ~4$' (z]&
/C|? wtn; HFe^ Gzn* @K}/ >1+{ 7/-{ 2&{} }X-% T=:> O,;. qR8; ;*0: s|>. -bFs DK^y
jk}O =~g/ B%:{ 9;@` K%}? `Xvi "vI4 c+$) =<(b %g#. Tt'w P\ID M`fI %#^M E#=. B&)v
;9:? (+/7 <%q" =,U{ -`/G r[*^ Y;@! H&d> ))@% &S,! |B*[ ~^-p 6+,~ N#&\ ;]K* 6}=^
/|Q) *y:\ ,M*| %&'f =U>@ }~@Y >~3~ `P<: K\+? WUD= |4x5 sox} /6;> [&r{ p@", :'D}
g{^} -]$H _B-! fJ5< p;&@ {a~! Ra+M OKo+ ydJ+ *~-T :W=; @*#, ^_e- k=_. M@QY (fQn
X<,] >(C/ [A/. {nNT {tXg vy@e *1+} (G,. +2m[ X[=! s$,/ [@y! :l+9 -@2. :(P- +a~#
,p%) %*)0 }*=F +"T( Q&~@ <c*; }(\E 3@_* I):( \:2? ~CqL 5$TC ,ARH ;*p/ <~0` _B';
;=>A (%T, d&[; #`g. N*u1 @LEE zPP[ ;<)4 ,1%= [#1# =6^! IL\e 0t@f ~}h< j'{+ <_B!
wFE; lyr` Ja\V '[,J 2_^! Rb;% I>$? F#-{ %+j. fB>2 J7P# Kj~n }#C> T*%` Q=/@ T;%>
_c|{ :&$1 %Q}. rFl> #A,` `Z^! Ks"L hUI: 6_MV ^Q-- `M/> #3/= #'n. MID{ vdn, @_l{
v_@; `s@? H#eZ ]9my oP#e {|R# '(k! d#d; :s,? $+H@ :#=e }2-] 8,-< &1$! l(`7 e:-!
%\X$ k_>' <7], ~%N| r)]] -"$u &0\! SR:z ly]b K(wa q*@- ]{~c )}x% &@&Y >~;j #R)=
%V*. %L1F j'~; +_0. Yz-x @kVV 0G:a `,p] (>n< >{{z /#m! S~CS #Foq %$h( +*{B G#@?
fwr< %OQt K"Cx @0}+ b${. F]R* k=/! C$=, @#/b 4[$* y`,^ $|*R 6,%! Z*c@ ;0\. [&f-
$"/k -L{, \@7{ ^]k\ v$>% v#-; +G># -F@} :=R@ Z<|^ )H-~ o#~^ E#$) :a{. i52: :svA
q&NY #g"< )r]{ "p%& %P}@ 'k|, #m)' ]6$. :@{& |Rcr \]|T ;^8! b2{F rv<i N>VP D>~_
)'A_ G(}- Y&^? 64-A %klM %Q=@ }J:; _b<? ^jjo v[5V {gyQ y)`[ }|l. '0B` A`{. >]@M
#},y C"_} s]@' \9|- _#$o _w"? %&43 k}". >}u- ^]b? z%Cg f+aT vr$A /:\z #);I $*F,
+7^# \%T( ,*a{ &>n? t8J( >*|F @{4? >X4T o7r+ bQ:L *^C_ ;#8& `w(( >,v. a<dY D52+
1_+: "-i) }&f? *LNO %d5F yu{O $}&x 'v]? *b{m &*i! W\#( <%i+ }=o" 9=#& \@1{ @4-?
O])U :`Z? T{`> &>}0 <[T+ `w|{ *"k* >@b^ ~,8+ "{;n &-X* "l{+ [V_" ^8$. $Ppv MY7%
1e;R ={g# |N}_ )`[d *U\~ "@L# &o{, ^Y[! m13= z@\$ /\o. VdO" %EBr h,cD &^(6 )t(`
'S%, @L(? zd{g 0YR" n;}_ 9$~^ N`$! hz>G iM_A JT8+ K)-] g[`? 1J@~ -l*? {<n& w{+:
;r`& ,9-> (}r| M$<? I"0* H|=. =[:T (^#y V~-/ 6(:? K{GF RzF^ V^4d ;#>d ~C}@ b(^\
(_B- /)_K >;^i V#%! c5H^ 'R@> <M:. ee\0 jPH( JV=4 >{&k "T#\ y';) {^e? :gq7 2B(3
+P-| s\%( 'e~? TE8^ V6U> mB<q 'K&( {u|! y@<A ]f&. "K~+ =o(? 5+u^ u>(? a_%. *</>

Como insinué en los comentarios, este pajar es principalmente aguja.

Podemos saludar al mundo ejecutando las siguientes instrucciones:

ASSIGN NOP LITERAL 16
OUTCHAR ADD MULTIPLY VALUE NOP LITERAL 4 LITERAL 8
OUTCHAR ADD MULTIPLY VALUE NOP LITERAL 6 LITERAL 5
OUTCHAR ADD MULTIPLY VALUE NOP LITERAL 6 LITERAL 12
OUTCHAR ADD MULTIPLY VALUE NOP LITERAL 6 LITERAL 12
OUTCHAR ADD MULTIPLY VALUE NOP LITERAL 6 LITERAL 15
OUTCHAR ADD MULTIPLY VALUE NOP LITERAL 2 LITERAL 12
OUTCHAR MULTIPLY VALUE NOP LITERAL 2
OUTCHAR ADD MULTIPLY VALUE NOP LITERAL 5 LITERAL 7
OUTCHAR ADD MULTIPLY VALUE NOP LITERAL 6 LITERAL 15
OUTCHAR ADD MULTIPLY VALUE NOP LITERAL 7 LITERAL 2
OUTCHAR ADD MULTIPLY VALUE NOP LITERAL 6 LITERAL 12
OUTCHAR ADD MULTIPLY VALUE NOP LITERAL 6 LITERAL 4
OUTCHAR ADD MULTIPLY VALUE NOP LITERAL 2 LITERAL 1

Wordy codifica todas las instrucciones como oraciones, donde la fracción de palabras que son más largas y más cortas que el promedio redondeado selecciona el comando.

Las oraciones más cortas que pude encontrar para las instrucciones utilizadas son:

ASSIGN xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx xxx x x x x x x x.
VALUE xxx xxx x x x.
ADD xxx x x.
MULTIPLY xxx xxx xxx x x x x.
OUTCHAR xxx xxx xxx x x x x x x x.
NOP xxx xxx xxx x x.
LITERAL xx x.

Pero, ¿cómo se puede ocultar el hecho de que la longitud de las palabras es lo único importante en el código fuente?

Ni el orden de las palabras ni los caracteres elegidos son importantes, siempre que sean alfanuméricos, por lo que decidí agregar caracteres aleatorios no alfanuméricos a cada palabra para rellenarlos a todos en la misma longitud. También agregué algunas no palabras (sin caracteres alfanuméricos) para darle al código fuente su agradable forma rectangular.

He generado el código fuente final usando este programa CJam .

Dennis
fuente
3
Ese es un gran pajar.
Sp3000
44
Supongo que eso depende del tamaño de la aguja.
Dennis
66
Hablando de pajares. Si no hay actualmente una lengua llamada "Haystack", eso sería un gran nombre para uno ...
mbomb007
@ mbomb007 trabajando en ello;)
Kade
Estoy bastante seguro de que no lo es, ¿pero l33t ?
MickyT