227
\$\begingroup\$

This contest is officially over, the winner is jimmy23013. Congratulations!

The challenge is to make a program that prints Hello World! to stdout. The catch is that your program must have a Levenshtein distance of 7 or less from the program in the answer submitted before yours.

How This Will Work

Below I have already submitted the first answer using Python: print("Hello World!").

The next person to answer must modify the string print("Hello World!") with up to 7 single character insertions, deletions, or substitutions so that when it is run in any language that hasn't been used so far (only Python in this case) the output is still Hello World!.

For example the second answerer might use 1 substitution (r -> u), 2 deletions (in), and 1 insertion (s) to make the string puts("Hello World!") which prints Hello World! when run in Ruby.

The third person to answer must do the same thing in a new language, but using the program of the second person's answer (e.g. puts("Hello World!")) as their starting point. The fourth answer will be in relation to the third answer and so on.

This will continue on until everyone get stuck because there is no new language the last answer's program can be made to run in by only changing 7 characters. The communal goal is to see how long we can keep this up, so try not to make any obscure or unwarranted character edits (this is not a requirement however).

Formatting

Please format your post like this:

#Answer N - [language]

    [code]

[notes, explanation, observations, whatever]

Where N is the answer number (increases incrementally, N = 1, 2, 3,...).

You do not have to tell which exact characters were changed. Just make sure the Levenshtein distance is from 0 to 7.

Rules

The key thing to understand about this challenge is that only one person can answer at a time and each answer depends on the one before it.

