Construye un políglota para Hello World


15

Produzca un archivo de texto que imprima "¡Hola Mundo!" en tantos lenguajes de programación como sea posible cuando se compila / interpreta, a la vez que es lo más breve posible.

El puntaje para su envío se calcula como C / 2 ^ ((L - 1) / 4), donde "C" es la longitud del archivo de texto en caracteres y "L" es el número de idiomas en los que el programa es válido. El puntaje más bajo gana, por supuesto.


1
Esta pregunta es similar a la otra , pero en este caso, puede compartir "Hello World" entre algunos idiomas si lo desea.
Joe Z.

¿Tiene que ser un programa completo o solo un comando válido?
ASCIIThenANSI

Respuestas:


20
print("Hello World!")

Funciona al menos en Julia, Perl, PHP, Python2, Python3, Qbasic, R, Ruby ...


1
También funciona en R y Julia (y seguramente en muchos otros idiomas).
Sven Hohenstein

2
@jdstankosky, ese código exacto no funciona en PHP. pastebin.com/9x6HactK
manatwork

1
Es un poco forzar los límites, pero podemos decir que también funciona en JavaScript, ya que algunos intérpretes de línea de comandos proporcionan print()funciones para la salida. pastebin.com/6fXtgFER
manatwork

2
también funciona en lua
mniip

1
@gnibbler, no funciona en PHP sin las etiquetas de apertura.
Tyzoid

12

JavaScript ES6, Oración , Vitsy , Minkolang puntuación = 71,94703045766462

121 / 2^(3/4). ¿Hecho de la diversión? No estoy tratando de ganar, solo de agregar tantos idiomas como sea posible.

222 //X>"!dlroW olleH"Z 
shush=0
alert("Hello World!")
sorry=`
listen
capture Hello World!`
$$$
=` >###      .O$r"!"rXr<`

Lo que ve vitsy

"Bueno, soy un lenguaje 1D, así que ... por ahora, solo cuenta la primera línea".

222 //X>"!dlroW ,olleH"Z
222                      push three twos
    //                   divide twice
      X>                 drop the result and carry on
        "!dlroW ,olleH"Z standard Hello, World! program

Gracias por la galleta, Vitsy: 3

Lo que ve JavaScript ES6

222 //X>"!dlroW ,olleH"Z

"Veamos ... pones el número 222y luego pones algo en un comentario. Muy bien, claro, voy a rodar con eso".

shush=0

"Hiciste una variable. Notado".

alert("Hello, World!")

"Ah, veo a dónde vas con esto. Mostraré eso".

sorry=`
listen
capture Hello, World!`

"¡Oo! ¡Una cuerda multilínea! ¡Ahora estamos hablando, ES6 rulez, ES5 babea!"

(EOF)

"Bueno, ya terminé. Tranquilo".

Lo que ve Oration

222 //X>"!dlroW ,olleH"Z

"¡Esto no estaba en mis notas ...! Mejor no hacer nada".

shush=0
alert("Hello, World!")
sorry=`

"Oh, aquí hay algunas notas adicionales".

listen

"Escucha..."

capture Hello, World!`

"...¡Hola Mundo!"

(EOF)

" piensa nada más! Genial, he terminado aquí. respira profundamente "

Explicación de Minkolang

(Demasiado perezoso para crear una narrativa. Podría hacerlo más tarde, el código tardó un tiempo). Código irrelevante reemplazado #u omitido. Además, se agregaron comentarios C ... C.

222 ###>"!dlroW olleH"# 
$$$  C this separates layers C
###>### #####.O$r"!"rXr<`

Capa 1, pt 1

222 ###>"!dlroW olleH"# 
222                      C push three 2s C
   _                     C space; fall to the next layer C

Capa 2, pt 1

###>### #####.O$r"!"rXr<`
   >                       C go this way C
       _                   C fall to the next (first) layer C

Capa 1, pt 2

222 ###>"!dlroW olleH"# 
       >"!dlroW olleH"   C go right and push those characters in that order C
                       _ C fall to the next layer C

Capa 2, pt 2

