Evolução do "Olá Mundo!"


226

Este concurso terminou oficialmente, o vencedor é jimmy23013 . Parabéns!

O desafio é criar um programa que imprima Hello World!em stdout. O problema é que seu programa deve ter uma distância de Levenshtein igual ou inferior a 7 do programa na resposta enviada antes da sua.

Como isso funcionará

Abaixo eu já apresentaram a primeira resposta utilizando Python: print("Hello World!").

A próxima pessoa a responder deve modificar a sequência print("Hello World!")com até 7 inserções, exclusões ou substituições de caracteres únicos, para que, quando executada em qualquer idioma que não tenha sido usado até o momento (apenas Python neste caso), a saída seja parada Hello World!.

Por exemplo, o segundo atendedor pode usar 1 substituição ( r -> u), 2 exclusões ( in) e 1 inserção ( s) para criar a sequência puts("Hello World!")que é impressa Hello World!quando executada no Ruby.

A terceira pessoa a responder deve fazer a mesma coisa em um novo idioma, mas usando o programa da resposta da segunda pessoa (por exemplo puts("Hello World!")) como ponto de partida. A quarta resposta será em relação à terceira resposta e assim por diante.

Isso continuará até que todos fiquem presos, porque não há um novo idioma para o programa da última resposta ser executado, alterando apenas 7 caracteres. O objetivo da comunidade é ver quanto tempo podemos manter isso; portanto, tente não fazer edições de caráter obscuras ou injustificadas (no entanto, isso não é um requisito).

Formatação

Formate sua postagem assim:

#Answer N - [language]

    [code]

[notes, explanation, observations, whatever]

Onde N é o número da resposta (aumenta incrementalmente, N = 1, 2, 3, ...).

Você não precisa dizer quais caracteres exatos foram alterados. Apenas verifique se a distância de Levenshtein é de 0 a 7.

Regras

O principal a entender sobre esse desafio é que apenas uma pessoa pode responder de cada vez e cada resposta depende da resposta anterior .

Nunca deve haver duas respostas com o mesmo N. Se duas pessoas responderem simultaneamente para algum N, quem responder mais tarde (mesmo que haja uma diferença de alguns segundos) deve excluir graciosamente a resposta.

Além disso...

  • Um usuário pode enviar apenas uma resposta por período de 8 horas. Cada uma das suas respostas deve ter pelo menos 8 horas de intervalo. (Isso evita que os usuários assistam constantemente à pergunta e respondam o máximo possível.)
  • Um usuário não pode enviar duas respostas seguidas. (por exemplo, desde que eu enviei a resposta 1, não posso responder 2, mas poderia fazer 3.)
  • Cada resposta deve estar em uma linguagem de programação diferente.
    • Versões diferentes do mesmo idioma contam como o mesmo idioma.
    • Os idiomas contam como distintos se forem tradicionalmente chamados por dois nomes diferentes. (Pode haver algumas ambiguidades aqui, mas não deixe que isso estrague o concurso.)
  • Você só pode usar guias, novas linhas e ASCII imprimível . (As novas linhas contam como um caractere.)
  • A saída deve ter apenas Hello World!e nenhum outro caractere (uma nova linha inicial / final não é um problema).
  • Se seu idioma não possui stdout, use o que é comumente usado para gerar rapidamente texto (por exemplo, console.logou alertem JavaScript).

Verifique se a sua resposta é válida. Não queremos perceber que há uma quebra na cadeia com cinco respostas. Respostas inválidas devem ser corrigidas rapidamente ou excluídas antes que haja respostas adicionais.

Não edite respostas, a menos que seja absolutamente necessário.

Pontuação

Quando as coisas se acalmam, o usuário que envia as respostas mais válidas ganha. Os laços vão para o usuário com os votos acumulados mais cumulativos.

Classificação: (desatualizada)

(o usuário deve ter pelo menos 2 respostas válidas)

11 respostas

7 respostas

6 respostas

5 respostas

4 respostas

3 respostas

2 respostas

