Bauen Sie einen Polyglott für Hello World

15

Erstellen Sie eine Textdatei, die "Hello World!" in so vielen programmiersprachen wie möglich kompiliert / interpretiert und dabei so kurz wie möglich.

Die Punktzahl für Ihre Einreichung wird wie folgt berechnet C / 2 ^ ((L - 1) / 4): "C" ist die Länge der Textdatei in Zeichen und "L" ist die Anzahl der Sprachen, in denen das Programm gültig ist. Die niedrigste Punktzahl gewinnt natürlich.

Joe Z.
quelle
1
Diese Frage ähnelt der anderen , aber in diesem Fall können Sie "Hello World" für einige Sprachen freigeben, wenn Sie dies wünschen.
Joe Z.
Muss es ein ganzes Programm sein oder nur ein gültiger Befehl?
ASCIIThenANSI

Antworten:

20
print("Hello World!")

Funktioniert zumindest in Julia, Perl, PHP, Python2, Python3, Qbasic, R, Ruby ...

Knabberzeug
quelle
1
Es funktioniert auch in R und Julia (und sicherlich in vielen anderen Sprachen).
Sven Hohenstein
2
@jdstankosky, dieser genaue Code funktioniert in PHP nicht. pastebin.com/9x6HactK
Manatwork
1
Art des Erzwingens der Grenzen, aber wir können sagen, dass es auch in JavaScript funktioniert, da einige Befehlszeileninterpreter print()Funktionen für die Ausgabe bereitstellen . pastebin.com/6fXtgFER
Manatwork
2
funktioniert auch in lua
mniip 31.12.13
1
@gnibbler, funktioniert in PHP nicht ohne die öffnenden Tags.
Tyzoid
12

JavaScript ES6, Oration , Vitsy , Minkolang score = 71.94703045766462

121 / 2^(3/4). Lustige Tatsache? Ich versuche nicht zu gewinnen, nur um so viele Sprachen wie möglich hinzuzufügen.

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

Was Vitsy sieht

"Nun, ich bin eine 1D-Sprache, also ... im Moment zählt nur die erste Zeile."

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

Danke für den Keks, Vitsy: 3

Was JavaScript ES6 sieht

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

"Mal sehen ... Du gibst die Nummer ein 222und schreibst dann etwas in einen Kommentar. Okay, klar, ich mache das schon."

shush=0

"Sie haben eine Variable erstellt. Notiert."

alert("Hello, World!")

"Ah, ich verstehe, wohin du damit gehst. Das zeige ich dir."

sorry=`
listen
capture Hello, World!`

"Oo! Eine mehrzeilige Saite! Jetzt reden wir, ES6-Regel, ES5-Geifer!"

(EOF)

"Nun, ich bin fertig. Ruhe aus."

Was Oration sieht

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

"Das war nicht in meinen Notizen ...! Am besten nichts tun."

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

"Oh, hier sind ein paar zusätzliche Notizen."

listen

"Hör mal zu..."

capture Hello, World!`

"...Hallo Welt!"

(EOF)

" denkt nix mehr! Klasse, ich bin hier fertig. atmet tief durch "

Minkolang Erklärung

(Zu faul, um eine Erzählung zu erstellen. Möglicherweise hat der Code später eine Weile gedauert.) Irrelevanter Code wurde durch ersetzt #oder weggelassen. Außerdem wurden Kommentare hinzugefügt C ... C.

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

Schicht 1, Punkt 1

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

Schicht 2, Punkt 1

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

Schicht 1, Punkt 2

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

Schicht 2, Punkt 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
Conor O'Brien
quelle
4
Mein Kind ist stolz auf Ihre Vorlage. Hier. Habe einen Keks. +1
Addison Crump
8

Score von 0,84

H

Funktioniert in H9 + und HQ9 +.

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

Timtech
quelle
1
Sie haben vergessen: HQ9 ++, HI9 +, FISHQ9 +, CHIQRSX9 +.
User75200
@ user75200 Ich schätze, diese waren 2013 nicht so beliebt
Timtech
7
'Hello World!'

Läuft in mehreren Skriptsprachen, einschließlich PHP, GolfScript, APL, ...

Howard
quelle
Auch AppleScript und Javascript :)
Tomsmeding
Wird Javascript die Anführungszeichen nicht enthalten?
Joe Z.
Dies funktioniert auch in PowerShell.
Iszi
1
Funktioniert in allen Derivaten von H9 +, außer auch in FISHQ9 +
Tornado547
1

CoffeeScript und CJam, 46/2 ^ ((2-1) / 4) = 38,68

e###
"Hello, World!"
e###alert "Hello, World!"
Benutzername.ak
quelle
1

ES8, Japt, TeaScript, C #, C ++, C, ESMin, Punktzahl: ~ 8,8

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

ES8, TeaScript und Japt sehen "Hello World!".

user75200
quelle
In Hello funktioniert es aufgrund von zusätzlichen Zeichen nicht.
User75200
Ich bin mir ziemlich sicher, dass viele dieser Sprachen (HQ9, Hello und Varianten) nicht zählen, weil sie keine "echten" Programmiersprachen sind.
KSmarts
Ja, sie sind. Das sind echte Sprachen. Aber sie können oder können nicht arbeiten. Und Hello ++ löscht Nicht-H-Zeichen. Hello ++++ verwirft alles, was nicht Teil von "Hello world!" Ist.
user75200
Nach PPCG-Standards ist dies nicht der Fall .
KSmarts
Und es gibt kein HQ9.
User75200
1

Madbrain und [die meisten BF-Derivate hier einfügen], 272 227 Byte

Nur zum Spaß posten, nicht um zu gewinnen 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[-]+[-->-[>>+>-----<<]<--<---]>-.>>>+.>>..+++.>>.>.<<<.+++.------.<<-.>>>>+.

HINWEIS: Es gibt kein TIO für Madbrain, daher müssen Sie mir in diesem Fall vertrauen. Ich habe jedoch einen (zugegebenermaßen nicht wirklich gut geschriebenen (aber hey, zumindest funktioniert es!)) Interpreter für Madbrain geschrieben, der im esolangs-Wiki zu finden ist.

Erläuterung

Madbrain sieht: (Ich schrieb diesen Code 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

Ich gebe zu, Madbrain hat den BF-Code erreicht, aber er macht nichts, also habe ich ihn hier nicht eingefügt.

Brainfuck (und viele BF-Derivate) sieht:

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

BF ignoriert alles, was nicht der Fall ist ><+-.,[], und ignoriert daher den größten Teil des Madbrain-Codes. Es gibt jedoch einige +s im Madbrain-Code (das ist, was der ++++++ist), also müssen Sie nach dem hinzufügen [-], was die aktuelle Zelle auf 0 setzt.

Der nachfolgende Code ++++++[-]ist der Code zum Drucken Hello World!.

Schütze
quelle
0

TI-BASIC und Pyth, 13/2 ^ ((2-1) / 4) = 10,93

"Hello World!

Hinweis: Nicht konkurrierende Antwort, da Pyth erstellt wurde, nachdem diese Herausforderung veröffentlicht wurde

Arcturus
quelle
Funktioniert auch in ESMin, Japt, Teascript, O usw.
Mama Fun Roll
Fühlen Sie sich frei, in jeder Sprache zu schreiben, die Sie wünschen, es spielt keine Rolle, wann es gemacht wurde.
User75200