###>### #####.O$r"!"rXr<`
                       <  C starts here, going left C
                      r   C reverse stack C
                     X    C pop n (n = 2), and pop top n items on stack (2, 2) C
                    r     C reverse stack C
                 "!"      C push exclamation mark (for some reason, it's chopped off C
                r         C reverse stack C
              $O          C output stack as characters C
             .            C terminate program C

44
Mi hijo está orgulloso de tu sumisión. Aquí. Tener una galleta +1
Addison Crump

8

Puntuación de 0.84

H

Funciona en H9 + y HQ9 +.

1/2 ^ ((2 - 1) / 4) = 0.84


1
Olvidó: HQ9 ++, HI9 +, FISHQ9 +, CHIQRSX9 +.
user75200

@ user75200 Supongo que no fueron tan populares en 2013
Timtech

7
'Hello World!'

Se ejecuta en varios lenguajes de secuencias de comandos, incluidos PHP, GolfScript, APL, ...


También AppleScript y Javascript :)
tomsmeding

¿No incluirá Javascript las citas?
Joe Z.

Esto también funciona en PowerShell.
Iszi

1
Funciona en todos los derivados de H9 + a excepción de FISHQ9 + también
Tornado547

1

CoffeeScript y CJam, 46/2 ^ ((2-1) / 4) = 38.68

e###
"Hello, World!"
e###alert "Hello, World!"

1

ES8, Japt, TeaScript, C #, C ++, C, ESMin, puntuación: ~ 8.8

main=_=>"Hello World!"();

ES8, TeaScript y Japt ver "Hello World!".


No funcionará en Hello debido a caracteres adicionales.
user75200

Estoy bastante seguro de que muchos de estos (HQ9, Hello y variantes) no cuentan porque no son lenguajes de programación "reales".
KSmarts

Si lo estan. Son idiomas reales. Pero pueden o no funcionar. Y Hello ++ descarta los caracteres que no son h. Hello ++++ descarta todo lo que no forma parte de "Hello world!"
user75200 el

De acuerdo con los estándares PPCG, no lo son .
KSmarts

Y no hay HQ9.
user75200

1

Madbrain y [insertar la mayoría de los derivados BF aquí], 272 227 bytes

Solo publicando por diversión, no para ganar c:

956658555658
852224222254
************
c4993c839941
1****1**+**+
01cc70776ccc
g+11+g++*11
 c003 c3c00
 1gg* 1*1gg
 0  c 0c0
 g  1 g1g
    0  0
    g  g[-]+[-->-[>>+>-----<<]<--<---]>-.>>>+.>>..+++.>>.>.<<<.+++.------.<<-.>>>>+.

NOTA: No hay TIO para Madbrain, por lo que tendrá que confiar en mí en este caso. Sin embargo, escribí un intérprete (ciertamente no muy bien escrito (¡pero bueno, al menos funciona!)) Para Madbrain, que está en la wiki de esolangs.

Explicación

Madbrain ve: (Escribí este código c :)

956658555658
852224222254
************
c4993c839941
1****1**+**+
01cc70776ccc
g+11+g++*11
 c003 c3c00
 1gg* 1*1gg
 0  c 0c0
 g  1 g1g
    0  0
    g  g

Lo admito, Madbrain alcanza el código BF, pero no hace nada, así que no lo incluí aquí.

Brainfuck (y muchos derivados de BF) ve:

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

BF ignora todo lo que no es ><+-.,[], por lo que ignora la mayor parte del código de Madbrain. Sin embargo, hay algunos +s en el código de Madbrain (eso es lo que ++++++es), por lo que debe agregar [-]después lo que establece la celda actual en 0.

El código siguiente ++++++[-]es el código para imprimir Hello World!.


0

TI-BASIC y Pyth, 13/2 ^ ((2-1) / 4) = 10.93

"Hello World!

Nota: Respuesta no competitiva, ya que Pyth se creó después de publicar este desafío.


También funciona en ESMin, Japt, Teascript, O, etc.
Mama Fun Roll

Siéntase libre de escribir en cualquier idioma que desee, no importa cuándo se hizo.
user75200
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.