Idiomas usados ​​até o momento:

  1. Pitão
  2. CJam
  3. PHP
  4. Pyth
  5. Perl
  6. Befunge 98
  7. Bater
  8. Nimrod
  9. Rubi
  10. GNU dc
  11. Golfscript
  12. Mathematica
  13. R
  14. Lua
  15. Sábio
  16. Julia
  17. Scilab
  18. Javascript
  19. VHDL
  20. HyperTalk
  21. Haskell
  22. LOLCODE
  23. APL
  24. M30W
  25. Stata
  26. TI-BASIC (NSpire)
  27. ActionScript 2
  28. J
  29. PowerShell
  30. K
  31. Visual FoxPro
  32. VBA
  33. BF estendida Tipo III
  34. Zsh
  35. Traço
  36. Clojure
  37. NetLogo
  38. Groovy
  39. CoffeeScript
  40. Clipper
  41. BASIC
  42. FALSO
  43. peixe (concha)
  44. Oitava GNU
  45. TCL
  46. E
  47. newLisp
  48. Lisp
  49. SMT-LIBv2
  50. Raquete
  51. Batsh
  52. tcsh
  53. AppleScript
  54. Rato
  55. Duende
  56. F #
  57. Falcão
  58. Burlesque
  59. HTML
  60. SGML
  61. M4
  62. CAXUMBA
  63. TeX
  64. Adiante
  65. Salmão
  66. Turing
  67. bc
  68. Betterave
  69. Esquema
  70. Emacs Lisp
  71. Logotipo
  72. AutoLISP
  73. ///
  74. Rebol
  75. Bordo
  76. FreeBASIC
  77. Vimscript
  78. ksh
  79. Hack
  80. mIRC
  81. Lote
  82. Faço
  83. Markdown
  84. sh
  85. GDB
  86. csh
  87. HQ9 + -
  88. Postscript
  89. Matlab
  90. Oz
  91. CASIO BASIC
  92. VBScript
  93. QBasic
  94. Em processamento
  95. C
  96. Ferrugem 0,13
  97. Dardo
  98. Kaffeine
  99. Algoid
  100. AMPL
  101. Alore
  102. Forobj
  103. T-SQL
  104. LiveCode
  105. Euforia
  106. SpeakEasy
  107. MediaWiki
  108. SmallBASIC
  109. REXX
  110. SQLite
  111. TPP
  112. Geom ++
  113. SQL (postgres)
  114. itflabtijtslwi
  115. RegXy
  116. Opal.rb
  117. Esquilo
  118. Penhor
  119. Scala
  120. Rebmu
  121. Vaia
  122. PARI / GP
  123. Vermelho
  124. Rápido
  125. BeanShell
  126. Vala
  127. Pique
  128. Suneido
  129. AWK
  130. Neko
  131. AngelScript
  132. gosu
  133. V
  134. ALAGUF
  135. BogusForth
  136. Trovão flamejante
  137. Objeto Caché
  138. coruja
  139. Cardeal
  140. Analisador
  141. Sorrir
  142. Gatinho
  143. TwoDucks
  144. Assíntota
  145. GATO
  146. IDL
  147. Muito pequeno
  148. WTFZOMFG
  149. Io
  150. MuPAD
  151. Java
  152. Ônix
  153. JBoss
  154. S +
  155. Hexish
  156. yash
  157. Improvável
  158. despertar
  159. pirralho
  160. shell embutido do busybox
  161. gammaplex
  162. KTurtle
  163. AGOL 68
  164. Alice
  165. SML / NJ
  166. OCaml
  167. CDuce
  168. Sob carga
  169. Simplex v.0.6
  170. Minkolang 0.9
  171. Fexl 7.0.3
  172. Jolf
  173. Vitsy
  174. Y
  175. Retina
  176. Codinome Dragão
  177. A sério
  178. Reng v.3.3
  179. Fuzzy Octo Guacamole

Sinta-se à vontade para editar essas listas se estiverem incorretas ou desatualizadas.

Essa pergunta funciona melhor quando você classifica pela mais antiga .

