Побудуйте поліглот для Hello World


15

Створіть текстовий файл, який друкує "Hello World!" якомога більше мов програмування при компілюванні / інтерпретації, при цьому також є якомога коротшим.

Оцінка за ваше подання обчислюється як C / 2 ^ ((L - 1) / 4), де "C" - це довжина текстового файлу символами, а "L" - кількість мов, на які діє програма. Звичайно, найнижчий бал виграє.


1
Це питання схоже на це інше , але в цьому випадку ви можете поділитися "Hello World" серед деяких мов, якщо хочете.
Джо З.

Чи повинна це бути ціла програма або лише дійсна команда?
ASCIIThenANSI

Відповіді:


20
print("Hello World!")

Працює щонайменше у Julia, Perl, PHP, Python2, Python3, Qbasic, R, Ruby ...


1
Він також працює у R та Julia (і, безумовно, у багатьох інших мовах).
Свен Гогенштайн

2
@jdstankosky, точний код не працює в PHP. pastebin.com/9x6HactK
manatwork

1
Вигляд форсування обмежень, але можна сказати, що він працює і в JavaScript, оскільки деякі інтерпретатори командного рядка забезпечують print()функцію виведення. pastebin.com/6fXtgFER
manatwork

2
працює і в
Луї

1
@gnibbler, не працює в PHP без відкриття тегів.
Тизоїд

12

JavaScript ES6, Oration , Vitsy , Minkolang оцінка = +71,94703045766462

121 / 2^(3/4). Кумедний факт? Я не намагаюся перемогти, просто додати якомога більше мов.

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

Що бачить Віті

"Ну, я є одноденною мовою, тому ... наразі рахується лише перший рядок".

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

Дякую за печиво, Vitsy: 3

Що бачить JavaScript ES6

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

"Давайте подивимось ... Ви ставите номер, 222а потім щось додаєте до коментаря. Добре, звичайно, я пройдуся з цим".

shush=0

"Ви зробили змінну. Помічено."

alert("Hello, World!")

"Ах, я бачу, куди ти йдеш із цим. Я покажу це".

sorry=`
listen
capture Hello, World!`

"Oo! Багаторядкова рядок! Тепер ми говоримо, ES6 rulez, ES5 drools!"

(EOF)

"Ну, я закінчив. Мир".

Що бачить Орація

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

"Це не було в моїх записках ... Найкраще нічого не робити".

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

"О, ось кілька додаткових записок".

listen

"Слухай ..."

capture Hello, World!`

"...Привіт Світ!"

(EOF)

" більше нічого не думає ! Чудово, я тут закінчую. Дихаю глибоко "

Мінколанг пояснення

(Занадто ліниво створювати розповідь. Можливо, пізніше це зробить час.) Невідповідний код замінено на #або пропущено. Також додали коментарі C ... C.

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

Шар 1, пт 1

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

Шар 2, пт 1

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

Шар 1, пт 2

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

Шар 2, пт 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
Моя дитина пишається вашим поданням. Ось Майте печиво. +1
Addison Crump

8

Оцінка 0,84

H

Працює в H9 + і HQ9 +.

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


1
Ви забули: HQ9 ++, HI9 +, FISHQ9 +, CHIQRSX9 +.
користувач75200

@ user75200 Я здогадуюсь, що вони не були такими популярними ще у 2013 році
Timtech

7
'Hello World!'

Працює декількома мовами сценаріїв, включаючи PHP, GolfScript, APL, ...


Також AppleScript та Javascript :)
tomsmeding

Чи не включатиме Javascript цитати?
Джо З.

Це працює і в PowerShell.
Іссі

1
Працює у всіх похідних H9 +, крім FISHQ9 + теж
Tornado547


1

ES8, Japt, TeaScript, C #, C ++, C, ESMin, оцінка: ~ 8.8

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

ES8, TeaScript і Japt див "Hello World!".


Він не працюватиме в Hello, завдяки додатковим символам.
користувач75200

Я впевнений, що багато з них (HQ9, Hello і варіанти) не враховуються, оскільки вони не "справжні" мови програмування.
KSmarts

Так, вони. Вони справжні мови. Але вони можуть чи не можуть працювати. І Hello ++ відкидає символи, що не належать до ч. Привіт ++++ відкидає все, що не входить у "Привіт, світ!"
користувач75200

Відповідно до стандартів PPCG, їх немає .
KSmarts

І немає штабу.
користувач75200

1

Мадбрейн і [вставте сюди більшість похідних BF], 272 227 байт

Просто розміщуйте для розваги, а не для перемоги 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[-]+[-->-[>>+>-----<<]<--<---]>-.>>>+.>>..+++.>>.>.<<<.+++.------.<<-.>>>>+.

ПРИМІТКА: Для Madbrain немає TIO, тому вам доведеться мені довіряти. Однак я написав (правда, не дуже добре написаний (але, принаймні, це працює!)) Інтерпретатор для Madbrain, який є на wiki esolangs.

Пояснення

Мадбрейн бачить: (Я написав цей код 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

Зізнаюся, Медбрейн доходить до коду BF, але він нічого не робить, тому я сюди не включив.

Brainfuck (і багато похідних BF) бачить:

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

BF ігнорує все, що ні ><+-.,[], тому ігнорує більшість коду Медбрайна. Однак +у коді Мадбрайна є деякі s (ось що ++++++є), тому вам потрібно додати[-] після цього, який встановлює поточну комірку на 0.

Код після ++++++[-]- код для друку Hello World!.


0

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

"Hello World!

Примітка. Відповідь, що не конкурує, оскільки Pyth був створений після публікації цього виклику


Також працює в ESMin, Japt, Teascript, O тощо.
Mama Fun Roll

Не соромтеся писати будь-якою мовою, яку ви хочете, це не важливо, коли це було зроблено.
користувач75200
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.