Merhaba Dünya için bir çoklu dil oluştur


15

"Merhaba Dünya!" olabildiğince kısa olmakla birlikte derlendiğinde / yorumlandığında mümkün olduğunca çok programlama dilinde.

Gönderdiğiniz puan şu şekilde hesaplanır; C / 2 ^ ((L - 1) / 4)burada "C", metin dosyasının metin cinsinden uzunluğu ve "L", programın geçerli olduğu dil sayısıdır. Tabii ki en düşük puan kazanır.


1
Bu soru diğerine benzer , ancak bu durumda isterseniz "Merhaba Dünya" yı bazı diller arasında paylaşabilirsiniz.
Joe Z.

Bütün bir program mı yoksa sadece geçerli bir komut mu olmalı?
ASCIIThenANSI

Yanıtlar:


20
print("Hello World!")

En azından Julia, Perl, PHP, Python2, Python3, Qbasic, R, Ruby'de çalışır ...


1
Ayrıca R ve Julia'da (ve elbette diğer birçok dilde) çalışır.
Sven Hohenstein

2
@jdstankosky, tam kod PHP'de çalışmaz. pastebin.com/9x6HactK
manatwork

1
Sınırları zorlamakla birlikte, bazı komut satırı tercümanlarının çıktı alma print()işlevi sağladığı için JavaScript'te de çalıştığını söyleyebiliriz . pastebin.com/6fXtgFER
manatwork

3
lua da çalışıyor
mniip

2
@gnibbler, açılış etiketleri olmadan PHP'de çalışmaz.
Aralık'ta Tyzoid

12

JavaScript ES6, Oration , Vitsy , Minkolang puanı = 71.94703045766462

121 / 2^(3/4). Eğlenceli gerçek mi? Kazanmaya çalışmıyorum, mümkün olduğunca çok dil eklemek için.

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

Vitsy ne görür

"Şey, ben 1D diliyim, bu yüzden ... şimdilik, sadece ilk satır önemlidir."

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

Çerez için teşekkürler, Vitsy: 3

JavaScript ES6'nın gördüğü

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

"Bir bakalım ... Numarayı koydun 222ve sonra bir şey yorumladın. Tamam, elbette, bununla birlikte gideceğim."

shush=0

"Bir değişken yarattın. Not."

alert("Hello, World!")

"Ah, bununla nereye gittiğini görüyorum. Bunu göstereceğim."

sorry=`
listen
capture Hello, World!`

"Oo! Çok satırlı bir dize! Şimdi konuşuyoruz, ES6 rulez, ES5 drools!"

(EOF)

"Şey, işim bitti. Barış dışarı."

Oration ne görür

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

"Bu benim notlarımda değildi ...! En iyisi hiçbir şey yapmamak."

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

"Ah, işte bazı ekstra notlar."

listen

"Dinleyin ..."

capture Hello, World!`

"...Selam Dünya!"

(EOF)

" Başka bir şey düşünmüyor ! Harika, burada işim bitti. derin nefes alır "

Minkolang açıklaması

(Anlatım oluşturmak için çok tembel. Daha sonra yapabilir, kod biraz zaman aldı.) Alakasız kodla değiştirildi #veya atlandı. Ayrıca, yorumlar eklendi C ... C.

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

Katman 1, pt 1

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

Katman 2, pt 1

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

Katman 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

Katman 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
Çocuğum senin sunumundan gurur duyuyor. Buraya. Bir kurabiye al. +1
Addison Crump

9

Puan 0.84

H

H9 + ve HQ9 + 'da çalışır.

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


1
Unuttun: HQ9 ++, HI9 +, FISHQ9 +, CHIQRSX9 +.
user75200

@ user75200 Bunların 2013'te bu kadar popüler olmadığını tahmin ediyorum
Timtech

8
'Hello World!'

PHP, GolfScript, APL, dahil olmak üzere çeşitli kodlama dillerinde çalışır ...


Ayrıca AppleScript ve Javascript :)
tomsmeding

Javascript tırnak içine almayacak mı?
Joe Z.

Bu PowerShell'de de çalışır.
Iszi

1
FISHQ9 + hariç tüm H9 + türevlerinde çalışır
Tornado547

1

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

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

1

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

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

ES8, TeaScript ve Japt bkz "Hello World!".


Ekstra karakterler nedeniyle Hello'da çalışmaz.
user75200

Eminim ki bunların çoğu (HQ9, Hello ve varyantlar) sayılmaz çünkü bunlar “gerçek” programlama dilleri değildir.
KSmarts

Evet öyleler. Onlar gerçek diller. Ama işe yarayıp yaramayabilirler. Ve Hello ++ h olmayan karakterleri atar. Merhaba ++++ "Merhaba dünya!"
user75200

PPCG standartlarına göre değiller .
KSmarts

Ve HQ9 yok.
user75200

1

Madbrain ve [burada en BF türevleri uç] 272 227 bayt

Sadece eğlenmek için gönderiyor, c kazanmak için değil:

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[-]+[-->-[>>+>-----<<]<--<---]>-.>>>+.>>..+++.>>.>.<<<.+++.------.<<-.>>>>+.

NOT: Madbrain için TIO yoktur, bu yüzden bana bu konuda güvenmelisiniz. Ancak, esolangs wiki'de bulunan Madbrain için (kuşkusuz iyi yazılmış değil (ama en azından işe yarıyor!)) Bir tercüman yazdım.

açıklama

Madbrain görür: (Bu kodu c yazdım :)

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

Kabul ediyorum, Madbrain BF koduna ulaşıyor, ancak hiçbir şey yapmıyor, bu yüzden buraya dahil etmedim.

Brainfuck (ve birçok BF türevi) şunları görür:

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

BF olmayan her şeyi yok sayar ><+-.,[], bu yüzden Madbrain kodunun çoğunu yok sayar . Ancak, +Madbrain kodunda bazı s vardır (olan ++++++budur), bu nedenle [-]geçerli hücreyi 0'a ayarlayan bundan sonra eklemeniz gerekir .

Sonraki kod ++++++[-], yazdırma kodudur Hello World!.


0

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

"Hello World!

Not: Bu meydan okuma gönderildikten sonra Pyth yaratıldığı için rakip olmayan cevap


Ayrıca ESMin, Japt, Teascript, O, vb. De çalışıyor.
Mama Fun Roll

İstediğiniz dilde yazmaktan çekinmeyin, ne zaman yapıldığı önemli değil.
user75200

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.