NOTA: Esta é uma pergunta de teste para um novo tipo de desafio que tenho em mente, onde cada resposta depende da última e aumenta em dificuldade. Venha discutir isso conosco na sala de bate-papo para esta pergunta ou na meta .


61
"Classificar por mais antigo" é útil aqui.
Xnor


5
O @Mew HQ9 + imprime a mensagem errada. Mas este aqui ... esolangs.org/wiki/Huby
Sp3000

17
Talvez isso possa ser interessante: migl.io/projects/hw . Esta lista automaticamente as respostas e exibe seu tempo de vida .
Michael M.

6
@gerrit Porque eu poderia realmente usar mais de 350 notificações resposta ...
Calvin Hobbies

Respostas:


29

Resposta 85 - GDB (GNU Debugger)

#[]([.]c;main()&alert"  "
    echo Hello World!
#[;]:;#bye;dnl</vsh>

Eu acho que isso também pode ser qualificado como uma linguagem de programação. Tem pares ife whilecomandos .

echo é outro comando integrado no GDB.

Para executar este código:

gdb --batch -x file

Distância: 7 da resposta 84 .


Revise sua resposta, a 85 era uma resposta inválida (eu não percebi que o idioma havia sido usado antes) e a excluí.
Nit

Algum link para o GDB?
Optimizer

11
@Optimizer gnu.org/software/gdb O depurador do Gnu.
jimmy23013

É como executar o projeto java no Eclipse, em vez do Netbeans
Optimizer

3
Esta resposta está boa. O GDB possui uma linguagem de comando usada para executar comandos de depuração específicos. Isso é feito executando o GDB no modo em lote e especificando o arquivo de comando usando --batch -x <file>. Esta é uma linguagem legítima. Veja aqui: sourceware.org/gdb/onlinedocs/gdb/Mode-Options.html ( -batch flag)

50

Resposta 1 - Python

print("Hello World!")

Deve haver dezenas de idiomas nos quais isso pode se transformar.


113
Por que isso está sendo votado, mas não é a questão? Eu garanto que a pergunta foi mais difícil de escrever;)
Calvin's Hobbies

91
Por que seu comentário está sendo votado com mais votos do que sua resposta?
tomsmeding

23
@ Calvin'sHobbies Resposta upvotes valem mais, você não deve queixar-se :-)
Angew

30
@ tom Por que seu comentário está sendo votado com mais votos do que esta resposta?
Nicael 30/10/2014

24
^ Todos eles lamentam que não haja representante concedido pelos votos positivos do comentário!
Optimizer

46

Resposta 59 - HTML

O que? No HTML ??

<echo o[.]c;cat<<;#&&alert" ">Hello World!</vsh

Distância da resposta 58 : 6

Magia Vodu? Nah. Aqui está como funciona:

Você pode ter qualquer tag arbitrária em HTML; portanto, a primeira parte <echo o[.]c;cat<<;#&&alert" ">é uma echotag, que agora se torna uma tag em branco sem CSS aplicado por padrão pelo navegador.

A o[.]c;cat<<;#&&alert" "peça é na verdade duas propriedades definidas nessa tag separadas por espaço. Portanto, a primeira propriedade possui a chave o[.]c;cat<<;#&&alert"e a segunda chave é "e ambos os valores estão em branco.

A segunda parte é apenas texto simples, Hello World!que é o conteúdo do texto da echotag.

Em seguida, o HTML tenta encontrar a echomarca de fechamento , mas, em vez disso, encontra uma vshmarca de fechamento . Em seguida, ignora a vshmarca de fechamento (ou seja </vsh) e fecha automaticamente a echomarca.


2
O @MAKZ HTML é bastante gratuito e solto. Você pode ter tags de fechamento de abertura incomparáveis ​​e quais não. XHTML é bastante rigoroso. O w3schools é um bom ponto de partida.
Otimizador

3
Você pode ter qualquer tag em HTML, então eco é uma tag normal. o[.]c;cat<<;#&&alert"é uma propriedade nessa tag e a última "é outra propriedade nessa tag. Você também pode ver isso usando a ferramenta de desenvolvedor do Inspector.
Otimizador