There should never be two answers with the same N. If two people happen to simultaneously answer for some N, the one who answered later (even if it's a few seconds difference) should graciously delete their answer.

Furthermore...

  • A user may only submit one answer per 8 hour period. i.e. Each of your answers must be at least 8 hours apart. (This is to prevent users from constantly watching the question and answering as much as possible.)
  • A user may not submit two answers in a row. (e.g. since I submitted answer 1 I can't do answer 2, but I could do 3.)
  • Each answer must be in a different programming language.
    • Different versions of the same language count as the same language.
    • Languages count as distinct if they are traditionally called by two different names. (There may be some ambiguities here but don't let that ruin the contest.)
  • You may only use tabs, newlines, and printable ASCII. (Newlines count as one character.)
  • The output should only be Hello World! and no other characters (a leading/trailing newline is not an issue).
  • If your language doesn't has stdout use whatever is commonly used for quickly outputting text (e.g. console.log or alert in JavaScript).

Please make sure your answer is valid. We don't want to realize there's a break in the chain five answers up. Invalid answers should be fixed quickly or deleted before there are additional answers.

Don't edit answers unless absolutely necessary.

Scoring

Once things settle down, the user who submits the most (valid) answers wins. Ties go to the user with the most cumulative up-votes.

Leaderboard: (out of date)

(user must have at least 2 valid answers)

11 Answers

7 Answers

6 Answers

5 Answers

4 Answers

3 Answers

2 Answers

Languages used so far:

  1. Python
  2. CJam
  3. PHP
  4. Pyth
  5. Perl
  6. Befunge 98
  7. Bash
  8. Nimrod
  9. Ruby
  10. GNU dc
  11. Golfscript
  12. Mathematica
  13. R
  14. Lua
  15. Sage
  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. Extended BF Type III
  34. Zsh
  35. Dash
  36. Clojure
  37. NetLogo
  38. Groovy
  39. CoffeeScript
  40. Clipper
  41. B.A.S.I.C.
  42. FALSE
  43. fish (shell)
  44. GNU Octave
  45. TCL
  46. E
  47. newLisp
  48. Lisp
  49. SMT-LIBv2
  50. Racket
  51. Batsh
  52. tcsh
  53. AppleScript
  54. Mouse
  55. Pixie
  56. F#
  57. Falcon
  58. Burlesque
  59. HTML
  60. SGML
  61. M4
  62. MUMPS
  63. TeX
  64. Forth
  65. Salmon
  66. Turing
  67. bc
  68. Betterave
  69. Scheme
  70. Emacs Lisp
  71. Logo
  72. AutoLISP
  73. ///
  74. Rebol
  75. Maple
  76. FreeBASIC
  77. Vimscript
  78. ksh
  79. Hack
  80. mIRC
  81. Batch
  82. Make
  83. Markdown
  84. sh
  85. GDB
  86. csh
  87. HQ9+-
  88. Postscript
  89. Matlab
  90. Oz
  91. CASIO BASIC
  92. VBScript
  93. QBasic
  94. Processing
  95. C
  96. Rust 0.13
  97. Dart
  98. Kaffeine
  99. Algoid
  100. AMPL
  101. Alore
  102. Forobj
  103. T-SQL
  104. LiveCode
  105. Euphoria
  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. Squirrel
  118. Pawn
  119. Scala
  120. Rebmu
  121. Boo
  122. PARI/GP
  123. Red
  124. Swift
  125. BeanShell
  126. Vala
  127. Pike
  128. Suneido
  129. AWK
  130. Neko
  131. AngelScript
  132. gosu
  133. V
  134. ALAGUF
  135. BogusForth
  136. Flaming Thunder
  137. Caché ObjectScript
  138. owl
  139. Cardinal
  140. Parser
  141. Grin
  142. Kitten
  143. TwoDucks
  144. Asymptote
  145. CAT
  146. IDL
  147. Tiny
  148. WTFZOMFG
  149. Io
  150. MuPAD
  151. Java
  152. Onyx
  153. JBoss
  154. S+
  155. Hexish
  156. yash
  157. Improbable
  158. wake
  159. brat
  160. busybox built-in shell
  161. gammaplex
  162. KTurtle
  163. AGOL 68
  164. Alice
  165. SML/NJ
  166. OCaml
  167. CDuce
  168. Underload
  169. Simplex v.0.6
  170. Minkolang 0.9
  171. Fexl 7.0.3
  172. Jolf
  173. Vitsy
  174. Y
  175. Retina
  176. Codename Dragon
  177. Seriously
  178. Reng v.3.3
  179. Fuzzy Octo Guacamole

(Feel free to edit these lists if they are incorrect or out of date.)

This question works best when you sort by oldest.

NOTE: This is a trial question for a new challenge type I have in mind where each answer depends on the last and increases in difficulty. Come discuss it with us in the chatroom for this question or in meta.

\$\endgroup\$
  • 61
    \$\begingroup\$ "Sort by oldest" is useful here. \$\endgroup\$ – xnor Oct 27 '14 at 6:39
  • 8
    \$\begingroup\$ chatroom for discussion on this question \$\endgroup\$ – Justin Oct 27 '14 at 7:04
  • 5
    \$\begingroup\$ @Mew HQ9+ prints the wrong message. But this one... esolangs.org/wiki/Huby \$\endgroup\$ – Sp3000 Oct 27 '14 at 13:55
  • 17
    \$\begingroup\$ Maybe this can be interesting : migl.io/projects/hw. This list automatically the answers and display their life time. \$\endgroup\$ – Michael M. Oct 27 '14 at 15:00
  • 6
    \$\begingroup\$ @gerrit Cause I could really use 350 more answer notifications... \$\endgroup\$ – Calvin's Hobbies Nov 4 '14 at 1:39

180 Answers 180

4
\$\begingroup\$

Answer 179, Fuzzy Octo Guacamole

#^.`4mrZ"#03w(*#class jux!{public static void main(String[] h){#\
#System.Console.Writeln(//@\//Hello*}}print,cat<<#*)\
#put"

#^
is~ob"Hello World!"@)
gx`#(O)X.g!)S(#X` ;}}//printputs;//-##E;]bye</>#*)`kX

Pretty standard.

Since # is a comment, most of the lines are skipped.

After removing the comments, you get this:

is~ob"Hello World!"@)
gx`

Everything after the @ is not executed, since @ is end.

is~ob"Hello World!"@

The important parts is the "Hello World!"@ which pushes and prints (implicit output).


The rest:

i is invert, s is switch. This doesn't do anything important, moves 1 to the inactive stack (invert 0 and move).

~ob negates (bitwise) pushing -1, and sets the rest ToS (as a string) to b. This basically says b now pushes -1 to the stack.

\$\endgroup\$
3
\$\begingroup\$

Answer 41 - B.A.S.I.C.

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

Distance 2 from 40

You can test it here

First 2 lines are just REMs and the question mark is interpreted as PRINT

\$\endgroup\$
  • 1
    \$\begingroup\$ Sorry, I posted an answer before you. Also, that distance is incorrect. \$\endgroup\$ – Nit Oct 27 '14 at 18:05
  • \$\begingroup\$ I'll update my answer \$\endgroup\$ – TecBrat Oct 27 '14 at 18:07
  • \$\begingroup\$ Neat, nicely done. \$\endgroup\$ – Nit Oct 27 '14 at 18:12
  • \$\begingroup\$ My testing link no longer works and in a quick search I have not yet found an online B.A.S.I.C. interpreter that accepts the hash and question marks the way I used them, but I'm almost entirely certain that this worked in MS QBasic. \$\endgroup\$ – TecBrat Aug 5 '16 at 19:13
3
\$\begingroup\$

Answer 43 - fish shell

#ah="*#[.>]trac";cat<<
#&&alert 
echo "Hello World!
"

Levenshtein distance from #42: 7 (2 removal, 3 substitutions, 2 additions)

I hope an extra newline is okay.

\$\endgroup\$
3
\$\begingroup\$

Answer 45 - TCL

#ah="*#[.>]trac";cat<<
#&&alert 
puts "Hello World!";#\

Distance 7 from #44
;#\ is useless but I wanted to make the future answer more challenging.

http://ideone.com/P0PqMd

\$\endgroup\$
  • 1
    \$\begingroup\$ What's the point of the final comment? \$\endgroup\$ – Ypnypn Oct 27 '14 at 20:52
  • 1
    \$\begingroup\$ Absolutely useless ! \$\endgroup\$ – Michael M. Oct 27 '14 at 20:54
  • 3
    \$\begingroup\$ It's only challenging for a language that doesn't use # for comments ;) \$\endgroup\$ – user4768 Oct 27 '14 at 20:55
  • 2
    \$\begingroup\$ I thought I can get if 0 [puts "Hello World!"] at some point... to make it not only challenging but also confusing. \$\endgroup\$ – jimmy23013 Oct 27 '14 at 21:39
  • 7
    \$\begingroup\$ -1 for deliberately making future answerers' job harder. Some of us are trying to do the exact opposite, because that first line is really annoying. \$\endgroup\$ – nyuszika7h Oct 27 '14 at 21:40
3
\$\begingroup\$

Answer 49 - SMT-LIBv2

;@echo o#[.>]trac";cat<<
;#&&alert 
(echo "Hello World!");\

Distance = 5

\$\endgroup\$
3
\$\begingroup\$

Answer 64 - Forth

\ %;dnl<vsh  o[.]c;cat;#&&alert" ">w "
.( Hello World!)\ bye";dnl</vsh>

Distance from Answer 63 : 7

Try it online here

\$\endgroup\$
  • \$\begingroup\$ That's too late now, and it's not a big deal, but it would have been nicer if you had edited and undeleted your previous (now deleted) answer, instead of adding a new one. There is already way too many deleted answers in that challenge. \$\endgroup\$ – plannapus Oct 28 '14 at 13:12
  • 1
    \$\begingroup\$ @plannapus - The undeleted answer still tells the older timestamp, which was earlier than 8 hrs :( \$\endgroup\$ – Optimizer Oct 28 '14 at 13:39
3
\$\begingroup\$

Answer 68 - Betterave

~#%# %;dnl<vsh  o[.]c;cat;#&&alert" ">w ".in( print ~
$"Hello World!"~ #%!#bye";dnl</vsh>~

Distance from Answer 67 : 7

\$\endgroup\$
3
\$\begingroup\$

Answer 58 - Burlesque

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

Distance 7 from answer 57.

\$\endgroup\$
3
\$\begingroup\$

Answer 89 - Matlab

%#[]([.]c;main()
    disp 'Hello World!'
%#[;]:;#bye;dnl</>

Distance: 7 to answer 88.

\$\endgroup\$
3
\$\begingroup\$

Answer 91 - CASIO BASIC

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

Distance from Answer 90 : 7

\$\endgroup\$
  • \$\begingroup\$ I can only get a distance of 8 with the language I am trying...curses! \$\endgroup\$ – archaephyrryx Oct 29 '14 at 19:17
  • 4
    \$\begingroup\$ bwahahahahahahah \$\endgroup\$ – Optimizer Oct 29 '14 at 19:20
  • \$\begingroup\$ Ack, also 8 away :/ \$\endgroup\$ – Sp3000 Oct 29 '14 at 19:34
  • 1
    \$\begingroup\$ You all just got beaten by VBScript \$\endgroup\$ – Optimizer Oct 29 '14 at 19:38
3
\$\begingroup\$

Answer 92 - VBScript

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

Distance 7 from Answer 91

\$\endgroup\$
  • \$\begingroup\$ Better if you have removed the Show... \$\endgroup\$ – jimmy23013 Oct 29 '14 at 19:43
  • \$\begingroup\$ @user23013 Unless there's a way to free up another 4 changes, I didn't really have the ability to do so :P \$\endgroup\$ – resueman Oct 29 '14 at 19:45
  • \$\begingroup\$ You can replace the Show\n with \nMsgBox. The space isn't required in VBScript. \$\endgroup\$ – jimmy23013 Oct 29 '14 at 19:46
  • \$\begingroup\$ If you have space, cleanup other stuff too! \$\endgroup\$ – Optimizer Oct 29 '14 at 19:48
  • \$\begingroup\$ Okay, I made the suggested changes. Little bit of cleanup got done \$\endgroup\$ – resueman Oct 29 '14 at 19:50
3
\$\begingroup\$

Answer 98 - Kaffeine

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

Distance: 7

Does it count if it's exactly JavaScript syntax, but technically a different language?

\$\endgroup\$
3
\$\begingroup\$

Answer 99 - Algoid

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

Distance 7 from Answer 98

\$\endgroup\$
  • \$\begingroup\$ I had no idea that print was a valid command in Algoid... I thought it was just text.output. \$\endgroup\$ – Beta Decay Oct 30 '14 at 13:25
  • \$\begingroup\$ @BetaDecay print and text.output seem to be equivalent when I run them, although they are documented under different sections in the reference page \$\endgroup\$ – Tymric Oct 30 '14 at 13:29
  • 1
    \$\begingroup\$ Well that'll help with golfing :) \$\endgroup\$ – Beta Decay Oct 30 '14 at 13:31
3
\$\begingroup\$

Answer 110 - SQLite

--#[][.]#i--#main(){puts(
select "Hello World!";
--#[;]#bye;dnl</>%

Distance 7 from Answer 109: modifed ay into el, added ect followed by a space, and ;.

\$\endgroup\$
3
\$\begingroup\$

Answer 113 - SQL (postgres)

--##[][.]#i--#main(){puts(
select'Hello World!' "
"--##[;]#bye;dnl</>%"

Distance 7 from 112

  • remove "
  • inserted carriage return before select
  • substitute " with '
  • remove carriage return," and space
  • insert ' after !
\$\endgroup\$
  • \$\begingroup\$ I didn't know the ; can be skipped in SQL... \$\endgroup\$ – plannapus Oct 31 '14 at 6:53
  • \$\begingroup\$ When I tested this in postgres it didn't seem to mind. Try it here sqlFiddle. It's probably because it's the only query \$\endgroup\$ – MickyT Oct 31 '14 at 16:11
  • \$\begingroup\$ Interesting. Thanks for the tip, that's good to know! \$\endgroup\$ – plannapus Oct 31 '14 at 16:13
3
\$\begingroup\$

Answer 116 - Opal.rb

#a/-##[][/]#i--#main(){
puts(
#sel/.*
/Hello World!/) 
#b/"-##[;]#bye;nl</>%"

Opal is a Ruby dialect compiled to Javascript. Opal's stdout points to the browser console.

Changes:

  • line comment (3x)
  • newline (2x)
  • fix puts. Putsing regexes works surprisingly well...
  • right parenthesis on L4.
\$\endgroup\$
3
\$\begingroup\$

Answer 118 - Pawn

//-##[][/]#i--#
main(){
printf(
//sel/.*
"Hello World!") 
}//"-##[;]#bye;nl</>%"

Distance from Answer 117 : 7

Try it here

\$\endgroup\$
  • 1
    \$\begingroup\$ +1 for bringing main() back again. \$\endgroup\$ – jimmy23013 Oct 31 '14 at 12:05
3
\$\begingroup\$

Answer 119 - Scala

//-##[][/]#i--#main(){
println(
//sel/.*
"Hello World!") 
//"-##[;]#bye</>%"

Distance 7 from Answer 118: deleted newline, replaced fby ln, deleted } and ;nl.

You can try it online here.

\$\endgroup\$
  • 1
    \$\begingroup\$ I like alliterations :) \$\endgroup\$ – plannapus Oct 31 '14 at 13:03
  • \$\begingroup\$ -1 for removing main() back \$\endgroup\$ – Optimizer Oct 31 '14 at 13:05
  • \$\begingroup\$ I don't get that one: isn't it here still? \$\endgroup\$ – plannapus Oct 31 '14 at 13:05
  • \$\begingroup\$ I meant back in comment ;) See this \$\endgroup\$ – Optimizer Oct 31 '14 at 13:11
  • 1
    \$\begingroup\$ @Luminous I'm afraid we don't have much time anymore \$\endgroup\$ – John Dvorak Oct 31 '14 at 17:37
3
\$\begingroup\$

Answer 126 - Vala

//#{//-##[][/
void main(){//println(;\#//sel/.*}}
print("Hello World!");
}//#;//"-##[;]#bye</>%

Distance from Answer 125 : 4

\$\endgroup\$
3
\$\begingroup\$

Answer 127 - Pike

//#clas{//-##[][/
void main(){//println(;\#//sel/.*}}
write("Hello World!");
}//#;//"-##[;]#bye</>%

Tested here.

Distance 7 from answer 126.

\$\endgroup\$
3
\$\begingroup\$

Answer 128 - Suneido

//#class{//-##[][/void main(){//println(;\#//sel/.*}}
Print("Hello World!")
//#;//"-##[;]#bye</>%

Distance 7 from answer 127: deleted newline, changed w into P, inserted n, deleted e, then ; and }, and because I'm nice I used my last one to add the last s of class.

Never heard of Suneido before today but according to the language specs, Print("...") is the print statement and // the comment chars for single line comments.

\$\endgroup\$
3
\$\begingroup\$

Answer XXX - Commodore BASIC

Verdict by @CalvinsHobbies, OP:

Sorry but as clever as this may be, PETSCII isn't ASCII. If this kind of shifting was allowed then arguably any 97 unique characters could be used. This is invalid.

...but for those who want the cleverness anyhow:


1dA//#{//-##[][/ void main(){println(;\#//sel/.*}}
2print("Hello World!");
3dA//#;//"-##[;]#bye</>%

Distance from Answer 125: 7

The "trick" comes from the fact that there are some little-known abbreviations in C64 BASIC. There's no abbreviation for REM, but it turned out dA for DATA served just as well...as long as you never try to read it!!

Technically speaking one has to bend the rules at least a little, as the Commodore 64 doesn't use ASCII...it uses PETSCII. Here is the "shifted" PETSCII equivalent. Thus a lowercase a is actually 0x41 (dec 65)...and an uppercase A maps to 0xC1 (dec 93) in the "shifted PETSCII" character set.

Next there are some characters with no exact equivalent. For instance, ASCII open brace { 0x7B (dec 123). The PETSCII standard would show that as a cross (✚). Yet if you write it directly into screen memory (as with POKE 1024,123) you get a box in the lower left, like Unicode's "quadrant lower left" character (▖). Unfortunately there are no PETSCII equivalents for the likes of [ 0x5B (dec 91)...only screen memory codes.

Hence I've substituted the screen memory equivalents into source for the codes of the five characters that have no ordinary mapping:

  • { (0x7B) => screen code 0x7B => quadrant lower left (solid) CBM+F key
  • } (0x7D) => screen code 0x7D => quadrant upper left (hollow) CBM+X key
  • [ (0x5B) => screen code 0x5B => cross bar no known key combo
  • ] (0x5D) => screen code 0x5D => vertical line SHIFT+minus key
  • \ (0x5C) => screen code 0x5C => left half filled in block CBM+J key

Because I don't actually know how on the keyboard to get the cross bar other than POKE-ing into screen memory, that's what I did. I typed the program in with a dummy character at first in the three positions where open braces existed and then wrote some poke statements as shown. You could put any character there really, but I wanted the code to be as true to the ASCII values as possible.

oh @Optimizer, have you no soul?

Voila. Of course when you're done with the POKE statements you'll have to cursor back up and hit ENTER on the code lines again so the source changes will take.

Be sure to get into shifted PETSCII mode before you run it, with CBM-shift or POKE 53272,23. How the program is produced isn't that relevant, as it could be saved and loaded, but this just gets it all on one screen.

\$\endgroup\$
  • \$\begingroup\$ This has distance 13. Please delete this ASAP. \$\endgroup\$ – Optimizer Nov 1 '14 at 5:48
  • \$\begingroup\$ You added 1dA, 2, 3dA and modified ` void ` to ]#i--# \$\endgroup\$ – Optimizer Nov 1 '14 at 5:52
  • 1
    \$\begingroup\$ @Optimizer Next time, how about assume good faith instead of ordering people to delete things. Your edit came in the midst of a post, I had to delete it to fix up and accommodate, and I copied the wrong line. \$\endgroup\$ – Dr. Rebmu Nov 1 '14 at 5:55
  • 7
    \$\begingroup\$ @Optimizer It's a little hard in a challenge where your entry came in during mine, and I had to delete it, and adjust it. The nature of the challenge is a little difficult and I assure you entering these things by hand in a commodore emulator are difficult and the reasoning is difficult. In any case, it's fixed, and for all the desperation you suggest about the importance of worrying about the efforts of others consider the effort this took which was...well, more than I'd planned to spend. It's a game. Be nicer. \$\endgroup\$ – Dr. Rebmu Nov 1 '14 at 5:59
  • 2
    \$\begingroup\$ @Dr.Rebmu Sorry but as clever as this may be, PETSCII isn't ASCII. If this kind of shifting was allowed then arguably any 97 unique characters could be used. This is invalid. \$\endgroup\$ – Calvin's Hobbies Nov 1 '14 at 6:30
3
\$\begingroup\$

Answer 131 - AngelScript

//#class{//-ta[][ 
void main(){//println(;\#//Hello*}}

print("Hello World!");}
//#;//"-##[;]#bye</>%

Distance from Answer 130 : 7

\$\endgroup\$
3
\$\begingroup\$

Answer 135 - BogusForth

"/#class jux{//-ta[][static void main(){//println(;\#//Hello*}}

print""Hello World!"i"#!puts
#;//-##[;]#bye</>%"

Distance 7 from answer 134. (5 necessary, 2 for ic in static)

\$\endgroup\$
3
\$\begingroup\$

Answer 147 - Tiny

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

Distance 7 from answer 146

  1. remove ;
  2. remove /
  3. remove /
  4. removed \n (newline) to have print on above line
  5. added # after "Hello World" to comment out the rest of the trash.
  6. u int out
  7. t in out (hoping to see that java answer)

At this point I'm just looking through EVERY language in esolangs.org... haha

\$\endgroup\$
3
\$\begingroup\$

Answer 154 - S+

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

Distance 7 from answer 153.

\$\endgroup\$
3
\$\begingroup\$

Answer 155 - Hexish

0B00class jux{public static void main(String[] h){
#System.Cont.Wrintln(//;\#//Hello*}}print,
cat('Hello World!')#;}}//print#putsx;//-##[;]#bye</>%"

Distance 7 from 154

Im going for c# now!

\$\endgroup\$
  • 1
    \$\begingroup\$ Too bad all the shells I can think of are already taken. I'd have loved to take cat<<<'Hello World!' next. \$\endgroup\$ – Christopher Creutzig Nov 5 '14 at 7:40
3
\$\begingroup\$

Answer 159 - brat

#B00class jux{public static void main(String[] h){#
#System.Console.Wrinteln(//;\//Hello*}}print,cat<<<
p "Hello World!"#` ;}}//print#putsx;//-##[;]#bye</>%"

