Bangun polyglot untuk Hello World


15

Menghasilkan file teks yang mencetak "Hello World!" dalam bahasa pemrograman sebanyak mungkin ketika dikompilasi / ditafsirkan, sementara juga sesingkat mungkin.

Skor untuk kiriman Anda dihitung sebagai C / 2 ^ ((L - 1) / 4), di mana "C" adalah panjang file teks dalam karakter dan "L" adalah jumlah bahasa di mana program ini berlaku. Skor terendah menang, tentu saja.


1
Pertanyaan ini mirip dengan yang lain ini , tetapi dalam kasus ini, Anda dapat membagikan "Hello World" di antara beberapa bahasa jika Anda mau.
— Joe Z.

Apakah harus keseluruhan program atau hanya perintah yang valid?
— ASCIIThenANSI

Jawaban:


20
print("Hello World!")

Paling tidak berfungsi di Julia, Perl, PHP, Python2, Python3, Qbasic, R, Ruby ...


1
Ini juga berfungsi dalam R dan Julia (dan tentunya dalam banyak bahasa lain).
— Sven Hohenstein

2
@ jdstankosky, kode persis itu tidak berfungsi di PHP. pastebin.com/9x6HactK
— manatwork

1
Jenis memaksa batas, tetapi kita dapat mengatakan itu berfungsi dalam JavaScript juga, karena beberapa penerjemah baris perintah menyediakan print()fungsi untuk keluaran. pastebin.com/6fXtgFER
— manatwork

2
bekerja di lua juga
— mniip

1
@gnibbler, tidak berfungsi dalam PHP tanpa tag pembuka.
— Tyzoid

12

JavaScript ES6, Orasi , Vitsy , Minkolang skor = 71,94703045766462

121 / 2^(3/4). Fakta menyenangkan? Saya tidak mencoba untuk menang, hanya untuk menambahkan bahasa sebanyak mungkin.

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

Apa yang dilihat Vitsy

"Yah, aku bahasa 1D, jadi ... untuk saat ini, hanya baris pertama yang diperhitungkan."

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

Terima kasih untuk kuki, Vitsy: 3

Apa yang dilihat JavaScript ES6

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

"Mari kita lihat ... Kamu memasukkan nomornya 222dan memasukkan sesuatu ke dalam komentar. Baiklah, tentu, aku akan melakukannya."

shush=0

"Kamu membuat variabel. Tercatat."

alert("Hello, World!")

"Ah, aku mengerti kemana kamu akan pergi dengan ini. Aku akan menunjukkannya."

sorry=`
listen
capture Hello, World!`

"Oo! Senar multiline! Sekarang kita bicara, ES6 rulez, ES5 ngiler!"

(EOF)

"Yah, aku sudah selesai. Damai keluar."

Apa yang Oration lihat

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

"Ini bukan pada catatanku ...! Sebaiknya tidak melakukan apa-apa."

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

"Oh, ini beberapa catatan tambahan."

listen

"Mendengarkan..."

capture Hello, World!`

"...Halo Dunia!"

(EOF)

" Tidak berpikir apa-apa lagi! Hebat, aku sudah selesai di sini. bernafas dalam-dalam "

Penjelasan minkolang

(Terlalu malas untuk membuat narasi. Mungkin nanti, kode butuh waktu.) Kode yang tidak relevan diganti dengan #atau dihilangkan. Juga, menambahkan komentar C ... C.

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

Layer 1, pt 1

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

Layer 2, pt 1

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

Layer 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

Layer 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
Anak saya bangga dengan kiriman Anda. Sini. Dapatkan kue. +1
— Addison Crump

8

Skor 0,84

H

Bekerja di H9 + dan HQ9 +.

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


1
Anda lupa: HQ9 ++, HI9 +, FISHQ9 +, CHIQRSX9 +.
— user75200

@ user75200 Saya rasa itu tidak sepopuler tahun 2013
— Timtech

7
'Hello World!'

Berjalan dalam beberapa bahasa skrip, termasuk PHP, GolfScript, APL, ...


Juga AppleScript dan Javascript :)
— tomsmeding

Bukankah Javascript akan menyertakan tanda kutip?
— Joe Z.

Ini berfungsi di PowerShell juga.
— Iszi

1
Bekerja di semua turunan dari H9 + kecuali untuk FISHQ9 + juga
— Tornado547

1

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

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

1

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

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

ES8, TeaScript dan Japt lihat "Hello World!".


Ini tidak akan berfungsi di Hello karena karakter tambahan.
— user75200

Saya cukup yakin banyak dari ini (HQ9, Halo, dan varian) tidak dihitung karena mereka bukan bahasa pemrograman "nyata".
— KSmarts

Ya mereka Itu bahasa nyata. Tapi mereka mungkin berhasil atau tidak. Dan Hello ++ membuang karakter non-h. Hello ++++ membuang semua bukan bagian dari "Halo dunia!"
— user75200

Menurut standar PPCG, mereka tidak .
— KSmarts

Dan tidak ada HQ9.
— user75200

1

Madbrain dan [masukkan sebagian besar turunan BF di sini], 272 227 byte

Hanya memposting untuk bersenang-senang, bukan untuk menang 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[-]+[-->-[>>+>-----<<]<--<---]>-.>>>+.>>..+++.>>.>.<<<.+++.------.<<-.>>>>+.

CATATAN: Tidak ada TIO untuk Madbrain, jadi Anda harus mempercayai saya tentang hal ini. Namun, saya menulis penerjemah (diakui tidak benar-benar ditulis dengan baik (tapi hei, setidaknya itu berhasil!)) Untuk Madbrain, yang ada di wiki esolangs.

Penjelasan

Madbrain melihat: (saya menulis kode ini 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

Saya akui, Madbrain mencapai kode BF, tetapi tidak melakukan apa-apa, jadi saya tidak memasukkannya di sini.

Brainfuck (dan banyak turunan BF) melihat:

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

BF mengabaikan semua yang tidak ><+-.,[], sehingga mengabaikan sebagian besar kode Madbrain. Namun, ada beberapa +s dalam kode Madbrain (itulah itu ++++++), jadi Anda perlu menambahkan [-]setelah itu yang menetapkan sel saat ini ke 0.

Kode setelahnya ++++++[-]adalah kode untuk dicetak Hello World!.


0

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

"Hello World!

Catatan: Jawaban yang tidak bersaing, karena Pyth dibuat setelah tantangan ini diposting


Juga berfungsi di ESMin, Japt, Teascript, O, dll.
— Mama Fun Roll

Jangan ragu untuk menulis dalam bahasa apa pun yang Anda inginkan, itu tidak penting ketika dibuat.
— user75200
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.