3
Muito esperto. Nunca teria pensado nisso.
precisa

15
Eu acho que é isso que acontece quando você lê documentos de normas às 3 da manhã, enquanto estiver no peyote.
David Conrad

5
@Optimizer Leitura obrigatória para as pessoas que recomendam o w3schools. ;)
Martin Ender

39

Resposta 95 - C

//[]([.]c;
main()    {
    puts("Hello World!");}
//#[;]#bye;dnl</>

Distância 7 da resposta 94


39
Sangrento finalmente.
Nit

@Optimizer Não recebi nenhum tipo de erro de execução usando o gcc 4.7.2 no meu computador.
Archaephyrryx 29/10

11
@Emil Just vim auto-indentação; Chamado de OP sobre o que fazer sobre isso (se ele progride muito zoom para corrigir, você pode apenas fingir que é um guia e fazer a distância 7)
archaephyrryx

11
@ user23013 Porque o programa não especifica intcomo o tipo de retorno maine na verdade não retorna um código de saída; portanto, o código de retorno é um comportamento tecnicamente indefinido, portanto, o 13.
Qix

11
Algumas das respostas anteriores (a partir de 85 GDB) fez um trabalho extra para se preparar para C.
kernigh

29

Resposta 22 - LOLCODE

VISIBLE "Hello World!"

Distância: 6


Parece que a distância de 6 a mim - eliminar p, ut-> VI, tr-> IB, n->E
isaacg

11
Obrigado. Acho que copiei código diferente ao calcular a distância.
Snack

28

Resposta 151 - Java

//#
class jux{public static void main(String[] h){System.out.println(//;\#//Hello*}}print,
"Hello World!");}}//print"putsx;//-##[;]#bye</>%"

Distância da resposta 150 : 7

Experimente aqui

(Obrigado a Christopher Creutzig por ser um esporte assim :))


3
Agora, a resposta em C #!
Rodolphito #



21

Resposta 11 - Golfscript

#[puts "\x48]
"Hello World!"

Uma distância de 5.


21

Resposta 83 - Remarcação

O que ?? Sem remarcação? : P

[](#[.]c;cat;#&&alert"  "
    @echo)Hello World!
[;]:;#bye;dnl</vsh>

Experimente aqui

Distância da resposta 82 : 7

e   -> [
:   -> ]
\n  -> (
o H -> o)H
:   -> [
#   -> ]
"   -> :

Magia de vodu ?? Nah !! Aqui está como funciona:

  • [text](link) cria um link.

Portanto, a primeira parte do código é

[](#[.]c;cat;#&&alert"  "
        @echo)

O que cria um link de texto vazio com o local

#[.]c;cat;#&&alert"  "
     @echo
  • A próxima parte Hello World!é impressa como está

  • Em seguida, [;]:;#bye;dnl</vsh>cria um link de referência para o ;qual pode ser usado em qualquer lugar da remarcação.

Ex:

[Some text][;] // Outputs a link with text "Some text" and url ";#bye;dnl</vsh>"

11
Está ficando questionável se é uma linguagem de programação . (Mesmo para o HTML, na verdade.) #
9788 Martin Ender

11
Bem, se HTML é uma linguagem, Markdown também. É a mesma relação entre JS e Closure. Além disso, dado esse desafio (1 lang por ano), essas regras devem ser um pouco mais soltas.
Optimizer

11
Como eu disse, não acho que o HTML seja uma linguagem de programação para nossos padrões. Mas, para o propósito desse desafio em particular, provavelmente é bom afrouxar essas regras (mas, idealmente, os Hobbies de Calvin devem afirmar isso).
Martin Ender

4
Podemos ter essa discussão em outro lugar, e não na minha resposta? :)
Otimizador

2
Ainda é impressionante
Fabinout


18

Resposta 12 - Mathematica

#[puts];
"Hello World!"

Distância de 7. Tentando esclarecer um pouco dessa bagunça.



15

Resposta 19 - VHDL

report "Hello World!";

Distância: 6