Distance from Answer 158 - 7

2 necessary and 5 for flowing towards C#

\$\endgroup\$
  • \$\begingroup\$ Should I add two more chars to my answer so you can add them to yours? \$\endgroup\$ – Lynn Nov 6 '14 at 13:11
  • \$\begingroup\$ @nooodl Please don't edit now as it will effect the other 2 answers too. \$\endgroup\$ – Optimizer Nov 6 '14 at 13:12
3
\$\begingroup\$

Answer 160 - Busybox built-in shell

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

4 necessary changes, removed 3 characters to move towards C#.

\$\endgroup\$
  • \$\begingroup\$ Busybox uses a modified Almquist shell (git.busybox.net/busybox/tree/shell). It seems to be almost the same language as dash (the portable Almquist shell), and Dash was taken in answer 35. \$\endgroup\$ – kernigh Nov 21 '14 at 21:22
3
\$\begingroup\$

Answer 161 - Gammaplex

#class jux{public static void main(String[] h){#
#System.Console.Wrinteln(//@\//Hello*}}print,cat<<<
RrXoX"Hello World!"X` ;}}//print#putsx;//-##E;]#bye</>%"

Distance 7 from answer 160.

Despite the positions of @ and E, they are necessary. Sorry for editing late. Rollback if you already started working on this.

Gammaplex is yet another 2D language. The official interpreter will ignore all new lines, then rearrange all characters into a rectangle with the same width of the first line. The above code is like this in Gammaplex:

#class jux{public static void main(String[] h){#
#System.Console.Wrinteln(//@\//Hello*}}print,cat
<<<RrXoX"Hello World!"X` ;}}//print#putsx;//-##E
;]#bye</>%"
\$\endgroup\$
  • 2
    \$\begingroup\$ you killed the chain haha... \$\endgroup\$ – rodolphito Nov 10 '14 at 20:01
  • \$\begingroup\$ @Rodolvertice It is still possible with some Basic dialects... \$\endgroup\$ – jimmy23013 Nov 10 '14 at 22:20
  • \$\begingroup\$ @user23013 maybe you should do it, 5 Days are over and the required wait time is only 8 hours. \$\endgroup\$ – Sebb Nov 11 '14 at 17:38
  • \$\begingroup\$ There cant be 2 answers in a row by the same person. \$\endgroup\$ – rodolphito Nov 11 '14 at 18:44

Not the answer you're looking for? Browse other questions tagged or ask your own question.