Crie um poliglota para o Hello World


15

Produza um arquivo de texto que imprima "Hello World!" no maior número possível de linguagens de programação quando compilado / interpretado, além de ser o mais curto possível.

A pontuação da sua submissão é calculada como C / 2 ^ ((L - 1) / 4), onde "C" é o tamanho do arquivo de texto em caracteres e "L" é o número de idiomas nos quais o programa é válido. A menor pontuação ganha, é claro.


1
Esta pergunta é semelhante à outra , mas, neste caso, você pode compartilhar "Hello World" entre alguns idiomas, se desejar.
Joe Z.

Tem que ser um programa inteiro ou apenas um comando válido?
ASCIIThenANSI

Respostas:


20
print("Hello World!")

Funciona em pelo menos Julia, Perl, PHP, Python2, Python3, Qbasic, R, Ruby ...


1
Também funciona em R e Julia (e certamente em muitas outras línguas).
Sven Hohenstein

2
@jdstankosky, esse código exato não funciona em PHP. pastebin.com/9x6HactK
manatwork

1
É como forçar os limites, mas podemos dizer que também funciona em JavaScript, pois alguns intérpretes de linha de comando fornecem print()função para a saída. pastebin.com/6fXtgFER
manatwork

2
trabalha em lua também
mniip

1
@gnibbler, não funciona em PHP sem as tags de abertura.
Tyzoid

12

Pontuação no JavaScript ES6, Oration , Vitsy , Minkolang = 71.94703045766462

121 / 2^(3/4). Fato engraçado? Não estou tentando vencer, apenas para adicionar o maior número possível de idiomas.

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

O que Vitsy vê

"Bem, eu sou uma linguagem 1D, então ... por enquanto, apenas a primeira linha conta."

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

Obrigado pelo cookie, Vitsy: 3

O que o JavaScript ES6 vê

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

"Vamos ver ... Você coloca o número 222e depois coloca algo em um comentário. Tudo bem, claro, eu vou rolar com isso."

shush=0

"Você criou uma variável. Notável."

alert("Hello, World!")

"Ah, eu vejo aonde você está indo com isso. Vou mostrar isso."

sorry=`
listen
capture Hello, World!`

"Oo! Uma sequência de múltiplas linhas! Agora estamos falando, ES6 rulez, ES5 baba!"

(EOF)

"Bem, eu terminei. Paz fora."

O que a Oração vê

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

"Isso não estava nas minhas anotações ...! Melhor não fazer nada."

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

"Oh, aqui estão algumas notas extras."

listen

"Ouço..."

capture Hello, World!`

"...Olá Mundo!"

(EOF)

" pensa mais nada! Ótimo, eu terminei aqui. respira fundo "

Explicação de Minkolang

(Preguiça de criar narrativa. Pode demorar mais tarde, o código demorou um pouco.) Código irrelevante substituído #ou omitido. Além disso, acrescentou comentários C ... C.

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

Camada 1, pt 1

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

Camada 2, pt 1

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

Camada 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

Camada 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
Meu filho está orgulhoso de sua submissão. Aqui. Tenha um biscoito. +1
Addison Crump

8

Pontuação de 0,84

H

Funciona em H9 + e HQ9 +.

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


1
Você esqueceu: HQ9 ++, HI9 +, FISHQ9 +, CHIQRSX9 +.
user75200

@ user75200 Eu suponho que esses não eram tão populares em 2013
Timtech 28/17

7
'Hello World!'

Executa em várias linguagens de script, incluindo PHP, GolfScript, APL, ...


Também AppleScript e Javascript :)
tomsmeding

O Javascript não inclui as aspas?
Joe Z.

Isso funciona também no PowerShell.
Iszi

1
Obras em todos os derivados de H9 +, exceto para FISHQ9 + também
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, pontuação: ~ 8,8

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

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


Não funcionará no Hello devido a caracteres extras.
user75200

Tenho certeza de que muitos deles (HQ9, Hello e variantes) não contam porque não são linguagens de programação "reais".
KSmarts 2/11

Sim eles são. Eles são idiomas reais. Mas eles podem ou não funcionar. E o Hello ++ descarta caracteres não-h. O Hello ++++ descarta tudo que não faz parte do "Hello world!"
precisa saber é o seguinte

De acordo com os padrões do PPCG, eles não são .
KSmarts 5/11

E não há HQ9.
user75200

1

Madbrain e [insira a maioria dos derivados de BF aqui], 272 227 bytes

Apenas postando por diversão, para não ganhar 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: Não há TIO para Madbrain, então você terá que confiar em mim nesse caso. No entanto, escrevi um intérprete (reconhecidamente não muito bem escrito (mas, pelo menos, funciona!)) Para Madbrain, que está no wiki da esolangs.

Explicação

Madbrain vê: (eu escrevi esse código 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

Admito que Madbrain alcança o código BF, mas não faz nada, então não o incluí aqui.

Brainfuck (e muitos derivados BF) vê:

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

BF ignora tudo o que não é ><+-.,[], por isso ignora a maior parte do código Madbrain. No entanto, existem alguns +s no código Madbrain (é o que ++++++é), então você precisa adicionar [-]depois o que define a célula atual como 0.

O código a seguir ++++++[-]é o código para impressão Hello World!.


0

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

"Hello World!

Nota: Resposta não concorrente, pois o Pyth foi criado após o lançamento deste desafio


Também trabalha com ESMin, Japt, Teascript, O, etc.
Mama Fun rolo

Sinta-se livre para escrever em qualquer idioma que desejar, não importa quando foi feito.
user75200
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.