11
uau :) ........ teimoso hein?
MAKZ

3
Haha, eu estive esperando por uma questão de golfe código que me permite usar uma HDL: p

15

Resposta 6 - Befunge 98

<@,kb"Hello World!"

Distância de 5 da resposta anterior . Havia originalmente um bug em que o knão estava lá; Eu sei que estava lá quando escrevi este programa. Eu acho que ele simplesmente não entrou neste post.


Eu deveria ter inflado isso, mas tudo bem.
Justin

Eu só vou postar resposta 7 baseado na versão inflada ...
jimmy23013

6
@Quincunx Eu não posso imaginar que alguma vez possamos chegar a System.out.println...
Sp3000

4
@ Sp3000 Em primeiro lugar, podemos escrever o programa Java em um comentário. Em seguida, transforme todo o resto em um comentário.
jimmy23013

4
Eu tinha considerado permitir várias respostas por resposta para que ela pudesse se ramificar como uma árvore. Então vocês poderiam seguir sua pequena tangente Java. Isso seria confuso demais ...
Calvin's Hobbies

14

Resposta 23 - APL

 "Hello World!"

Observe que há um espaço à frente.
Distância: 7


2
o Wdeve ser capitalizado para imprimir "Olá mundo!".

13

Resposta 3 - PHP

<?="Hello World!"?>

Esta resposta está a uma distância de 5 da segunda resposta .


Observe que a string "Hello World!"literalmente, que é obviamente a distância 0 da resposta 2, é um programa PHP válido que gera a string necessária, e a declaração de impressão explícita é desnecessária.
hijarian 28/10

@ hijarian: Isso é verdade apenas para o shell PHP, o que o torna inválido para esse desafio.
Dennis

11
@Dennis Se você escrever um script helloworld.phpe colocar os 12 símbolos Hello World!nele e executar esse script php helloworld.php, será Hello World!impresso no stdout, pois o PHP tratará tudo fora das <?php ?>instruções de processamento como texto bruto para saída.
hijarian

Percebi que você precisará remover aspas (o que torna a distância 2 de Levenstein) para ser totalmente compatível.
hijarian

4
@Petah Então? Este não é um código de golfe. Não devemos torná-lo o mais curto ou mais fácil possível.
PurkkaKoodari

13

Resposta 28 - J

]trace=:('Hello World!')

Distância = 5 da resposta 27


11
]+ =+ :+ '+ '= 5, certo?

3
Certo. Perdeu a rapidez ... Esse tipo de pergunta certamente adiciona uma sensação em tempo real aos desafios de código: P.
jpjacobs

uma das notações mais estranhas para uma linguagem com um nome tão simples ...
CoDEmanX

E J poderia ter sido a resposta 2, excluindo a impressão e substituindo a dupla por aspas simples, terminando com ('Hello World!').
precisa saber é o seguinte

13

Resposta 33 - BF estendida Tipo III

a#="*#[.>]trac": "@Hello World!

Distância 7 de Resposta 32

Bem, eu não encontrei um intérprete para essa extensão, mas o código parece se encaixar nas especificações da linguagem.

a //ignored
#="*# //comment
[.>] //print each character until an empty cell
trac" //ignored
: //move pointer, do not impact result
 " //ignored
@ //end of source
Hello World! //Injected in cells before execution

11
Só para você saber, a resposta acima é inválida, pois tem uma distância de 8. Isso deve ser corrigível removendo alguns espaços, portanto, você pode querer corrigir o seu depois que o outro cara o fizer.
Scimonster

11
Está corrigido. Me desculpe.
precisa

11
Minha resposta também é fixa.
Michael M.

11
Eu tenho uma bem arrumada para isso, mal posso esperar pelo cronômetro de 8 horas.
Nit



12

Resposta 14 - Lua

#[put
print("Hello World!")

Distância = 7


8
E estamos de volta ao começo, bom trabalho.
Nit

oi @ Timmy, desculpe, mas tive que mudar minha resposta de impressão para gato.
Mark Gabriel

12

Resposta 21 - Haskell

putStrLn "Hello World!"

