Costruisci un poliglotta per Hello World


15

Crea un file di testo che stampa "Hello World!" nel maggior numero di linguaggi di programmazione possibile quando compilato / interpretato, pur essendo il più breve possibile.

Il punteggio per l'invio viene calcolato come C / 2 ^ ((L - 1) / 4), dove "C" è la lunghezza del file di testo in caratteri e "L" è il numero di lingue in cui il programma è valido. Il punteggio più basso vince, ovviamente.


1
Questa domanda è simile a questa , ma in questo caso puoi condividere "Hello World" tra alcune lingue, se lo desideri.
Joe Z.

Deve essere un intero programma o solo un comando valido?
ASCIIThenANSI

Risposte:


20
print("Hello World!")

Funziona almeno con Julia, Perl, PHP, Python2, Python3, Qbasic, R, Ruby ...


1
Funziona anche in R e Julia (e sicuramente in molte altre lingue).
Sven Hohenstein,

2
@jdstankosky, quel codice esatto non funziona in PHP. pastebin.com/9x6HactK
arte

1
È un po 'forzare i limiti, ma possiamo dire che funziona anche in JavaScript, poiché alcuni interpreti della riga di comando forniscono la print()funzione per l'output. pastebin.com/6fXtgFER
arte

2
funziona anche in lua
mniip

1
@gnibbler, non funziona in PHP senza i tag di apertura.
Tyzoid,

12

Punteggio JavaScript ES6, Oration , Vitsy , Minkolang = 71.94703045766462

121 / 2^(3/4). Fatto divertente? Non sto cercando di vincere, ma solo di aggiungere quante più lingue possibile.

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

Cosa vede Vitsy

"Beh, sono una lingua 1D, quindi ... per ora, conta solo la prima riga."

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

Grazie per il cookie, Vitsy: 3

Cosa vede ES6 JavaScript

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

"Vediamo ... Metti il ​​numero 222e poi metti qualcosa in un commento. Va bene, certo, lo farò."

shush=0

"Hai creato una variabile. Notato."

alert("Hello, World!")

"Ah, vedo dove stai andando con questo. Lo mostrerò."

sorry=`
listen
capture Hello, World!`

"Oo! Una stringa multilinea! Ora stiamo parlando, ES6 rulez, ES5 sbava!"

(EOF)

"Bene, ho finito. Pace fuori."

Cosa vede Oration

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

"Questo non era sui miei appunti ...! Meglio non fare nulla."

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

"Oh, ecco alcune note extra."

listen

"Ascolta..."

capture Hello, World!`

"...Ciao mondo!"

(EOF)

" pensa niente di più! Fantastico, ho finito qui. respira profondamente "

Spiegazione Minkolang

(Troppo pigro per creare una narrazione. Potrebbe succedere più tardi, il codice ha impiegato un po 'di tempo.) Codice irrilevante sostituito #o omesso. Inoltre, sono stati aggiunti commenti C ... C.

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

Livello 1, pt 1

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

Livello 2, pt 1

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

Livello 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

Livello 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

4
Mio figlio è orgoglioso del tuo contributo. Qui. Avere un biscotto +1
Addison Crump

8

Punteggio di 0,84

H

Funziona in H9 + e HQ9 +.

1/2 ^ ((2 - 1) / 4) = 0,84


1
Hai dimenticato: HQ9 ++, HI9 +, FISHQ9 +, CHIQRSX9 +.
user75200

@ user75200 Immagino che non fossero così popolari nel 2013
Timtech,

7
'Hello World!'

Funziona in diversi linguaggi di scripting, tra cui PHP, GolfScript, APL, ...


Anche AppleScript e Javascript :)
tomsmeding del

Javascript non includerà le virgolette?
Joe Z.

Questo funziona anche in PowerShell.
Iszi,

1
Funziona con tutti i derivati ​​di H9 + tranne FISHQ9 +
Tornado547,

1

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

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

1

ES8, Japt, TeaScript, C #, C ++, C, ESMin, punteggio: ~ 8.8

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

ES8, TeaScript e Japt vedono "Hello World!".


Non funzionerà in Hello a causa di caratteri extra.
user75200

Sono abbastanza sicuro che molti di questi (HQ9, Hello e varianti) non contano perché non sono linguaggi di programmazione "reali".
KSmarts,

Sì lo sono. Sono vere lingue. Ma potrebbero o meno funzionare. E Hello ++ scarta i caratteri non h. Hello ++++ scarta tutto ciò che non fa parte di "Hello world!"
user75200

Secondo gli standard PPCG, non lo sono .
KSmarts,

E non c'è HQ9.
user75200

1

Madbrain e [inserire qui la maggior parte dei derivati ​​BF], 272 227 byte

Pubblicare solo per divertimento, non per vincere 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: Non c'è TIO per Madbrain, quindi dovrai fidarti di me su questo. Tuttavia, ho scritto un interprete (certamente non molto ben scritto (ma ehi, almeno funziona!)) Per Madbrain, che è sulla wiki di esolangs.

Spiegazione

Madbrain vede: (ho scritto questo codice 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 ammetto, Madbrain raggiunge il codice BF, ma non fa nulla, quindi non l'ho incluso qui.

Brainfuck (e molti derivati ​​BF) vede:

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

BF ignora tutto ciò che non lo è ><+-.,[], quindi ignora la maggior parte del codice Madbrain. Tuttavia, ci sono alcuni +s nel codice Madbrain (questo è quello che ++++++è), quindi è necessario aggiungere[-] dopo quello che imposta la cella corrente su 0.

Il codice dopo ++++++[-]è il codice per la stampa Hello World!.


0

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

"Hello World!

Nota: risposta non competitiva, poiché Pyth è stato creato dopo che questa sfida è stata pubblicata


Funziona anche in ESMin, Japt, Teascript, O, ecc.
Mama Fun Roll

Sentiti libero di scrivere in qualsiasi lingua desideri, non importa quando è stato creato.
user75200
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.