Distância: 7


4
Eu sou o único que acha que a versão de Haskell printé mais diferente que a de LOLCODE?
Pharap

5
@Pharap: A versão de Haskell printé chamada print, e faz algo bastante confuso: imprima algum valor, de qualquer tipo - mas em notação válida de Haskell! Então print 5produz 5como produto e print "Hello World!"produz "Hello World!"; mas o desafio solicitado Hello World, sem aspas (o que não seria válido, Haskell).
deixou de girar contra-

3
@Pharap actually Na verdade, ele não funciona com nenhum tipo, apenas com Showtipos capazes.
deixou de girar contra-

11
@leftaroundabout Bem, suum cuique pulchrum est suponho.
Pharap

@ceasedtoturncounterclockwisdata W=World;data H=Hello W; Hello World
Esolanging Fruit

12

Resposta 26 - TI-BASIC (NSpire)

Disp "Hello World!"

Distância: 5 da resposta 25

(Testado em uma calculadora TI-NSpire)


2
Vejo que você tem uma calculadora NSpire; isso deve ser anotado no título, pois a TI-83/84 / + / SE não possui letras minúsculas.
Timtech 27/10/14

2
@ Timtech Eles realmente têm letras minúsculas. Se você possui o MirageOS ou outro sistema operacional personalizado, é possível ativá-los. Aqui está uma captura de tela de um programa que escrevi há pouco tempo e que usa letras minúsculas.
wchargin

12

Resposta 100 - AMPL

#[][.]#i
#main()    {
    print("Hello World!");
#[;]#bye;dnl</>

Distância 6 de Resposta 99


8
WOOO. # 100! Tenha 10 repetições.
Kaz Wolfe

11

Resposta 7 - Bash

echo Hello World!

Esta é uma distância de 7 da sexta resposta .


11
Uma distância fraca zero daqui seria Lote .... Rápido @RandomUserViewingThisComment, vá postá-lo!
27614 Justin

@Quincunx Distância 1 com o @personagem.
jimmy23013

@ user23013 Bom argumento; Estou muito pouco familiarizado com o Lote ... Mas funcionaria na linha de comando.
Justin

@Quincunx Ou será impresso \nX:\Your\Working\Directory>echo Hello World!\nHello World!em um script. Ou eu deveria dizer \r\npara \n.
jimmy23013

@ user23013 Oh, isso faz sentido.
Justin

11

Resposta 29 - MS Windows Powershell

#]trace=:(
'Hello World!'

Distância = 3 da resposta 28


3
Na verdade, gostei de como o smiley de cabelo punk apareceu ... = :(
agtoever 28/10

2
A partir daí, as respostas acumulam lixo (geralmente comentado). A resposta 85 (GDB) adicionou um "principal", e as respostas chegaram a C e depois a Java.
kernigh

11

Resposta 42 - FALSO

{#ah="*#[.>]trac";cat<<@
#&&alert 
?} "Hello World!
"

A distância de Levenshtein do número 41 é 7. Testada com esta implementação online do FALSE. Eu usei alguns slots de distância de edição restantes para remover algumas cruft ...


Eu deveria ter limpado um pouco desse lixo, mas não posso agora. Eu quebraria a corrente.
TecBrat


11

Resposta 150 - MuPAD

//#class jux{public static void main(String[] h){System.out.println(;\#//Hello*}}print,
"Hello World!"//print"putsx;//-##[;]#bye</>%"

Distância 6 da resposta 149 .

EDIT : Adicionado "h" para mover a corrente para frente.


Ah ... Se você pudesse apenas colocar um hapós String[], a próxima resposta seria em Java;)
Optimizer

2
No interesse de obter uma longa cadeia, acho que vou trapacear e editar isso agora. ;-)
Christopher Creutzig 4/11/2014

10

Resposta 30 - K

/#]trac
"Hello World!"

Distância: 7 da resposta 29

Eu acho que isso funciona, um intérprete está aqui (Kona) . /inicia um comentário de uma linha em K. Limpei um pouco da #]trace=:(bagunça.

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.