Evolution of "Hello World!"

228

56

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
  180. 05AB1E

(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.

Calvin's Hobbies

Posted 2014-10-27T06:23:12.927

Reputation: 86 100

@Calvin'sHobbies I think user23013 has more answers, so he is a clear winner here. You can give the bounty to him if you can do me a favor and help me in getting the Populist badge :) Simply accept any of his answer with upvotes > 10 but < 18 – Optimizer – 2015-01-05T23:22:17.183

@Optimizer Very Well, seems like a fair request. – Calvin's Hobbies – 2015-01-06T04:33:36.400

There's a very minor typo- 'Guacamolea' – Matthew Roh – 2017-03-19T15:43:33.883

2I can already see it's going to be really difficult to get a Whitespace answer in here. – Tal – 2014-10-27T06:29:55.307

The only problem I can see with this type of challenge is that it might encourage incremental answer - post an incomplete answer, then edit it to be a proper answer shortly after... – Sp3000 – 2014-10-27T06:39:05.773

61"Sort by oldest" is useful here. – xnor – 2014-10-27T06:39:15.287

@Sp3000 True, but I think that would fall under the "standard loophole" category. – Calvin's Hobbies – 2014-10-27T06:40:38.823

I'm not convinced you're going to get anything interesting here. It's hard to do anything except your language's print command followed by "Hello world." Maybe silly changes like "Hello"+" world". But we'll see... – xnor – 2014-10-27T06:40:51.723

How will you know that things got settled down ? :P – Optimizer – 2014-10-27T06:42:33.417

@Quincunx If someone has posted after you already, then no. – Optimizer – 2014-10-27T06:43:08.077

@Quincunx You can but if it is valid it would be better if you didn't. – Calvin's Hobbies – 2014-10-27T06:43:24.370

@xnor That's quite possible. I was trying to make this a lot more interesting but I couldn't think of anything good. I believe this kind challenge could have potential if it asked for the right things. – Calvin's Hobbies – 2014-10-27T06:48:28.127

@Optimizer See? Things have already settled...for 8 hours at least :P – Calvin's Hobbies – 2014-10-27T06:51:55.680

@Calvin'sHobbies - More new users can still answer. Specially the main ones are still sleeping ;) – Optimizer – 2014-10-27T06:52:51.200

8chatroom for discussion on this question – Justin – 2014-10-27T07:04:19.013

4I was hoping to do some HQ9+ here, but... That may be hard. – Kaz Wolfe – 2014-10-27T09:08:49.723

Does changing capitalization increase the distance? – Etheryte – 2014-10-27T09:42:12.237

1@Nit Yes, H and h are still different characters. – Calvin's Hobbies – 2014-10-27T09:43:23.440

Thanks, @Calvin'sHobbies. The answers are coming in so fast that it's hard to get one in. – Etheryte – 2014-10-27T09:57:24.213

5

@Mew HQ9+ prints the wrong message. But this one... http://esolangs.org/wiki/Huby

– Sp3000 – 2014-10-27T13:55:56.400

17

Maybe this can be interesting : http://migl.io/projects/hw/. This list automatically the answers and display their life time.

– Michael M. – 2014-10-27T15:00:30.373

@Mig that's neat. but it seems there is a problem with the times given: one would assume they would be increasing (from one answer to the next), or am I wrong? – plannapus – 2014-10-27T15:14:51.240

@plannapus, this is the time elapsed until a next answer is posted. – Michael M. – 2014-10-27T15:30:31.270

@Mig yes I understood that, but then Next Answer = previous answer + 8hours, no? – plannapus – 2014-10-27T15:31:06.903

Does it have to be stdout? That pretty much makes a TeX answer impossible. :( – nyuszika7h – 2014-10-27T18:42:44.577

TeX does have stdout via the \typeout macro, but the cost is too big. – nyuszika7h – 2014-10-27T19:31:30.083

@nyuszika7h Well, it's only slightly too big. With the right previous answer it could work. – Calvin's Hobbies – 2014-10-27T19:34:26.560

What do you think about the idea of allowing new answers per user once every n answers in addition to the time limit? Not sure how that would work out, just throwing the idea out there. One downside is that it would seriously handicap people who find the question later, however it might prove for a more interesting competition once there's already quite a few answers. – Etheryte – 2014-10-27T20:14:58.893

@Nit That might work in a future similar question but I'm not changing anything now since the current rules are too well established. Come to chat if you want to discuss more. Comments aren't for extended discussion.

– Calvin's Hobbies – 2014-10-27T20:25:42.663

Do multibyte chars count as one or two? – Etheryte – 2014-10-28T02:07:25.533

3@Nit You can't use them. See rules about printable ASCII. – Calvin's Hobbies – 2014-10-28T02:09:23.633

3C, Java, etc. usually requires some huge prologue #include <stdio.h> static final void Main() etc. Are these required, or could just the print statement (printf / System.out.println) be needed? – kennytm – 2014-10-28T13:16:05.147

@KennyTM So far, the comments, chat, and answers seem to point to requiring a full program. – Ypnypn – 2014-10-28T15:35:20.697

@KennyTM #include <stdio.h> isn't required if you can find at least one compiler which can compile without this line. – jimmy23013 – 2014-10-28T17:06:15.410

@Ypnypn I don't think the VHDL answer is a full program – Tymric – 2014-10-28T17:14:54.653

this might be useful – archaephyrryx – 2014-10-29T20:24:42.427

1I think that if anyone has less than 7 distance in their solution, they should dedicate the remaining swaps/removes/adds to cleaning up the code so that it is more portable, just as a public service. – archaephyrryx – 2014-10-30T11:05:41.517

It would be amazing if we could steer this towards the Malbolge "Hello World!" program, which luckily prints that exact text. – archaephyrryx – 2014-10-30T11:24:00.417

5@archaephyrryx Or, alternatively, Java - which would be just as hard. – Sp3000 – 2014-10-30T11:36:40.477

1So now it has come to this that I am unable to answer anymore ;) – Optimizer – 2014-10-31T10:11:56.580

@Optimizer Have you been answering every 8 hours? Wow! – Calvin's Hobbies – 2014-10-31T10:20:12.203

@Mig migl.io/projects/hw is showing only 100 records. Can you fix that? – jimmy23013 – 2014-10-31T12:14:23.510

@user23013, fixed – Michael M. – 2014-10-31T13:14:04.113

1Kinda sucks I can't submit the JRuby answer. It's the same as the Ruby one. At the very end you should display a list of the journey this "Hello World" challenge has taken....and then write a script that implements all of the answers, make a video, and post it on youtube. – Luminous – 2014-10-31T15:07:39.777

I know it's Levenshtein distance, but I keep memorising it as Leiningen distance. – None – 2014-11-03T21:25:57.807

If we reach 500 answers, this question becomes community wiki. Let's go for it!

– gerrit – 2014-11-04T00:06:45.163

@gerrit Actually, auto-CW has been removed entirely. Still, 500 wouldn't be a bad milestone ;) – Doorknob – 2014-11-04T01:34:10.810

6@gerrit Cause I could really use 350 more answer notifications... – Calvin's Hobbies – 2014-11-04T01:39:25.910

2@Sp3000 Java is done. ✓ Now for BF and Malbolge … – Christopher Creutzig – 2014-11-05T07:29:34.547

1@Sp3000 I read the spec of Malbolge and found it much harder, since it doesn't have a comment character. It is probably possible if the previous one is WhiteSpace. – jimmy23013 – 2014-11-05T09:36:44.397

Does pseudocode count as a language? – Chase Roberts – 2014-11-13T18:11:09.430

@ChaseRoberts Of course not. – Calvin's Hobbies – 2014-11-13T20:01:34.710

Answers

32

Answer 85 - GDB (GNU Debugger)

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

I think this can also be qualified as a programming language. It has even if and while commands.

echo is another built in command in GDB.

To run this code:

gdb --batch -x file

Distance: 7 from answer 84.

jimmy23013

Posted 2014-10-27T06:23:12.927

Reputation: 34 857

Accepting this answer instead of giving Optimizer bounty as per his request. user23013 may be considered the official winner! – Calvin's Hobbies – 2015-01-06T04:35:40.320

@Calvin'sHobbies ...Well, why the bounty? – jimmy23013 – 2015-01-06T11:18:55.877

See the update at the top of the question. I had already paid for the bounty so I gave it to you. I hope you don't mind :P – Calvin's Hobbies – 2015-01-06T12:55:39.473

@Calvin'sHobbies Then I set a +100 bounty for Optimizer. (And I guess you can only start at least +400 bounty now...) – jimmy23013 – 2015-01-07T14:07:09.930

You guys are too generous :) even though I was being a bit of selfish there :P – Optimizer – 2015-01-07T14:08:41.077

@Optimizer I didn't find any better uses of reps after being 4k+... – jimmy23013 – 2015-01-07T14:29:03.153

Please revision your answer, the 85 was an invalid answer (I didn't notice the language had been used before) and I deleted it. – Etheryte – 2014-10-29T11:09:18.343

Any link to GDB ? – Optimizer – 2014-10-29T11:10:09.760

1

@Optimizer http://www.gnu.org/software/gdb/ The Gnu Debugger.

– jimmy23013 – 2014-10-29T11:11:28.137

Its like running java project in Eclipse rather than Netbeans – Optimizer – 2014-10-29T11:15:50.060

"The program being debugged can be written in Ada, C, C++, Objective-C, Pascal (and many other languages)" ... It's not a language in and of itself – None – 2014-10-29T11:19:43.667

@Stacey echo is a command for debugging, which is neither Ada, C or C++, etc. – jimmy23013 – 2014-10-29T11:21:02.963

@user23013 echo is a function in the language similar to printf in C. Please delete this question as other answers are already coming in. – Optimizer – 2014-10-29T11:22:29.290

3

This answer is fine. GDB has a command language which is used to execute specific debug commands. This is done by running GDB in batch mode and specifying the command file using --batch -x <file>. This is a legit language. See here: https://sourceware.org/gdb/onlinedocs/gdb/Mode-Options.html (-batch flag)

– None – 2014-10-29T11:25:28.203

@Stacey Sorry I didn't see that edit. – jimmy23013 – 2014-10-29T11:42:32.777

54

Answer 1 - Python

print("Hello World!")

There's got to be dozens of languages this could morph into.

Calvin's Hobbies

Posted 2014-10-27T06:23:12.927

Reputation: 86 100

4If 4 more people upvote tomsmeding's comment and 2 more upvote nicael's earlier comment, then the pattern of votes will be 100, 80, 20, 30, 20, 5. (Not including this comment :-p) – gcampbell – 2016-05-28T14:03:58.967

119Why is this being up-voted but not the question? I guarantee you the question was harder to write ;) – Calvin's Hobbies – 2014-10-27T07:13:32.833

95Why is your comment being up-voted more than your answer? – tomsmeding – 2014-10-27T10:49:21.250

26@Calvin'sHobbies Answer upvotes are worth more, you shouldn't complain :-) – Angew is no longer proud of SO – 2014-10-27T12:20:18.857

33@tom Why is your comment being up-voted more than this answer? – nicael – 2014-10-30T17:39:09.503

27^ All of them regretting that there are no rep awarded for comment upvotes! – Optimizer – 2014-11-01T21:26:42.353

8@Opt oh... At least I can get Pundit badge for my 5+ score comments :D – nicael – 2014-11-03T19:00:51.667

47

Answer 59 - HTML

What? No HTML ??

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

Distance from Answer 58 : 6

Voodoo Magic ? Nah. Here is how it works:

You can have any arbitrary tag in HTML, so the first part <echo o[.]c;cat<<;#&&alert" "> is an echo tag, which now becomes a blank tag with no CSS applied by default by the browser.

The o[.]c;cat<<;#&&alert" " part is actually two properties set on that tag separated by space. So the first property has the key o[.]c;cat<<;#&&alert" and second key is " and both the values are blank.

Second part is just plain text Hello World! which is the text contents of the echo tag.

Next up, HTML tries to find the closing echo tag, but instead, finds a closing vsh tag. It then ignores the closing vsh tag (i.e. </vsh) and auto closes the echo tag.

Optimizer

Posted 2014-10-27T06:23:12.927

Reputation: 26 004

5

@Optimizer Required reading for people recommending w3schools. ;)

– Martin Ender – 2014-12-18T15:00:07.593

1Next up, HTML tries to find the closing echo tag, but instead, finds a closing vsh tag. It then ignores the closing vsh tag (i.e. </vsh) and auto closes the echo tag. This is just beautiful writing. – Amory – 2014-12-18T19:16:19.680

This isn't valid HTML for any version of HTML. Your browser may try to handle it anyway, because unfortunately that's what browsers do, but neither the SGML-based versions nor the latest version allow arbitrary characters in attribute names. – Peter Taylor – 2015-01-17T15:44:25.163

@PeterTaylor Thank you Peter for the down vote. I definitely deserved it for properly following the spec of the question and using certain characters which should have been no-ops as per HTML5 spec but because of browser's wrong implementation, end up being empty attributes. – Optimizer – 2015-01-17T16:49:50.397

I'd like to see a reference for "which should have been no-ops as per HTML5 spec", because by a plain reading what you've posted isn't HTML.

– Peter Taylor – 2015-01-17T18:42:20.490

@PeterTaylor I think you are not reading properly. That spec only tells about what is considered as an attribute name and value . It nowhere says treat anything not following this spec as invalid HTML. Sure that the two attributes should not have been attributes but that does not make it an invalid echo tag. In fact. The whole syntax spec for any attribute/custom element/standard HTML elements only says what is regarded as a valid (attribute|custom element|standard HTML element). [cont] – Optimizer – 2015-01-17T19:02:45.777

[cont] The W3C and whatwg spec say very little about syntax errors and parse errors but whatever they say simply suggest to ignore errors. Some links can be found here: 1 2 3

– Optimizer – 2015-01-17T19:03:18.923

Also, I am done discussing this with you. If this is invalid HTML, then browsers should not have rendered it. You can raise bugs in bugzilla.mozilla.org , https://bugs.webkit.org/ and https://code.google.com/p/chromium/issues/list .

– Optimizer – 2015-01-17T19:07:29.167

1

Actually it does say that anything not following the spec should be treated as invalid HTML when it says "Documents must consist of the following parts, in the given order" and then defines the grammar for those parts. So if you're claiming that this is HTML5 then the first error is the lack of doctype. And the strings not being attribute names does make it an invalid echo tag: see the continued use of the word must. Browsers will render any string of chars as best they can: that doesn't mean that any string of chars is HTML.

– Peter Taylor – 2015-01-17T19:30:47.677

@PeterTaylor Again, whatever are you linking is only for parsing the correct things out of the HTML. It still does not say anything about what to do in case of errors, for instance - "5. If there are extra characters inside of the opening tag body which do not belong to either of the attribute name, attribute value or tag name, treat the tag as invalid HTML and do not render it to the user". Since nothing like that is specified, the only reference of error handling are the 3 links I have provided earlier. Finally, about missing doctype 1st note.

– Optimizer – 2015-01-17T19:49:04.880

@PeterTaylor quoting a line from spec and changing its meaning. Wow. "Documents must consist of the following parts, in the given order" Still does not say anything about incorrect additional things in between and how to handle them. The three links I have provided clearly call out how to handle many error situations. – Optimizer – 2015-01-17T19:50:58.643

2The very fact that they're called errors should be all you need to know that they're invalid. The note you link to about the missing doctype says that the doctype is required and explains why: how on Earth can you claim that it justifies not including the doctype? – Peter Taylor – 2015-01-17T21:41:04.060

If a doctype is required to prevent the imminent destruction of the universe, perhaps we should amend our hello world?

– gcampbell – 2016-05-28T14:15:17.380

1i have never seen such type of html. any link to learn this html? – MAKZ – 2014-10-28T07:28:50.377

2

@MAKZ HTML is pretty free and loose. You can have unmatched opening closing tags and what not. XHTML is pretty strict. w3schools is a good starting point.

– Optimizer – 2014-10-28T07:30:57.377

1but what does <echo o[.]c;cat<<;#&&alert" "> mean ? – MAKZ – 2014-10-28T07:31:26.227

is it a dummy tag ? – MAKZ – 2014-10-28T07:31:53.330

3You can have any tag in HTML, so echo is a normal tag. o[.]c;cat<<;#&&alert" is a property on that tag and the last " is another property on that tag. You can see this using Inspector developer tool too. – Optimizer – 2014-10-28T07:38:41.910

yeah got it. very clever . +1 – MAKZ – 2014-10-28T07:44:19.403

3Pretty dang clever. Never would have thought of it. – RubberDuck – 2014-10-28T13:33:52.380

15I think this is what happens when you read standards documents at 3 am while on peyote. – David Conrad – 2014-10-31T17:13:56.240

41

Answer 95 - C

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

Distance 7 from answer 94

archaephyrryx

Posted 2014-10-27T06:23:12.927

Reputation: 1 055

39Bloody finally. – Etheryte – 2014-10-29T20:18:52.827

@Optimizer I didn't get any kind of runtime error using gcc 4.7.2 on my computer. – archaephyrryx – 2014-10-29T20:21:43.500

Where do the extra spaces in the third line come from? Is it possible that that is a mistake? – Emil – 2014-10-29T20:26:04.060

@Optimizer It printed Hello World! but returned exit code 13. I think that's also what happened on ideone. – jimmy23013 – 2014-10-29T20:26:06.677

1@Emil Just vim auto-indentation; OP's call on what to do about this (if it progresses too far to fix, you can just pretend that it's a tab and make the distance 7) – archaephyrryx – 2014-10-29T20:31:25.197

1@user23013 Because the program doesn't specify int as the return type for main and doesn't actually return an exit code; therefore, the return code is technically undefined behavior, hence the 13. – Qix - MONICA WAS MISTREATED – 2014-11-05T00:33:44.133

Not that I am complaining, but why is this the third most-highly rated answer ?_? – archaephyrryx – 2014-11-05T19:39:08.927

1Some of the previous answers (starting from 85 GDB) did extra work to prepare for C. – kernigh – 2014-11-21T20:27:32.120

30

Answer 151 - Java

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

Distance from Answer 150 : 7

Try it here

(Thanks to Christopher Creutzig for being such a sport :) )

Optimizer

Posted 2014-10-27T06:23:12.927

Reputation: 26 004

3Now for the C# answer! – rodolphito – 2014-11-05T01:31:00.850

29

Answer 22 - LOLCODE

VISIBLE "Hello World!"

Distance : 6

Snack

Posted 2014-10-27T06:23:12.927

Reputation: 2 152

Looks like distance 6 to me - delete p, ut -> VI, tr -> IB, n -> E – isaacg – 2014-10-27T09:58:19.757

1Thanks. I think I copied different code while calculating distance. – Snack – 2014-10-27T09:59:35.393

27

Answer 10 - GNU dc

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

Distance: 6

jimmy23013

Posted 2014-10-27T06:23:12.927

Reputation: 34 857

8Well this is hard. Haha. – Zaenille – 2014-10-27T07:51:32.580

@MarkGabriel Hint: Substring. – jimmy23013 – 2014-10-27T08:10:59.277

24

Answer 4 - Pyth

"Hello World!

This answer is a distance of 6 from the previous answer. Pyth strings do not need a closing quote if they are at the end of a line.

Sp3000

Posted 2014-10-27T06:23:12.927

Reputation: 59 387

3Darn, I had a good one for the previous. – Justin – 2014-10-27T06:36:35.693

21

Answer 11 - Golfscript

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

A distance of 5.

Beta Decay

Posted 2014-10-27T06:23:12.927

Reputation: 21 982

21

Answer 83 - Markdown

What ?? No Markdown ? :P

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

Try it here

Distance from Answer 82 : 7

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

Voodoo magic ?? Nah!! Here is how it works:

  • [text](link) creates a link.

So the first part of the code is

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

Which creates an empty text link with location

#[.]c;cat;#&&alert"  "
     @echo
  • Next part Hello World! is printed as is

  • Then [;]:;#bye;dnl</vsh> creates a reference link for ; which can be used anywhere in the markdown.

Ex:

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

Optimizer

Posted 2014-10-27T06:23:12.927

Reputation: 26 004

1

It's getting questionable whether that's a programming language. (Same for HTML actually.)

– Martin Ender – 2014-10-29T10:01:19.573

1Well, If HTML is a language, Markdown is too. Its the same relation between JS and Closure. Also, given this challenge (1 lang per ans), these rules ought to be loosened a bit. – Optimizer – 2014-10-29T10:03:04.697

1As I said, I don't think HTML is a programming language either by our standards. But for the purpose of this particular challenge it's probably fine to loosen those rules (but ideally Calvin's Hobbies should state that). – Martin Ender – 2014-10-29T10:04:34.073

1@MartinBüttner Both HTML and Markdown are at least better than HQ9+ (or Huby). And there are console browsers to convert them to text. – jimmy23013 – 2014-10-29T10:42:12.543

1@user23013 Everything is better than HQ9+, but that doesn't make them programming languages. – Martin Ender – 2014-10-29T10:47:48.403

4Can we have this discussion somewhere else rather than on my answer ? :) – Optimizer – 2014-10-29T10:52:10.240

2Still pretty impressive – Fabinout – 2014-10-31T09:17:00.967

19

Answer 15 - Sage

print("Hello World!")

Distance = 6

Full circle.

isaacg

Posted 2014-10-27T06:23:12.927

Reputation: 40 677

Full circle indeed. – Alex A. – 2015-03-28T05:04:54.157

18

Answer 12 - Mathematica

#[puts];
"Hello World!"

Distance of 7. Attempting to clear up some of that mess.

jcai

Posted 2014-10-27T06:23:12.927

Reputation: 1 033

16

Answer 6 - Befunge 98

<@,kb"Hello World!"

Distance of 5 from the previous answer. There was originally a bug where the k wasn't there; I know it was there when I wrote this program, though. I guess it just didn't make it into this post.

Justin

Posted 2014-10-27T06:23:12.927

Reputation: 20 247

I should have inflated this, but oh well. – Justin – 2014-10-27T06:43:29.367

I'm just going to post answer 7 based on the inflated version... – jimmy23013 – 2014-10-27T06:44:14.610

@user23013 sure – Justin – 2014-10-27T06:44:29.423

@user23013 when you do post it, please edit this back to what you used; but ensure that the a is a b, or this program is invalid... – Justin – 2014-10-27T06:47:50.120

Now I decided to wait longer for some other answers. – jimmy23013 – 2014-10-27T06:49:56.173

@user23013 But if you use the longer version, we might be able to eventually get languages like Java in here! – Justin – 2014-10-27T06:50:33.160

6@Quincunx I can't imagine us ever being able to get up to System.out.println... – Sp3000 – 2014-10-27T06:52:43.220

@Sp3000 I can't imagine getting up to class a{public static void main(String[]a){, but my point is that we might be able to get more interesting answers if we make it bigger. And it would make it harder to post trivial answers if we made it bigger. – Justin – 2014-10-27T06:53:48.037

4@Sp3000 We can firstly write the Java program in a comment. Then turn everything else into a comment. – jimmy23013 – 2014-10-27T06:56:01.593

4I had considered allowing multiple responses per answer so it could branch out like a tree. Then you guys could go on your little Java tangent. That would be way too confusing though... – Calvin's Hobbies – 2014-10-27T07:02:02.393

I think you're missing a k before the , – ninjalj – 2014-11-01T21:09:26.547

@ninjalj Indeed; I have no idea where the k went. It was there at some point in time. However, I managed to fix this without any invalidation of any answer. Thanks for pointing it out. – Justin – 2014-11-01T21:20:16.220

15

Answer 2 – CJam

"Hello World!"

This is a distance of 7 from the first answer

Try it online here

Optimizer

Posted 2014-10-27T06:23:12.927

Reputation: 26 004

15

Answer 19 - VHDL

report "Hello World!";

Distance: 6

user4768

Posted 2014-10-27T06:23:12.927

Reputation:

1wow :) ........ stubborn huh? – MAKZ – 2014-10-27T09:43:26.870

3Haha, I've been waiting for a code golf question that allows me to use an HDL :p – None – 2014-10-27T09:46:34.400

14

Answer 23 - APL

 "Hello World!"

Note there's a leading space.
Distance: 7

Etheryte

Posted 2014-10-27T06:23:12.927

Reputation: 2 717

2the W must be capitalized to print "Hello World!". – None – 2014-10-27T10:18:13.857

13

Answer 3 – PHP

<?="Hello World!"?>

This answer is a distance 5 from the second answer.

PurkkaKoodari

Posted 2014-10-27T06:23:12.927

Reputation: 16 882

Please note that the string "Hello World!" verbatim, which is obviously distance 0 from answer 2, is a valid PHP program outputting the required string, and explicit print statement is unnecessary. – hijarian – 2014-10-28T11:55:10.400

@hijarian: That's only true for the PHP shell, which makes it invalid for this challenge. – Dennis – 2014-10-28T21:02:22.540

1@Dennis If you write a script helloworld.php, and put the 12 symbols Hello World! in there and then you run this script with php helloworld.php, you'll get Hello World! printed to stdout as PHP treat everything outside of <?php ?> processing instruction as raw text to output. – hijarian – 2014-10-29T04:30:14.520

I have realized that you'll need to remove quotation marks (which makes it Levenstein distance 2) to be fully compliant. – hijarian – 2014-10-29T04:30:35.673

Well, I didn't want to go that way. I could've called it Text if I just put the contents there, so I added the extra PHP syntax.

– PurkkaKoodari – 2014-10-29T06:02:15.493

You don't need the closing ?> – Petah – 2014-10-31T02:28:54.507

4@Petah So? This is not code golf. We are not supposed to make it as short or as easy to continue as possible. – PurkkaKoodari – 2014-10-31T08:04:43.300

@Pietu1998 Haha, well, indeed. Without PHP syntax it's pretty weird to think of the source to actually be the PHP program. :) – hijarian – 2014-11-05T05:46:10.783

13

Answer 28 - J

]trace=:('Hello World!')

Distance = 5 from Answer 27

jpjacobs

Posted 2014-10-27T06:23:12.927

Reputation: 3 452

And J could have been answer 2, by deleting the print and replacing the double with single quotes, ending up with ('Hello World!'). – bcsb1001 – 2014-12-21T17:10:32.197

1] + = + : + ' + ' = 5, right? – None – 2014-10-27T10:37:55.397

3Sure. Missed it being quick... This type of question surely adds a real time feeling to code challenges :P. – jpjacobs – 2014-10-27T10:40:09.627

one of the oddest notations for a language with such a simple name... – CodeManX – 2014-11-05T02:15:37.073

13

Answer 33 - Extended BF Type III

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

Distance 7 from Answer 32

Well, I have not found an interpreter for that extension but the code seems to fit the specs of the language.

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

Michael M.

Posted 2014-10-27T06:23:12.927

Reputation: 12 193

1Just so you know, the above answer is invalid as it has a distance of 8. That should be fixable by removing some spaces though, so you might want to fix yours after the other guy does. – Scimonster – 2014-10-27T12:26:55.720

1It's corrected. My apologies. – RubberDuck – 2014-10-27T12:29:42.457

1My answer is also fixed. – Michael M. – 2014-10-27T12:30:34.487

1I got a neat one lined up for this, can't wait for the 8-hour timer. – Etheryte – 2014-10-27T14:04:47.207

13

Answer 100 - AMPL

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

Distance 6 from Answer 99

Oriol

Posted 2014-10-27T06:23:12.927

Reputation: 822

8WOOO. #100! Have +10 rep. – Kaz Wolfe – 2014-10-29T23:04:22.060

12

Answer 5 - Perl

print"Hello World!"

This answer is a distance 6 from the fourth answer.

malkaroee

Posted 2014-10-27T06:23:12.927

Reputation: 330

12

Answer 7 - Bash

echo Hello World!

This is a distance of 7 from the sixth answer.

cupofjoe

Posted 2014-10-27T06:23:12.927

Reputation: 398

1A lame distance zero from here would be Batch.... Quick @RandomUserViewingThisComment, go post it! – Justin – 2014-10-27T06:59:34.007

@Quincunx Distance 1 with the @ character. – jimmy23013 – 2014-10-27T07:01:46.960

@user23013 Good point; I'm very poorly acquainted with Batch.... But it would work in commandline. – Justin – 2014-10-27T07:03:25.080

@Quincunx Or it will print \nX:\Your\Working\Directory>echo Hello World!\nHello World! in a script. Or I should mean \r\n for \n. – jimmy23013 – 2014-10-27T07:08:05.043

@user23013 Oh, that makes sense. – Justin – 2014-10-27T07:11:04.903

12

Answer 8 - Nimrod

echo "\x48ello World!"

Distance of 6 from the last answer.

es1024

Posted 2014-10-27T06:23:12.927

Reputation: 8 985

1There's not supposed to be a comma. – feersum – 2014-10-27T07:04:17.280

12

Answer 14 - Lua

#[put
print("Hello World!")

Distance = 7

Tymric

Posted 2014-10-27T06:23:12.927

Reputation: 701

8Aaand we're back to the start, good job. – Etheryte – 2014-10-27T09:04:16.187

hi @Timmy, I'm sorry but I had to change my answer from print to cat. – Zaenille – 2014-10-27T09:04:38.037

12

Answer 21 - Haskell

putStrLn "Hello World!"

Distance: 7

grc

Posted 2014-10-27T06:23:12.927

Reputation: 18 773

@ceasedtoturncounterclockwis data W=World;data H=Hello W; Hello World – Esolanging Fruit – 2017-12-08T04:27:51.557

4Am I the only one who thinks Haskell's version of print is dafter than LOLCODE's? – Pharap – 2014-10-28T08:30:43.270

5@Pharap: Haskell's version of print is called print, and it does something rather un-daft: print some value, of any¹ type – but in valid Haskell notation! So print 5 yields 5 as output, and print "Hello World!" yields "Hello World!"; but the challenge asked for Hello World, without quotation marks (which wouldn't be valid Haskell). – ceased to turn counterclockwis – 2014-10-28T10:43:53.573

3@Pharap ¹It doesn't actually work with any type, only with Showable types. – ceased to turn counterclockwis – 2014-10-28T10:45:45.520

1@leftaroundabout Well, suum cuique pulchrum est I suppose. – Pharap – 2014-10-28T10:52:26.853

12

Answer 26 - TI-BASIC (NSpire)

Disp "Hello World!"

Distance: 5 from answer 25

(Tested on a TI-NSpire calculator)

absinthe

Posted 2014-10-27T06:23:12.927

Reputation: 8 449

2I see you have an NSpire calculator; that should be noted in the title as TI-83/84/+/SE do not have lowercase letters. – Timtech – 2014-10-27T11:15:45.453

2

@Timtech They actually do have lowercase letters. If you have MirageOS or another custom OS, you can enable them. Here's a screenshot of a program I wrote a while ago that uses lowercase letters.

– wchargin – 2014-10-28T19:20:49.207

11

Answer 29 - MS Windows Powershell

#]trace=:(
'Hello World!'

Distance = 3 from Answer 28

agtoever

Posted 2014-10-27T06:23:12.927

Reputation: 2 820

3Actually, I liked how the punk-haired smiley just appeared... =:( – agtoever – 2014-10-28T10:59:43.157

2From this point on, the answers accumulate junk (usually commented out). Answer 85 (GDB) added a "main", and the answers eventually reached C and then Java. – kernigh – 2014-11-21T22:07:02.443

11

Answer 42 - FALSE

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

Levenshtein distance from #41 is 7. Tested with this online implementation of FALSE. I used some leftover edit-distance slots to remove some cruft...

FireFly

Posted 2014-10-27T06:23:12.927

Reputation: 7 187

I should have done some of that cruft cleaning myself, but I can't now. I'd break the chain. – TecBrat – 2014-10-28T15:00:14.700

3random upvote for being answer 42 - the answer is false :P – CodeManX – 2014-11-05T02:24:21.093

11

Answer 150 - MuPAD

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

Distance 6 from answer 149.

EDIT: Added “ h” to move the chain forward.

Christopher Creutzig

Posted 2014-10-27T06:23:12.927

Reputation: 383

Ah... If you could have just put an h after the String[], next answer would have been in Java ;) – Optimizer – 2014-11-04T15:45:55.680

2In the interest of getting a long chain, I guess I'll just cheat and edit that in right now. ;-) – Christopher Creutzig – 2014-11-04T15:47:49.343

10

Answer 30 - K

/#]trac
"Hello World!"

Distance: 7 from Answer 29

I think this works, an interpreter is here (Kona). / begins a one-line comment in K. I've cleaned up some of the #]trace=:( mess.

user16402

Posted 2014-10-27T06:23:12.927

Reputation:

10

Answer 73 - ///

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

Distance 7 from answer 72.

Dennis

Posted 2014-10-27T06:23:12.927

Reputation: 200 652

9

Answer 16 - Julia

println("Hello World!")

Distance from 15 = 2

Martin Ender

Posted 2014-10-27T06:23:12.927

Reputation: 188 137

1Which answer 15 have you used? – Beta Decay – 2014-10-27T09:21:39.450

1@BetaDecay I had linked to it, but I've changed it now that the C one was deleted. – Martin Ender – 2014-10-27T09:22:17.410

9

Answer 18 - JavaScript

alert("Hello World!");

Lev. Dist from A#17 = 5

MAKZ

Posted 2014-10-27T06:23:12.927

Reputation: 191

awww, so close! you beat me by 15 secs :( – None – 2014-10-27T09:31:27.637

@Stacey maybe.... – MAKZ – 2014-10-27T09:32:22.593

An alert window isn't stdout...? – zamnuts – 2014-10-27T18:59:44.217

2@zamnuts It is commonly accepted on PPCG to use alert in Javascript as it has no real stdout. – Ingo Bürk – 2014-10-27T19:01:46.797

@IngoBürk console.log would be stdout. classifying alert as stdout is like saying document.write is stdout... IMO the latter would be better if console wasn't available. – zamnuts – 2014-10-27T19:03:16.853

3@zamnuts console.log has nothing to do with stdout. It's a debug tool. Again, this is commonly accepted here. We shouldn't litter the comments of this answer with this discussion; feel free to start a discussion on meta about it (if it doesn't exist yet). – Ingo Bürk – 2014-10-27T19:05:00.020

9

Answer 24 - M30W

say [Hello World!]

Distance: 5

Scimonster

Posted 2014-10-27T06:23:12.927

Reputation: 2 905

1the W must be capitalized to print "Hello World!". – None – 2014-10-27T10:18:44.173

Typo, thanks for pointing it out. – Scimonster – 2014-10-27T10:21:11.737

1Well, now I know why I've never heard of M30W. +1 – Pharap – 2014-10-28T08:33:31.807

9

Answer 25 - Stata

display "Hello World!"

Distance: 6 ([-> ", ]-> ", and addition of di and pl)

plannapus

Posted 2014-10-27T06:23:12.927

Reputation: 8 778

9

Answer 60 - SGML

Heck, if HTML counts…

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

Distance from Answer 59 : 7

msh210

Posted 2014-10-27T06:23:12.927

Reputation: 3 152

I remember learning that HTML was SGML. This isn't true today; HTML syntax is not SGML syntax (https://html.spec.whatwg.org/multipage/syntax.html#parsing), so HTML is not SGML.

– kernigh – 2014-11-21T20:08:46.590

@kernigh, I know. I was merely saying that if HTML counts sufficiently as a language to post an answer in it (see the preceding answer, #59), then why not SGML.

– msh210 – 2014-11-23T00:08:37.933

8

Answer 27 - ActionScript 2

trace("Hello World!")

Distance: 7 (Disp -> trac = 4, +e( = 2, +) = 1 = 4+2+1 = 7)

From Answer 26

user32377

Posted 2014-10-27T06:23:12.927

Reputation:

Why 2? This is ActionScript 1. – Pierre Arlaud – 2014-10-28T08:58:10.193

I used to program in AS2. I did so in flash, on the timeline. There I can have a single line of code. Then I moved to AS3, and I've been using document classes ever since. I wasn't sure whether one can use a single line of code like this in ActionScript 3, so I labelled it AS2. – None – 2014-10-28T09:02:24.337

8

Answer 36 - Clojure

;ah="*#[.>]trac":;cat<<@
(pr"Hello World!"
)

Distance 7 from answer 35

; makes the rest of the line a comment, and (pr "Hello World!") does the printing

resueman

Posted 2014-10-27T06:23:12.927

Reputation: 432

Love the use of the commenting – sydan – 2015-02-13T11:51:27.547

8

Answer 121 - Boo

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

Happy Halloween!

Distance 7 from Answer 120. Nothing fancy: added three # comment characters, and added rint after p.

Boo has syntax inspired by Python, but is a separate language with unique features built on the .NET CLI.

nneonneo

Posted 2014-10-27T06:23:12.927

Reputation: 11 735

1What happened to answer 120? – None – 2014-10-31T17:19:38.097

@hosch250 seemed to just be a typo, it was relative to 120 and linked, just mislabeled. Edited – HostileFork says dont trust SE – 2014-10-31T17:21:57.737

OK, I thought that might be the problem. – None – 2014-10-31T17:25:16.513

Derp, thanks for fixing that. – nneonneo – 2014-10-31T17:26:12.337

LOL Boo . We now need Yeah! – Optimizer – 2014-10-31T17:29:53.397

@Optimizer is that a language? Linky? – John Dvorak – 2014-10-31T17:39:22.863

@JanDvorak: it isn't a language yet. He's comparing Yeah! to Boo! – nneonneo – 2014-10-31T17:41:19.013

Ah. What a shame... – John Dvorak – 2014-10-31T17:42:21.793

1I meant to complete it like Boo Yeah! – Optimizer – 2014-10-31T17:43:06.083

2Appropriate language given today's date. – Amory – 2014-10-31T21:47:04.593

8

Answer 167 - CDuce

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

Distance 7 from Answer 166, removed _string

Nothing special, most difficult part was finding the language.

(* *) makes a multiline comment, print prints the string

Def

Posted 2014-10-27T06:23:12.927

Reputation: 612

7

Answer 9- Ruby

puts "\x48ello World!"

Distance: 4

Mohammad

Posted 2014-10-27T06:23:12.927

Reputation: 2 010

7

Answer 13 - R

#[puts];
cat("Hello World!")

Distance = 5

Zaenille

Posted 2014-10-27T06:23:12.927

Reputation: 538

7

Answer 20 - HyperTalk

answer "Hello World!"

Distance: 7

Mika Lammi

Posted 2014-10-27T06:23:12.927

Reputation: 1 181

7

Answer 31 - Visual FoxPro

*#]trac
? "Hello World!"

Distance: 3 from Answer 30

Not tested of course, but * begins a comment and ? "String" prints String.

Doorknob

Posted 2014-10-27T06:23:12.927

Reputation: 69 200

How on earth have you ever come across and vFox? Well done/sorry :-)! – Ben – 2014-10-27T22:20:44.240

2@Ben By browsing the list of "hello world" examples on Wikipedia and looking for short ones ;) – Doorknob – 2014-10-27T23:55:08.427

7

Answer 32 - VBA

a="*#]trac":? "Hello World!"

Distance: 7 from Answer 31

Runs from the immediate window. The colon : is a line sepator that allows multiple lines of code to be written on the same line. (Anything run from the immediate window has to be a one liner.) The ? is a shortcut for printing to the immediate window.

RubberDuck

Posted 2014-10-27T06:23:12.927

Reputation: 321

I count more than 5: a = " is already 5, and then there is ": and the newline transformed into a space. – plannapus – 2014-10-27T12:22:40.790

You might want to dump the spaces, because right now it's 8. – Scimonster – 2014-10-27T12:26:06.440

Shoot. I forgot to remove the extra space and there is already another answer @Scimonster. – RubberDuck – 2014-10-27T12:27:34.920

I left a comment on the other answer notifying them so they can fix it after you do. – Scimonster – 2014-10-27T12:28:19.683

Fixed @Scimonster. Thanks and sorry about that. – RubberDuck – 2014-10-27T12:29:02.753

3I like how you introduced a variable. More "programmatic" solution than just commenting some things out. – agtoever – 2014-10-28T11:02:29.677

Thanks @agtoevee, but it was out if necessity. I had to one line it to stay within the distance, so a comment wouldn't work. – RubberDuck – 2014-10-28T11:51:38.277

7

Answer 70 - Emacs Lisp

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

Distance of 7 from Answer 69. Didn't need any changes to compile, but cleans up a bit.

resueman

Posted 2014-10-27T06:23:12.927

Reputation: 432

2I would've cleaned up some of the odd things like 'dnl<vsh' instead of the common comment characters. – agweber – 2014-10-28T15:12:03.507

@agweber why make things too easy? :P – resueman – 2014-10-28T15:16:39.823

1@resueman Because in the question it was stated that the goal was to make the chain as long as possible. – 11684 – 2014-10-31T21:17:33.717

7

Answer 107 - MediaWiki markup

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

There is already HTML, SGML and Markdown. Why not MediaWiki?

You can see it here.

Distance 7 from Answer 106.

jimmy23013

Posted 2014-10-27T06:23:12.927

Reputation: 34 857

1Note: The spaces after main() is a tab (introduced for Makefile). I didn't change it. – jimmy23013 – 2014-10-30T06:47:56.683

Someone should get rid of it ... – Optimizer – 2014-10-30T09:49:37.620

7

Answer 168 Underload

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

Distance 7 from Answer 167

MegaTom

Posted 2014-10-27T06:23:12.927

Reputation: 4 011

6

Answer 17 - Scilab

disp("Hello World!")

Distance = 6 to Answer 16

titus.andronicus

Posted 2014-10-27T06:23:12.927

Reputation: 161

I'm way late, but this won't work: MATLAB uses single quotes for strings, not double quotes... that might have derailed the whole train :(

– Dang Khoa – 2014-10-27T23:47:44.347

I haven't tried running it, but changing this to Scilab might fix it – Sp3000 – 2014-10-27T23:58:25.687

@DangKhoa Aww, that's too bad. But it's fixed now. – Calvin's Hobbies – 2014-10-27T23:59:02.107

sorry for the clumsiness, and thanks for the fix! – titus.andronicus – 2014-10-28T08:18:03.413

6

Answer 50 - Racket

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

Distance is 7 from the previous answer. Needs to be run in the shell.

Sp3000

Posted 2014-10-27T06:23:12.927

Reputation: 59 387

6

Answer 62 - MUMPS

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

Distance: 6

Etheryte

Posted 2014-10-27T06:23:12.927

Reputation: 2 717

6

Answer 88 - Postscript

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

Distance: 6 insertions to answer 87.

Back to real programming languages.

luser droog

Posted 2014-10-27T06:23:12.927

Reputation: 4 707

6

Answer 96 - Rust 0.13

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

Distance 6 from answer 95.

kennytm

Posted 2014-10-27T06:23:12.927

Reputation: 6 877

I was sluggishly monitoring this for "C" answer to finally appear in order to try Rusting it... – Vi. – 2014-10-29T21:08:17.780

6

Answer 120 - Rebmu

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

Distance 7 from Answer 119

  • { and } are asymmetric string delimiters for an alternate representation of strings permitting balanced nested pairs, embedded quotes, etc. {Hey {it's} "legal"}. Add one at the beginning then two braces to create a balanced string after the .* cost 3

  • Standalone string literals not passed to any function are skipped by the evaluator, so that literal has no effect.

  • At the outset of the program, P is a single character abbreviation for PR, itself an abbreviation for PRINT. (If you wanted you could overwrite it and use as a variable in code golf and still access printing through PR, and if you overwrite that you could use PRINT. Or set X to point to the function value of P before you override it, etc.) cost 1

  • Parentheses are structural elements that can be used for arbitrary purposes (imagine if Lisp had [] and () as different "flavors" of series you could metaprogram with, with [] having the traditional "list" behavior). In the default evaluator parens just do precedence, so there's no significance to putting it around a string literal. Added a paren instead of subtracting in case it would be helpful, either way it's cost 1

  • Semicolon comments to end of line, get rid of last line using that with an insertion so that the comment comes after it. (Would have been 1 cheaper to do that with the first 2 lines but this is perhaps a better setup.) cost 1

  • Spend extra random character to join println onto main(){ cost 1

HostileFork says dont trust SE

Posted 2014-10-27T06:23:12.927

Reputation: 2 292

6

Answer 162 - KTurtle

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

Distance 6 from Answer 161

Tymric

Posted 2014-10-27T06:23:12.927

Reputation: 701

5

Answer 34 - Zsh

ah="*#[.>]trac":;<<@
Hello World!
@

Distance: 7 from Answer 33.

jimmy23013

Posted 2014-10-27T06:23:12.927

Reputation: 34 857

5

Since I can't craft the solution I wanted to go with from the previous one, here's another solution instead:

Answer 40 - Clipper

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

NB: There is a trailing space at the end of line 2.
Distance: 6

Clipper is unique in that it has four different commenting techniques of which I've used two above:

* A comment
// A comment
&& A comment
/* A multiline
comment */

? is obviously the print command.

Etheryte

Posted 2014-10-27T06:23:12.927

Reputation: 2 717

5

Answer 48 - Lisp

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

Distance = 7

Tymric

Posted 2014-10-27T06:23:12.927

Reputation: 701

5Is that supposed to be princ? – TRiG – 2014-10-27T23:09:43.480

1This doesn't say which Lisp. I guess this was meant to be Common Lisp. – kernigh – 2014-11-21T20:00:11.417

5

Answer 54 - Mouse

~//echo o[.>]c;cat<<;#&&alert (printf
"Hello World!"$

Distance 7 from Answer 53.

Ypnypn

Posted 2014-10-27T06:23:12.927

Reputation: 10 657

4

I just realized what this is starting to remind me of...

– Calvin's Hobbies – 2014-10-28T01:40:27.977

upvote for cat & mouse :) – CodeManX – 2014-11-05T02:26:13.630

5

Answer 61 - M4

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

Distance from Answer 60 : 7

user4768

Posted 2014-10-27T06:23:12.927

Reputation:

5

Answer 63 - TeX

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

Distance 7 from answer 62.

Dennis

Posted 2014-10-27T06:23:12.927

Reputation: 200 652

I'm not quite convinced whether this is valid, as the OP said you can use another output format if the language doesn't have stdout. Technically, there's \typeout in TeX (no pun intended). – nyuszika7h – 2014-10-29T13:19:03.703

Anyway, it's probably too late now, not worth breaking the chain. – nyuszika7h – 2014-10-29T13:24:58.650

@nyuszika7h: At least my version of TeX (3.1415926 (TeX Live 2014/dev)) doesn't seem to have \typeout. It works in LaTeX, which came with the same package. – Dennis – 2014-10-29T13:31:00.683

It might be LaTeX-specific then, I didn't know. – nyuszika7h – 2014-10-29T13:33:30.013

5

Answer 67 - bc

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

Distance: 7 from answer 66.

jimmy23013

Posted 2014-10-27T06:23:12.927

Reputation: 34 857

5

Answer 69 - Scheme

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

Distance of 7 with Answer 68: addition of newline, deletion of ~, newline and $, substitutions of ~ to ;, ~ to ) and # to ;

plannapus

Posted 2014-10-27T06:23:12.927

Reputation: 8 778

5

Answer 71 - Logo

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

Distance of 7 from Answer 70.

Online Interpreter

user4768

Posted 2014-10-27T06:23:12.927

Reputation:

5

Answer 82 - Make

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

Distance 4 from Answer 81: add e \t del ; sub ?->\n
Tested on Ubuntu

AShelly

Posted 2014-10-27T06:23:12.927

Reputation: 4 321

1There is a literal tab before the @echo. (Stack Exchange stupidly converts tabs to spaces.) – kernigh – 2014-11-21T20:17:09.317

5

Answer 87 - HQ9+-

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

Distance 7 from answer 86.

Unlike Hello, H9+, HQ9+ and HQ9++, H9Q+- actually prints Hello World!. The creator's website clearly says so, and it offers an interpreter (standard untar-make approach) which I have tested.

Dennis

Posted 2014-10-27T06:23:12.927

Reputation: 200 652

2"eco" - I see what you did there. ;) – nyuszika7h – 2014-10-29T13:23:41.137

2

We seem to be using a rather loose definition of programming language here, but for the record, H9+ derivatives are not programming languages.

– Martin Ender – 2014-10-29T13:28:13.637

5We should really fix our definition of programming language. Rules like detecting prime numbers, taking input and manipulating it to output etc are somewhat baised imo. To me, this PPCG is an SE where esolangs are honored the most and esolangs can have any kind of rules. some might not even have the concept of integers, forget determining prime numbers. – Optimizer – 2014-10-29T13:40:27.003

@MartinBüttner: That definition seems to exclude a lot of interesting languages, such as Deadfish x. – Dennis – 2014-10-29T13:42:32.257

@Optimizer Regex and /// don't have the concept of numbers either and still fulfil that definition. Feel free to post your own definition as an answer to that question. – Martin Ender – 2014-10-29T13:43:39.353

The best (or worst) use of HQ9+- should be "Hello World!" -> "HelloW -> h(); -> stuck. – jimmy23013 – 2014-10-29T21:06:13.127

@user23013 Well, I could have messed with the Hello World! string, but I'm trying to win this contest... – Dennis – 2014-10-29T22:20:20.463

5

Answer 102 - Forobj

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

Distance 7 from Answer 101. (added ""%d""%)

An interpreter does not, in fact, exist. However, the code is fairly straightforward. It pushes a big string, then pops it ("..."%). It then pushes the string "Hello World!" and prints it (d). Lastly, it pushes another string and pops that one as well.

Doorknob

Posted 2014-10-27T06:23:12.927

Reputation: 69 200

This is invalid, you have a random percent sign that is not in quotes... – Timtech – 2014-10-30T18:59:39.700

@Timtech Yes; why does that make this invalid? – Doorknob – 2014-10-30T19:00:44.477

It appears that multi-line strings aren't supported in forobj – Timtech – 2014-10-30T19:12:44.753

@Timtech What makes you think that? Forobj does support multiline strings, to my knowledge. – Doorknob – 2014-10-30T19:15:05.777

5

Answer 108 - SmallBASIC

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

Distance 7 from Answer 107 (I could do it in 4, but I spent the rest on getting rid of unnecessary fluff like that annoying tab from the Makefile.)

Yes, SmallBASIC does not require closing strings.

Doorknob

Posted 2014-10-27T06:23:12.927

Reputation: 69 200

For a second I thought it was the other Small Basic. Was slightly disappointed. Great answer nonetheless! – Hugo Zink – 2015-10-06T11:16:20.907

5

Answer 157 - Improbable

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

Distance from Answer 156 : 7

Everything

  • in # ... # is a comment
  • in ` ... ` is output to STDOUT
  • after ; is ignored as program has exited

Optimizer

Posted 2014-10-27T06:23:12.927

Reputation: 26 004

5

Answer 158 - wake

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

Distance 5.

Lynn

Posted 2014-10-27T06:23:12.927

Reputation: 58 974

5

Answer 164 - Alice

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

Distance 7 from Answer 163

Tymric

Posted 2014-10-27T06:23:12.927

Reputation: 701

5

Answer 165 - SML/NJ

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

Distance 2 from Answer 164

This could be any SML dialect, including Alice — but answer 164 isn't valid SML: only Alice allows an unterminated comment.

(MLton is now within reach.)

Gilles 'SO- stop being evil'

Posted 2014-10-27T06:23:12.927

Reputation: 2 870

5

Answer 166 - OCaml

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

Distance 7 from Answer 165

Tymric

Posted 2014-10-27T06:23:12.927

Reputation: 701

Yes, I'm finally marking this answer as this official end of the contest. Amazing job everyone! – Calvin's Hobbies – 2015-01-04T08:01:49.093

@Calvin'sHobbies Can I make a new submission? – Def – 2015-01-09T16:06:21.237

@Deformyer Sure. Feel free to keep it going if possible. – Calvin's Hobbies – 2015-01-09T17:29:40.673

2So, is OCaml the final submission? – Vi. – 2014-12-04T21:30:30.987

5

Answer 171 - Fexl 7.0.3

Distance 7 from Answer 170.

#03w!(*#class jux{public static void main(String[] h){#
#System.Console.Writeln(//@\//Hello*}}print,cat<<#*)
put
"Hello World!"#(O).g!)S(#X` ;}}//printputsx;//-##E;]bye</>%#*)

I don't have enough reputation to comment on others' posts yet but I think that the other Answer 171 is invalid because it uses non-printable-ASCII chevrons (» and «).

Harry

Posted 2014-10-27T06:23:12.927

Reputation: 1 251

For future reference, you can always drop by in chat and ping me ;)

– Conor O'Brien – 2016-01-04T00:29:27.387

5

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.

Rɪᴋᴇʀ

Posted 2014-10-27T06:23:12.927

Reputation: 7 376

4

Answer 35 - Dash

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

Distance 3 from answer 34.

Dennis

Posted 2014-10-27T06:23:12.927

Reputation: 200 652

At this point, we have answers in bash, zsh, and dash. I reckon bash and dash to be dialects of the same Bourne shell language (zsh is more different), but bash and dash do count as two languages under the "different names" rule, and bash has many more features than dash. – kernigh – 2014-11-21T19:57:12.510

4

Answer 37 - NetLogo

;ah="*#[.>]trac":;cat<<@
type"Hello World!"

Distance 5 from from Answer 36

Ypnypn

Posted 2014-10-27T06:23:12.927

Reputation: 10 657

4

Answer 38 - Groovy

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

7 distance from 37

Try it here

Optimizer

Posted 2014-10-27T06:23:12.927

Reputation: 26 004

4

Answer 39 - CoffeeScript

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

6 distance from 38

Try it here

BrunoJ

Posted 2014-10-27T06:23:12.927

Reputation: 659

1I am skeptical about having both JS and CS :P – Optimizer – 2014-10-27T17:16:19.170

Could be, but this one uses different syntax than the JS one :P – BrunoJ – 2014-10-27T17:17:43.040

That's because it had to :P – Optimizer – 2014-10-27T17:19:20.170

3@Optimizer I think that it's OK because they use different syntax. – Scimonster – 2014-10-27T17:28:22.390

1@Optimizer then you could also disqualify all languages compiled to binary after the first. I think that the runtime doesn't matter, because you could write a CoffeScript compiler which doesn't compile to JavaScript but to binary. Or JVM bytecode. Or C# (which would need to be compiled once more). – 11684 – 2014-10-31T21:10:52.333

4

Answer 44 - GNU Octave

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

Levenshtein distance from #43: 5 (1 removed, 4 replaced)

user4768

Posted 2014-10-27T06:23:12.927

Reputation:

4

Answer 47 - newLisp

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

distance = 7

PawinP

Posted 2014-10-27T06:23:12.927

Reputation: 41

4

Answer 51 - Batsh

//echo o#[.>]tac";cat<<;#&&alert 
println("Hello World!");

Distance = 7

iokanuon

Posted 2014-10-27T06:23:12.927

Reputation: 151

4

Answer 53 - Applescript

#//echo o[.>]tac;cat<<;#&&alert (printf
log"Hello World!"

Distance 6 from answer 52

Gavin S. Yancey

Posted 2014-10-27T06:23:12.927

Reputation: 617

I knew AppleScript had -- comments but not # comments. Seems that AppleScript added # comments in AppleScript 2.0. – kernigh – 2014-11-21T20:02:23.267

4

Answer 56 - F#

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

7 distance from 55

Try it here

BrunoJ

Posted 2014-10-27T06:23:12.927

Reputation: 659

4

Answer 77 - Vimscript

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

Distance 7 from Answer 76

resueman

Posted 2014-10-27T06:23:12.927

Reputation: 432

4

Answer 80 - mIRC script

;?hh #[.]c;cat;#&&alert"  "
echo  Hello World!
;#";#bye;dnl</vsh>

Distance 7 from Answer 79: 1 comment marker (;), 6 removals ($e=""~).

FireFly

Posted 2014-10-27T06:23:12.927

Reputation: 7 187

4

Answer 81 - Microsoft Batch

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

Distance 7 from Answer 80: 3 additions, 4 cleanup.

Tested in Windows 7.

user4768

Posted 2014-10-27T06:23:12.927

Reputation:

4

Answer 90 - Oz

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

Distance: 6 to answer 89

Tymric

Posted 2014-10-27T06:23:12.927

Reputation: 701

9Let's keep up the flow and continue aiming for C – Optimizer – 2014-10-29T14:01:13.923

4

Answer 124 - Swift

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

Distance 7 from answer 123.

jimmy23013

Posted 2014-10-27T06:23:12.927

Reputation: 34 857

I have a good one derived from answer 121 but... – jimmy23013 – 2014-10-31T20:41:41.033

2Please continue the flow towards Java only. – Optimizer – 2014-11-01T05:27:52.650

@Optimizer But only if I can find more languages... – jimmy23013 – 2014-11-01T05:33:55.383

@Optimizer While I think collusion to make matters more "fun" is an idea among those who want to, the challenge isn't to get to Java (a language people already know) but to introduce a wide variety of ideas and have fun. Moreover, that's not how evolution works...and although I like to argue on the merits of intelligent design, Java is not that (in my book). – HostileFork says dont trust SE – 2014-11-01T05:48:34.370

1@Dr.Rebmu - Challenge is not to get wide variety of languages. But to tackle the fact that things will start becoming more and more complex. Amongst that complexity, getting a language which requires so much syntax is awesomeness. – Optimizer – 2014-11-01T05:50:49.367

@Optimizer If I can derive from 121, I can use Awk which has BEGIN and is a big step toward Pascal, without using the comment trick. – jimmy23013 – 2014-11-01T06:05:06.210

Too late for that now :P – Optimizer – 2014-11-01T06:09:27.083

4

Answer 125 - BeanShell

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

Distance from Answer 124 : 7

Trying to move towards Java

Optimizer

Posted 2014-10-27T06:23:12.927

Reputation: 26 004

4

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.

plannapus

Posted 2014-10-27T06:23:12.927

Reputation: 8 778

4

Answer 129 - AWK

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

Distance from Answer 128 : 7

Run it online here

Optimizer

Posted 2014-10-27T06:23:12.927

Reputation: 26 004

Well Pascal is no longer likely to be possible now... – jimmy23013 – 2014-11-01T18:09:47.177

1Oh! I tried with BEGIN, but it was 1 char too much :( – Optimizer – 2014-11-01T19:11:32.813

4

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.

Vlo

Posted 2014-10-27T06:23:12.927

Reputation: 826

4

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!

rodolphito

Posted 2014-10-27T06:23:12.927

Reputation: 825

1Too bad all the shells I can think of are already taken. I'd have loved to take cat<<<'Hello World!' next. – Christopher Creutzig – 2014-11-05T07:40:11.607

4

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#

Optimizer

Posted 2014-10-27T06:23:12.927

Reputation: 26 004

Should I add two more chars to my answer so you can add them to yours? – Lynn – 2014-11-06T13:11:13.713

@nooodl Please don't edit now as it will effect the other 2 answers too. – Optimizer – 2014-11-06T13:12:51.973

4

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#.

user12205

Posted 2014-10-27T06:23:12.927

Reputation: 8 862

Busybox uses a modified Almquist shell (http://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.

– kernigh – 2014-11-21T21:22:09.750

4

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</>%"

jimmy23013

Posted 2014-10-27T06:23:12.927

Reputation: 34 857

2you killed the chain haha... – rodolphito – 2014-11-10T20:01:27.517

@Rodolvertice It is still possible with some Basic dialects... – jimmy23013 – 2014-11-10T22:20:06.867

@user23013 maybe you should do it, 5 Days are over and the required wait time is only 8 hours. – Sebb – 2014-11-11T17:38:48.987

There cant be 2 answers in a row by the same person. – rodolphito – 2014-11-11T18:44:44.980

4

Answer 163 - ALGOL 68

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

Distance 7 from answer 162.

jimmy23013

Posted 2014-10-27T06:23:12.927

Reputation: 34 857

3

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

TecBrat

Posted 2014-10-27T06:23:12.927

Reputation: 222

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. – TecBrat – 2016-08-05T19:13:33.130

Yes, the question mark is a valid alias for print in many versions of Basic. – user3234709 – 2021-02-15T06:32:12.617

1Sorry, I posted an answer before you. Also, that distance is incorrect. – Etheryte – 2014-10-27T18:05:17.277

I'll update my answer – TecBrat – 2014-10-27T18:07:40.490

Neat, nicely done. – Etheryte – 2014-10-27T18:12:19.557

3

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.

nyuszika7h

Posted 2014-10-27T06:23:12.927

Reputation: 1 725

3

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

Michael M.

Posted 2014-10-27T06:23:12.927

Reputation: 12 193

1What's the point of the final comment? – Ypnypn – 2014-10-27T20:52:30.320

1Absolutely useless ! – Michael M. – 2014-10-27T20:54:12.477

3It's only challenging for a language that doesn't use # for comments ;) – None – 2014-10-27T20:55:12.247

2I thought I can get if 0 [puts "Hello World!"] at some point... to make it not only challenging but also confusing. – jimmy23013 – 2014-10-27T21:39:53.490

7-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. – nyuszika7h – 2014-10-27T21:40:14.270

1The final comment was just unfair.. – Beta Decay – 2014-10-28T07:19:49.770

3

Answer 49 - SMT-LIBv2

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

Distance = 5

Boris

Posted 2014-10-27T06:23:12.927

Reputation: 161

3

Answer 58 - Burlesque

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

Distance 7 from answer 57.

jimmy23013

Posted 2014-10-27T06:23:12.927

Reputation: 34 857

3

Answer 64 - Forth

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

Distance from Answer 63 : 7

Try it online here

Optimizer

Posted 2014-10-27T06:23:12.927

Reputation: 26 004

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. – plannapus – 2014-10-28T13:12:01.767

1@plannapus - The undeleted answer still tells the older timestamp, which was earlier than 8 hrs :( – Optimizer – 2014-10-28T13:39:11.273

3

Answer 68 - Betterave

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

Distance from Answer 67 : 7

BrunoJ

Posted 2014-10-27T06:23:12.927

Reputation: 659

3

Answer 89 - Matlab

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

Distance: 7 to answer 88.

user4768

Posted 2014-10-27T06:23:12.927

Reputation:

3

Answer 91 - CASIO BASIC

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

Distance from Answer 90 : 7

Optimizer

Posted 2014-10-27T06:23:12.927

Reputation: 26 004

I can only get a distance of 8 with the language I am trying...curses! – archaephyrryx – 2014-10-29T19:17:13.110

4bwahahahahahahah – Optimizer – 2014-10-29T19:20:57.917

Ack, also 8 away :/ – Sp3000 – 2014-10-29T19:34:49.433

1You all just got beaten by VBScript – Optimizer – 2014-10-29T19:38:24.140

3

Answer 92 - VBScript

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

Distance 7 from Answer 91

resueman

Posted 2014-10-27T06:23:12.927

Reputation: 432

Better if you have removed the Show... – jimmy23013 – 2014-10-29T19:43:09.507

@user23013 Unless there's a way to free up another 4 changes, I didn't really have the ability to do so :P – resueman – 2014-10-29T19:45:12.210

You can replace the Show\n with \nMsgBox. The space isn't required in VBScript. – jimmy23013 – 2014-10-29T19:46:49.807

If you have space, cleanup other stuff too! – Optimizer – 2014-10-29T19:48:54.000

Okay, I made the suggested changes. Little bit of cleanup got done – resueman – 2014-10-29T19:50:58.190

3

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?

Hydrothermal

Posted 2014-10-27T06:23:12.927

Reputation: 231

3

Answer 99 - Algoid

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

Distance 7 from Answer 98

Tymric

Posted 2014-10-27T06:23:12.927

Reputation: 701

I had no idea that print was a valid command in Algoid... I thought it was just text.output. – Beta Decay – 2014-10-30T13:25:08.420

@BetaDecay print and text.output seem to be equivalent when I run them, although they are documented under different sections in the reference page

– Tymric – 2014-10-30T13:29:23.890

1Well that'll help with golfing :) – Beta Decay – 2014-10-30T13:31:29.453

3

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 ;.

plannapus

Posted 2014-10-27T06:23:12.927

Reputation: 8 778

3

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 !

MickyT

Posted 2014-10-27T06:23:12.927

Reputation: 11 966

I didn't know the ; can be skipped in SQL... – plannapus – 2014-10-31T06:53:05.617

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

– MickyT – 2014-10-31T16:11:11.730

Interesting. Thanks for the tip, that's good to know! – plannapus – 2014-10-31T16:13:58.600

3

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.

John Dvorak

Posted 2014-10-27T06:23:12.927

Reputation: 9 099

3

Answer 118 - Pawn

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

Distance from Answer 117 : 7

Try it here

Optimizer

Posted 2014-10-27T06:23:12.927

Reputation: 26 004

1+1 for bringing main() back again. – jimmy23013 – 2014-10-31T12:05:21.083

3

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.

plannapus

Posted 2014-10-27T06:23:12.927

Reputation: 8 778

1I like alliterations :) – plannapus – 2014-10-31T13:03:24.770

-1 for removing main() back – Optimizer – 2014-10-31T13:05:08.430

I don't get that one: isn't it here still? – plannapus – 2014-10-31T13:05:32.973

I meant back in comment ;) See this

– Optimizer – 2014-10-31T13:11:25.487

ah ok :) Is there still a lot of languages using it that haven t been done yet? – plannapus – 2014-10-31T13:12:47.853

Does "Scala" mean "Java" is on the way? – Vi. – 2014-10-31T13:18:32.393

What if people used their extra changes and started writing the java one in the comment? :0 – Luminous – 2014-10-31T14:54:25.530

1@Luminous I'm afraid we don't have much time anymore – John Dvorak – 2014-10-31T17:37:42.757

3

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.

HostileFork says dont trust SE

Posted 2014-10-27T06:23:12.927

Reputation: 2 292

This has distance 13. Please delete this ASAP. – Optimizer – 2014-11-01T05:48:22.197

You added 1dA, 2, 3dA and modified void to ]#i--# – Optimizer – 2014-11-01T05:52:40.973

@Optimizer, oh I missed your extra edits in the paste. I'll put those back. That was just an oversight. – HostileFork says dont trust SE – 2014-11-01T05:53:22.117

Next time, read and think carefully before accusing and frowning upon others. – Optimizer – 2014-11-01T05:54:14.047

1@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. – HostileFork says dont trust SE – 2014-11-01T05:55:09.883

@Optimizer In fact, I want Pascal. – jimmy23013 – 2014-11-01T05:56:05.677

Those are the rules. Invalid entries should be taken care of immediately so as to give others a chance. Since you already deleted, undeleted, edited etc. I was assuming that editing was out of question anymore, delaying others even more. – Optimizer – 2014-11-01T05:56:29.210

@user23013 Sure. – Optimizer – 2014-11-01T05:57:09.153

7@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. – HostileFork says dont trust SE – 2014-11-01T05:59:16.143

Your answer is invalid because of this rule : "You may only use tabs, newlines, and printable ASCII." – Optimizer – 2014-11-01T05:59:27.000

Be nicer has nothing to do with trying to follow rules. – Optimizer – 2014-11-01T06:00:25.220

@Optimizer I believe the goal of that requirement is not to prohibit entries of this nature, but to keep people from introducing oddball characters into the source that others have to use and base their code upon. If one can argue a mapping of ASCII values into your domain that seems legitimate to me, vs. trying to map your domain into the program source. – HostileFork says dont trust SE – 2014-11-01T06:01:31.823

Let's ask OP in chat. – Optimizer – 2014-11-01T06:02:08.580

2@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. – Calvin's Hobbies – 2014-11-01T06:30:51.867

3

Answer 126 - Vala

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

Distance from Answer 125 : 4

user19187

Posted 2014-10-27T06:23:12.927

Reputation:

3

Answer 127 - Pike

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

Tested here.

Distance 7 from answer 126.

jimmy23013

Posted 2014-10-27T06:23:12.927

Reputation: 34 857

3

Answer 131 - AngelScript

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

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

Distance from Answer 130 : 7

Optimizer

Posted 2014-10-27T06:23:12.927

Reputation: 26 004

3

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)

Timtech

Posted 2014-10-27T06:23:12.927

Reputation: 12 141

3

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

rodolphito

Posted 2014-10-27T06:23:12.927

Reputation: 825

3

Answer 149 - Io

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

Distance 7 from answer 148 (6 necessary, 1 for the space after public).

Io supports both write("...") and "..."print, but not print("...") or "..."write unfortunately.

This question has most answers in this site now.

jimmy23013

Posted 2014-10-27T06:23:12.927

Reputation: 34 857

3

Answer 153 - JBoss

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

Distance 7 from answer 152.

Note due to incorrect syntax the last line was changed... 2014-11-18 (OP)

Timtech

Posted 2014-10-27T06:23:12.927

Reputation: 12 141

... Anyone has ideas fixing answer 154? – jimmy23013 – 2014-11-20T02:57:19.793

About that.. :3 – Timtech – 2014-11-20T19:24:20.490

3

Answer 156 - yash

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

Distance 7 from answer 155 (5 necessary, 2 change the single quotes to double quotes, to make next answers easier).

I'll stop looking for new languages now. And I'll be no longer answering so fast. I'll only post answers with languages that I have found but yet didn't have chance to use.

I also found apt-cache search useful. And if you want more languages that only a few people use, you can try something like this. If you want it to be uninteresting, you can also see here.

There are also many esolangs and serious languages in those long lists not have been used yet, I think.

jimmy23013

Posted 2014-10-27T06:23:12.927

Reputation: 34 857

Also http://rosettacode.org/wiki/Hello_world/Text

– Vlo – 2014-11-05T14:35:26.337

3

Answer 170 - Minkolang 0.9

Distance 7 from answer 169.

03w!(*#class jux{public static void main(String[] h){#
#System.Console.Writeln(//@\//Hello*}}print,cat<<#*)
pint)(!
"Hello World!"(O).g!)S(#X` ;}}//printputsx;//-##E;]bye</>%#*)

The two additions are 03w at the beginning, which jumps it to the beginning of the fourth line and (O). after "Hello World!", which prints out the whole stack as characters. Very, very, very conveniently, this is exactly 7 characters!

El'endia Starman

Posted 2014-10-27T06:23:12.927

Reputation: 15 112

2Rise of the new golfing langs! – Conor O'Brien – 2015-10-26T22:54:46.250

3

Answer 172 - Jolf

Distance 7 from answer 171.

"#03w(*#class jux!{public static void main(String[] h){#\
#System.Console.Writeln(//@\//Hello*}}print,cat<<#*)\
put"
a"Hello World!'#(O).g!)S(#X` ;}}//printputsx;//-##E;]bye</>#*)

Guide:

  • Five insertions; "s at beginning and after put; \ after first two lines; a before "Hello World!
  • 1 substitution; ' to " on the last line
  • 1 deletion; the % towards the end.

Try it here!

Conor O'Brien

Posted 2014-10-27T06:23:12.927

Reputation: 37 000

Are languages newer than the challenge allowed? – mbomb007 – 2016-02-24T21:37:07.933

@mbomb007 Yes, they are. – Conor O'Brien – 2016-02-24T21:49:36.270

3

Answer 173 - Vitsy

Distance 7 from answer 172

4mrZ"#03w(*#class jux!{public static void main(String[] h){#\
#System.Console.Writeln(//@\//Hello*}}print,cat<<#*)\
put"
a
"Hello World!";#(O).g!)S(#X` ;}}//printputsx;//-##E;]bye</>#*)

Oh, geez, that was easier than I expected it to be.

Explanation:

4mrZ inserted (4 chars), which calls the 4th index of code (the 5th line), reverses the stack, and then outputs everything in the stack as a char. I can get away with no newline due to the # character, which will teleport to the 90th character in the first line (which doesn't exist) (Z in ASCII), throwing an error and exiting the program.

Newline inserted before "Hello... (one char) to designate a new method line.

" substituted for ' at the end of World!' (one char) to end the quotes.

; inserted after the newly substituted " (one char), which is a return character. This leaves Hello, World! on the stack.

More interestingly, if you want to know what Vitsy is actually reading, here's the verbose mode version (any lines starting with : designate a newline):

push 4;
goto top method;
reverse stack;
output stack as chars;
toggle double quote;
teleport to top instruction;
push 0;
push 3;
wait top seconds;
if (int) top is 0;
multiply top two;
teleport to top instruction;
push 12;
push length of stack;
push 10;
push inverse sine of top;
push inverse sine of top;
 ;
j;
flatten top two stacks;
x;
!;
rotate stack left;
push whether (int) top item is prime;
flatten top two stacks;
push 11;
push length of stack;
push input item;
push 12;
 ;
push inverse sine of top;
push inverse tangent of top;
push 10;
push inverse tangent of top;
push input item;
push 12;
 ;
save top as temporary variable;
capture stack as object with next;
push input item;
push 13;
 ;
goto top method;
push 10;
push input item;
eval(stack);
if (int) top is 0;
push sine of top;
push inverse tangent of top;
reverse stack;
push input item;
eval(stack);
g;
begin recursive area;
end recursive area;
 ;
factorize top item;
if (int) top is not 0;
rotate stack left;
teleport to top instruction;
repeat next instruction set top times;
:teleport to top instruction;
push sine of top;
push number of stacks;
push inverse sine of top;
push inverse tangent of top;
push 14;
goto top method;
.;
push cosine of top;
capture stack as object with next;
eval(stack);
push inverse sine of top;
capture stack as object with next;
push length of stack;
push 14;
.;
STDIN;
reverse stack;
push input item;
push inverse tangent of top;
push 14;
push length of stack;
eval(stack);
if (int) top is 0;
divide top two;
divide top two;
get top specified item;
repeat next instruction set top times;
divide top two;
divide top two;
push all ints between second to top and top;
push 14;
push length of stack;
push length of stack;
capture stack as object with next;
multiply top two;
rotate stack right;
rotate stack right;
push whether (int) top item is prime;
reverse stack;
push input item;
eval(stack);
push inverse tangent of top;
,;
push 12;
push 10;
push inverse tangent of top;
go backward;
go backward;
teleport to top instruction;
multiply top two;
if (int) top is not 0;
repeat next instruction set top times;
:push whether (int) top item is prime;
flatten top two stacks;
push inverse tangent of top;
toggle double quote;
:push 10;
:toggle double quote;
push all ints between second to top and top;
push 14;
push length of stack;
push length of stack;
capture stack as object with next;
 ;
STDIN;
capture stack as object with next;
reverse stack;
push length of stack;
push 13;
!;
toggle double quote;
generic exit;
teleport to top instruction;
if (int) top is 0;
output top as character;
if (int) top is not 0;
.;
g;
!;
if (int) top is not 0;
push sine of top;
if (int) top is 0;
teleport to top instruction;
remove top;
`;
 ;
generic exit;
rotate stack right;
rotate stack right;
divide top two;
divide top two;
push whether (int) top item is prime;
reverse stack;
push input item;
eval(stack);
push inverse tangent of top;
push whether (int) top item is prime;
flatten top two stacks;
push inverse tangent of top;
push inverse sine of top;
x;
generic exit;
divide top two;
divide top two;
subtract top two;
teleport to top instruction;
teleport to top instruction;
push e;
generic exit;
end recursive area;
push 11;
push number of stacks;
push 14;
go backward;
divide top two;
go forward;
teleport to top instruction;
multiply top two;
if (int) top is not 0;

Try it Online!

Addison Crump

Posted 2014-10-27T06:23:12.927

Reputation: 10 819

3

Answer 174 - Y

Distance 7 from answer 173. Try it here!

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

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

Surrounded 4mrZ with quotes (2); added two characters gx after "Hello, World!". Added a newline after put", replaced the a with a ^, removed the x from printsputsx;// on the last line. Both 4mrZ and the long text after it are quoted and pushed to the stack; ^ probably does something, but nothing relevant, "Hello World!" pushes that sting to the stack, and g prints one item from the stack. x terminates the program. Fun fact: removing the x gives infinite "Hello World!"s because of the X, which wraps around to the beginning of the section.

Conor O'Brien

Posted 2014-10-27T06:23:12.927

Reputation: 37 000

@mbomb007 my pleasure! – Conor O'Brien – 2016-02-24T22:24:27.577

3

Answer 175 - Retina

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

^
Hello World!
gx`#(O).g!)S(#X` ;}}//printputs;//-##E;]bye</>#*)
<empty>

Distance 7 from Answer 174.

The last line is simply an empty line, so the next person should remove <empty>. I used free-spacing mode so that # starts a comment. This takes care of the unmatched brackets and parentheses. I guess the g is the last replace's configuration string is ignored?

Try it online

mbomb007

Posted 2014-10-27T06:23:12.927

Reputation: 22 375

3

Answer 177 - Seriously

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

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

The last line is intended to be empty; SE doesn't like blank lines at the end of code blocks.

Distance 6 from Answer 176

Modifications:

+ H. (at the start, prints "Hello, World!")
+ X  (before the first . on the last line; prevents extraneous printing by clearing the stack)
+ `kx  (at the end, finishes a function definition and clears the stack to prevent printing)

user45941

Posted 2014-10-27T06:23:12.927

Reputation:

@mbomb007 This solution is intended to also have the empty line; SE apparently doesn't like blank lines in code blocks (which I didn't realize). – None – 2016-03-08T21:08:45.710

^ yeah. It's annoying. It allows them if you use <code><pre> or something like it, but then it removes any < or >, which sucks for copy-paste purposes... – mbomb007 – 2016-03-08T21:54:46.147

2

Answer 180, 05AB1E

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

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

Distance 4 from Answer 179. Try it online!

Explanation

The program starts with an if statement. Since the stack is empty, that makes all of i#^.`4mrZ"#03w(*#class jux!{public static void main(String[ no-ops. When it gets to ], it closes all if statements, loops, etc. But, right ahead of that is another if. Once again the stack is still empty, so all of

ih){#\
#System.Console.Writeln(//@\//Hello*}

is a huge no-op. Next, p checks if top of stack is prime. Yet again the stack is empty, so it's also a no-op. Same goes with r; it just reverses the (empty) stack. Then the program encounters i with an empty stack again, so

int,cat<<#*)\
#put"

#^
is~ob

is yet another no-op. Again, the ] exits all if statements, loops, etc. Next 05AB1E parses "Hello World!" as a literal string and pushes it to the stack. Finally, q exits the program, making the rest of the code a no-op, and implicitly outputs top of stack.

Makonede

Posted 2014-10-27T06:23:12.927

Reputation: 1 361

2

Answer 46 - E

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

Distance 7.

I haven't actually run this. It may be that # comments must only have whitespace in front of them, in which case this is invalid, but I really doubt that.

Calvin's Hobbies

Posted 2014-10-27T06:23:12.927

Reputation: 86 100

I wonder if we could work backwards with unused languages and make the first two lines useable again. The second doesn't seem too hard, the first one is a different story though. – Etheryte – 2014-10-27T21:58:27.730

2

Answer 52 - tcsh

#//echo o[.>]tac;cat<<;#&&alert
(printf "Hello World!");

Distance 7 from answer 51.

Dennis

Posted 2014-10-27T06:23:12.927

Reputation: 200 652

1Missing name for redirect. Too many )'s. – jimmy23013 – 2014-10-27T23:42:48.080

1It doesn't work. The first line gives Missing name for redirect. The second gives Too many )'s. It never prints Hello World! – Gavin S. Yancey – 2014-10-27T23:49:53.510

1Not my day. It should work now. – Dennis – 2014-10-28T00:03:34.217

3The first error is still there. But it doesn't have any messages if it is in a script. I think this is acceptable. – jimmy23013 – 2014-10-28T00:07:37.780

2@user23013: Interactive tcsh doesn't seem to have comments. – Dennis – 2014-10-28T00:41:57.720

2

Answer 55 - Pixie; fallback option: ClojureCLR

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

Distance 3 from answer 54

The language is in early alpha and seem to have only REPL. Example session:

$ ./pixie-vm 
Pixie 0.1 - Interactive REPL
(linux, gcc)
----------------------------
user => "//echo o[.>]c;cat<<;#&&alert"(printf
//echo o[.>]c;cat<<;#&&alert
user => "Hello World!")
12
Hello World!user => 
$ 

When run outside REPL, I expect it to output just "Hello World!", without additional things.

The language is inspired by Clojure. The script works in Clojure too (without messy additional REPL output)

Here is example of ClojureCLR session (used clojure-clr-1.3.0-Debug-3.5.zip):

$ mono Clojure.Main.exe hello.clj ; echo
Hello World!
$

Vi.

Posted 2014-10-27T06:23:12.927

Reputation: 2 657

(Question "Why 12?") -> Result of printf - 12 bytes outputted. – Vi. – 2014-10-28T01:31:18.190

Is 12 also in the output? If so, it doesn't qualify: "The output should only be Hello World! and no other characters (a leading/trailing newline is not an issue)." – Etheryte – 2014-10-28T01:38:21.827

112, //echo o[.>]c;cat<<;#&&alert and user => are printed by REPL, not by the program. But as the language currently have only REPL so far, I can't test in "in real". – Vi. – 2014-10-28T01:39:27.237

I'll say this is allowed since it seems the best Pixie can currently do. But I would prefer you to change the language if possible. – Calvin's Hobbies – 2014-10-28T01:45:05.280

Note: now Pixie can run the program properly: ./pixie-vm hello.clj -> Hello World!. – Vi. – 2014-12-11T13:29:38.300

2

Answer 57 - Falcon

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

Distance: 7

Etheryte

Posted 2014-10-27T06:23:12.927

Reputation: 2 717

2

Answer 65 - Salmon

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

Distance 7 from Answer 64

Ypnypn

Posted 2014-10-27T06:23:12.927

Reputation: 10 657

2

Answer 66 - Turing

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

Distance: 7

grc

Posted 2014-10-27T06:23:12.927

Reputation: 18 773

2

Answer 72 - AutoLISP

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

Distance of 7 from Answer 71 (3 deletions of random stuff).

P.S. For those who argue about invalidity of different dialects of Lisp, you should post on the first dialect..

Timtech

Posted 2014-10-27T06:23:12.927

Reputation: 12 141

2

I don't think this should qualify as 1) AutoLISP is just a dialect of LISP and 2) it's practically identical to the already existing LISP answer. The question's author will be in a better position to say if it's okay or not though.

– Etheryte – 2014-10-28T18:39:40.593

6This will be the 4th version of LISP. Practically identical is not identical, given the princ instead of print. Many many other answers are practically identical, hell, some are even are identical. Where do we draw the line? – agweber – 2014-10-28T19:10:17.333

@agweber The plain Lisp answer also uses princ. The question isn't how similar (or different) it is to other language answers, but to that answer. If we allow answers like this then I got at least 10 identical Lisp dialect answers coming right up. – Etheryte – 2014-10-28T19:39:00.563

Is it safe to add #73 based on this one? – user3490 – 2014-10-28T20:16:05.163

1@user3490 yes.. – Optimizer – 2014-10-28T20:34:11.370

1There is no plain Lisp. Answer 48 did not specify which "Lisp". If it was Common Lisp, then there are many Lisps that are not Common Lisp. – kernigh – 2014-11-21T20:14:48.710

2

Answer 74 - Rebol

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

Distance from Answer 73 - 7

Anything followed by ; till newline is comment in Rebol

Optimizer

Posted 2014-10-27T06:23:12.927

Reputation: 26 004

2

Answer 75 - Maple

#sh  o[.]c;cat;#&&alert"  "print 
"Hello World!";#bye";dnl</vsh>~

Distance 7 from Answer 74.

Ypnypn

Posted 2014-10-27T06:23:12.927

Reputation: 10 657

2

Answer 78 - ksh

#sh  o[.]c;cat;#&&alert"  "
echo -en "Hello World!"
#";#bye;dnl</vsh>~

Distance 7 from Answer 77.

es1024

Posted 2014-10-27T06:23:12.927

Reputation: 8 985

2

Answer 94 - Processing

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

Distance 7 from answer 93

Emil

Posted 2014-10-27T06:23:12.927

Reputation: 1 448

Undeleted again, since it's now clear what answer 93 is. – Emil – 2014-10-29T20:13:36.243

2

Answer 97 - Dart

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

Distance: 7

It's about time we got an #include of some sort.

Etheryte

Posted 2014-10-27T06:23:12.927

Reputation: 2 717

What will you do with #include ? C answer is already done. – Optimizer – 2014-10-29T20:35:16.423

2@Optimizer include and import both start with i, and lots of languages use them. – archaephyrryx – 2014-10-29T20:36:00.317

2

Answer 101 - Alore

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

Distance 7 from answer 100.

Dennis

Posted 2014-10-27T06:23:12.927

Reputation: 200 652

I know, I just commented on this post because it was the latest one at the time that I made the comment, just so that future posters would see it. Sorry if I made it seem like I was commenting on your post specifically. – archaephyrryx – 2014-10-30T02:36:08.557

2

Answer 103 - T-SQL

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

Distance 7 from Answer 102.

Muqo

Posted 2014-10-27T06:23:12.927

Reputation: 499

2

Answer 104 - LiveCode

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

should be run from the message box in multiline mode

Distance 7 from Answer 103.

Gavin S. Yancey

Posted 2014-10-27T06:23:12.927

Reputation: 617

2

Answer 105 - Euphoria

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

Distance 4 from Answer 104

user4768

Posted 2014-10-27T06:23:12.927

Reputation:

2

Answer 106 - SpeakEasy

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

Distance from Answer 105 : 7

Optimizer

Posted 2014-10-27T06:23:12.927

Reputation: 26 004

2

Answer 111 - TPP

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

Distance 7 from Answer 110: moved select " to the line above and removed the space (2 deletion2), changed --# to --## on both lines (2), removed the "; from the end of the second line (2), and changed the space between select and " to a newline (1). As my sed post was deleted, I am assuming that I can post without waiting 8 more hours. This doesn't print "Hello World!", but displays it instead. If this is an unsatisfactory answer, let me know.

archaephyrryx

Posted 2014-10-27T06:23:12.927

Reputation: 1 055

I count 8. changed the space between select and " to a newline isn't quite what you did. – Muqo – 2014-10-30T19:12:30.450

@Muqo what do you mean? – archaephyrryx – 2014-10-30T19:37:00.830

Moving select " from the second line to the first line takes 2, and removing the space takes 1. You're counting only 2 (your first step and your fourth step). – Muqo – 2014-10-30T20:40:49.227

1OOPs. I will put back the period and let Timtech know. At least that won't actually break his answer. – archaephyrryx – 2014-10-30T21:02:48.490

2

Answer 112 - Geom++

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

Distance 7 from Answer 111 (7 additions)

Yes the spaces are required and no they're not printed

Timtech

Posted 2014-10-27T06:23:12.927

Reputation: 12 141

3

Forobj was already used in answer 102. So your answer doesn't follow the rules.

– Oriol – 2014-10-30T19:01:14.833

@Oriol Fixed ;) – Timtech – 2014-10-30T19:07:04.807

1It helps if people explain their answers some. Without research, one can't tell if this outputs leading or trailing spaces. The problem statement says: "The output should only be Hello World! and no other characters (a leading/trailing newline is not an issue)." so if there is (for instance) a rule by which leading and trailing spaces are stripped somehow that would be nice to point out the nuances of. Or whatever mad science is happening to meet the requirements; if " Hello World! " isn't a string constant but the quotes mean something else, etc. – HostileFork says dont trust SE – 2014-10-30T19:36:56.443

The wiki page says like Forth, quotes must be space separated so I think the lines with out the space separation are ignored and the Hello World! line prints correctly. Now mine finally fits I login and I can't answer cos it's protected! Noooooooooooooooo

– Matt – 2014-10-30T20:17:41.713

1Yes the spaces are required and no they're not printed – Timtech – 2014-10-30T20:20:04.323

@Timtech I changed my answer to re-include the period; you should as well. I proposed an edit, but you can beat me to it, – archaephyrryx – 2014-10-30T21:08:16.513

Okay thanks! :) – Timtech – 2014-10-30T21:09:16.270

@Timtech Okay, cool, but when I said without research I mean literally as in you don't have to click to the wiki to investigate what the rules are because there's a lot to read here in the chain given we're up to 112. – HostileFork says dont trust SE – 2014-10-30T21:15:24.903

@Dr.Rebmu Well I follow the rules so only if you're like "gotta make sure everyone is obeying" then yes you will have to do some work – Timtech – 2014-10-30T23:33:57.143

2

Answer 115 - RegXy

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

Distance from Answer 114 : 7

RegXy is based on Regular Expressions, perl styled.

label/regex/target_label means if the regex matches, go to the target_label line

label/regex/replacement/ means replace the regex match with replacement text.

Some more links

Optimizer

Posted 2014-10-27T06:23:12.927

Reputation: 26 004

Is there a working interpreter? The first line in your code doesn't seem valid. It has 3 /s. – jimmy23013 – 2014-10-31T02:16:19.833

The second / is inside a regex. -##[][/]#i--#main(){pu – Optimizer – 2014-10-31T02:18:33.260

The VB interpreter (from archive.org) seemed not parsing [/] correctly, although I don't know how to compile it. It will be better if there is another good interpreter. (But it also ignores invalid lines so your code works anyway.) – jimmy23013 – 2014-10-31T02:27:22.933

2

Answer 122 - PARI/GP

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

Distance 6 from Answer 121.

Tested using http://www.compileonline.com/execute_pari_online.php

Oriol

Posted 2014-10-27T06:23:12.927

Reputation: 822

2

Answer 123 - Red

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

Distance from Answer 122 : 7

Optimizer

Posted 2014-10-27T06:23:12.927

Reputation: 26 004

2

Answer 130 - Neko

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

Distance 7 from answer 129.

jimmy23013

Posted 2014-10-27T06:23:12.927

Reputation: 34 857

C# don't need public. It can come earlier. – jimmy23013 – 2014-11-01T18:31:08.447

Console.WriteLine is a bigger task to achieve. Isn't it ? – Optimizer – 2014-11-01T19:14:01.993

1@Optimizer There is also Console.Write. – jimmy23013 – 2014-11-02T02:08:24.113

2

Answer 132 - gosu

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

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

Distance 6 from Answer 131

user19187

Posted 2014-10-27T06:23:12.927

Reputation:

1class jux :D :D – Optimizer – 2014-11-02T09:14:49.317

This gives errors on https://gosu-lang.github.io/play.html . Am I doing something wrong ?

– Optimizer – 2014-11-02T09:23:57.243

I tested it offline and it works. It looks like the online player isn't working. I couldn't get any of the online examples to work. – None – 2014-11-02T09:39:37.677

You have to disable insecure content protection first for anything to compile. After that, all three samples work. – Optimizer – 2014-11-02T09:43:53.787

2

Answer 133 - V

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

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

Distance 7 from answer 132.

jimmy23013

Posted 2014-10-27T06:23:12.927

Reputation: 34 857

2

Answer 134 – ALAGUF

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

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

Distance 7 from answer 133.

Moving towards Java...

PurkkaKoodari

Posted 2014-10-27T06:23:12.927

Reputation: 16 882

There is already a ta which is in static. – jimmy23013 – 2014-11-02T14:50:42.560

Duh, didn't notice that. Well, too bad. It's after a // so shouldn't be too hard to cure. – PurkkaKoodari – 2014-11-02T15:46:04.123

2

Answer 137 - Caché ObjectScript

 //#class jux{//-ta[][static void main(){y//println(;\#//Hello*}}
 write "Hello World!" ;!puts
#;//-##[;]#bye</>%"

Distance 7 from Answer 136.

nneonneo

Posted 2014-10-27T06:23:12.927

Reputation: 11 735

What's with the yst ? – Optimizer – 2014-11-02T16:52:36.840

1I was going to do ystem but I needed more bytes to adjust the comments. – nneonneo – 2014-11-02T16:56:15.857

@Optimizer: edited the post, sorry; I apparently suck at comments. – nneonneo – 2014-11-02T17:02:08.993

Ah System.out.println !! – Optimizer – 2014-11-02T17:03:30.907

3@Optimizer: eventually, yeah. That's what all the class and static void bits have been building to. We can do either C# with System.Console.WriteLine or Java with System.out.println, and I think both are possible if we can find enough intermediate languages. – nneonneo – 2014-11-02T17:44:34.280

2

Answer 138 - owl

#//#class jux{//-ta[][static void main(Str){y//println(;\#//Hello*}} write 
"Hello World!"#;!puts
#;//-##[;]#bye</>%"

Distance 7 from Answer 137 (4 necessary, 3 to add int).

Timtech

Posted 2014-10-27T06:23:12.927

Reputation: 12 141

Doesn't main in Java take String[]? Or are we going for C++? – PurkkaKoodari – 2014-11-02T21:21:52.660

Right, I changed. – Timtech – 2014-11-02T21:53:15.533

2

Answer 139 – Cardinal

x//#class jux{//-ta[][static void main(Str){Sys//println(;\#//Hello*}} write 
%"Hello World!";x!puts
x;//-##[;]#bye</>%"

Distance 7 from answer 138 (5 necessary, 2 for adding Sys).

PurkkaKoodari

Posted 2014-10-27T06:23:12.927

Reputation: 16 882

2

Answer 140 - Parser

#//#class jux{//-ta[][static void main(Str){Syst//println(;\#//Hello*}} write 
Hello World!
#x!putsx;//-##[;]#bye</>%"

Distance 7 from answer 139 (6 nessasary, 1 for Syst).

jimmy23013

Posted 2014-10-27T06:23:12.927

Reputation: 34 857

I think I'd better change #x to #/ instead. – jimmy23013 – 2014-11-03T08:19:54.067

2

Answer 141 – Grin

[//#class jux{//-ta][static void main(Str){Syste//println(;\#//Hello*}} write]
(Hello World!)`x!putsx;//-##[;]#bye</>%"

Distance 7 from answer 140 (6 necessary, 1 for Syste).

PurkkaKoodari

Posted 2014-10-27T06:23:12.927

Reputation: 16 882

2

Answer 142 - Kitten

//#class jux{//-ta][static void main(Str){Syste//println(;\#//Hello*}} write]
"Hello World!"say"putsx;//-##[;]#bye</>%"

Distance 7 from answer 141.

jimmy23013

Posted 2014-10-27T06:23:12.927

Reputation: 34 857

2

Answer 144 - Asymptote

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

Distance 7 from Answer 143 - 4 (->\n, ]->(, and );) + 3 free changes (Syste//->System..))

archaephyrryx

Posted 2014-10-27T06:23:12.927

Reputation: 1 055

I swear I am not picking on you specifically, but I think you didn't count deleting the \n after write(. – Muqo – 2014-11-04T17:56:08.400

Sorry about that. The Lehvenstein distance calculator linked to by the OP doesn't distinguish newlines and spaces, so I didn't catch that. While the upper bound of 7 should be a strict global rule, I feel that cases like this might reasonably be allowed, as I would be able to do it in 5 changes if I didn't make other modifications, so it doesn't violate the true spirit of the challenge. It is a bit late to do anything about it, but a single character doesn't make much of a difference in the long run, IMO. – archaephyrryx – 2014-11-05T19:34:35.053

2

Answer 145 - Cat

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

Distance 7 from answer 144.

Tested in the C# interpreter. It doesn't work in the online interpreter.

jimmy23013

Posted 2014-10-27T06:23:12.927

Reputation: 34 857

2

Answer 146 - IDL

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

Distance 7 from answer 145.

  1. Inserted ; before /
  2. Replaced " by p
  3. Replaced t by n
  4. Replaced e by t
  5. Inserted ; before w
  6. Inserted , after print

And:

  1. Added o after System.

gerrit

Posted 2014-10-27T06:23:12.927

Reputation: 296

For those unfamiliar, see this PDF introduction, which shows that ; is comment character and includes a Hello World example. Surprising that after 145 answers, there is low-hanging fruit in non-esoteric languages left.

– gerrit – 2014-11-04T00:02:49.697

2

Answer 148 - WTFZOMFG

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

Distance from Answer 147 : 7

First language that I have seen which has unmatched quotes as syntax :D

Optimizer

Posted 2014-10-27T06:23:12.927

Reputation: 26 004

1TI-BASIC has unmatched quotes as syntax btw ;) – Timtech – 2014-11-04T13:19:10.557

Ah. Didn't know. – Optimizer – 2014-11-04T13:27:08.647

1I've never seen 'String" before, TI-BASIC just allows unmatched quotes like Disp "HELLO – QuadmasterXLII – 2014-11-04T16:44:00.947

Right. That's what I thought was meant, also Game Maker Language (GML) doesn't differentiate between ' and " (they probably still have to match each other though). – Timtech – 2014-11-04T17:04:26.373

2

Answer 152 - Onyx

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

Distance 7 from answer 151.

I found these languages here: http://concatenative.org.

jimmy23013

Posted 2014-10-27T06:23:12.927

Reputation: 34 857

2

Answer 176 - Codename Dragon

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

^
disp"Hello World!")
gx`#(O).g!)S(#X` ;}}//printputs;//-##E;]bye</>#*)
<empty>

Distance 7 from Answer 175.

For some reason, this works without the leading (. The seven chars added were disp" (5) followed by ") (2). (NOTE THAT THE LAST LINE IS AN EMPTY LINE.)

To execute the program, go the github in the header and paste CDragon.js into a jsfiddle or something, then call the wrapper function with the above code.

Conor O'Brien

Posted 2014-10-27T06:23:12.927

Reputation: 37 000

2

Answer 178 - Reng v.3.3

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

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

Distance 7 from Answer 177. Changes:

  • H^ (1)
  • d< (2)
  • inserting ~;ob (6)
  • removing the final newline (7)

Here is the code passed over:

^




<   ~;ob"Hello World!")
g

g and ) are no-ops. Otherwise, this is a pretty standard HW submission. Try it here!

Conor O'Brien

Posted 2014-10-27T06:23:12.927

Reputation: 37 000

1

Answer 76 - FreeBASIC

'#sh  o[.]c;cat;#&&alert"  "
print "Hello World!"
';#bye";dnl</vsh>~

Distance: 5

Etheryte

Posted 2014-10-27T06:23:12.927

Reputation: 2 717

1

Answer 79 - Hack

<?hh #[.]c;cat;#&&alert"  "
echo $e= "Hello World!"
;#";#bye;dnl</vsh>~

Distance 7 from answer 78.

jimmy23013

Posted 2014-10-27T06:23:12.927

Reputation: 34 857

1

Answer 84 - sh

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

Distance from answer 83: 7

  • Added #
  • Removed @
  • Changed ( to
  • Added 2 "'s
  • Added #

Yes, bash and dash have been done, but I'm just taking the opportunity here as sh has not...

Added the quotes just to get some difficulty up.

PurkkaKoodari

Posted 2014-10-27T06:23:12.927

Reputation: 16 882

4-1 for "Added the quotes just to get some difficulty up". The OP clearly stated that the goal is to have the chain go as long as possible, and we should be cleaning up the mess instead of adding more. – nyuszika7h – 2014-11-01T20:48:37.377

On most computers today, sh is really bash or dash or ksh. All those languages are taken. But on older System V systems, sh was the classic Bourne shell, the predecessor to those other shells. Heirloom sh is a current implementation of the classic language. – kernigh – 2014-11-21T20:20:57.167

1

Answer 86 - csh

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

Distance: 7

Etheryte

Posted 2014-10-27T06:23:12.927

Reputation: 2 717

2bring on all the shell variants ... ;p – None – 2014-10-29T11:17:19.647

ps: #85 is still under debate – None – 2014-10-29T11:17:56.373

@Stacey Figured if Lisp variants are okay then why not. And yeah, I noticed the comments there, if 85 is invalid I can just update this answer. – Etheryte – 2014-10-29T11:19:21.280

1#85 is perfectly valid, I found the documentation. See my comment on #85. – None – 2014-10-29T11:27:52.963

1

Answer 93 - QBasic

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

Distance 7 from answer 92.

C is possible now.

jimmy23013

Posted 2014-10-27T06:23:12.927

Reputation: 34 857

2CCCCCCCCCCCCCCCCCCC – Optimizer – 2014-10-29T19:54:56.750

Mine was first. I refreshed the two pages until the timestamps differed and mine was posted before this one was undeleted. – feersum – 2014-10-29T20:00:13.820

I never saw yours before posting. I just checked the undeletion timestamp on http://codegolf.stackexchange.com/posts/40645/revisions

– feersum – 2014-10-29T20:02:29.560

@feersum I was just about to delete my answer. But mine is 19:53:13Z in that page. And yours is 19:53:36Z. – jimmy23013 – 2014-10-29T20:07:13.633

How do you get the time in seconds? I can only see minutes. – feersum – 2014-10-29T20:07:47.920

Heh. Should have known not to trust JavaScript! – feersum – 2014-10-29T20:10:36.260

Note: print is usually upper case in QBASIC, and the () is redundant. They only makes it easier for languages like C, or we'll run out of languages soon. – jimmy23013 – 2014-10-29T20:35:26.807

@feersum Hover over the timestamp. – nyuszika7h – 2014-11-01T20:50:43.630

1

Answer 109 - REXX

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

Distance from Answer 108 : 7

Try it online here

Optimizer

Posted 2014-10-27T06:23:12.927

Reputation: 26 004

1

Answer 114 - itflabtijtslwi

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

Distance 7 from answer 113.

I saw so many Lisp, sh, Basic and SQL dialects here. This time it's a /// dialect.

jimmy23013

Posted 2014-10-27T06:23:12.927

Reputation: 34 857

1

Answer 117 - Squirrel

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

Distance 7 from answer 116.

jimmy23013

Posted 2014-10-27T06:23:12.927

Reputation: 34 857

1

Answer 136 - Flaming Thunder

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

write"Hello World!".#!puts
#;//-##[;]#bye</>%"

Distance from Answer 135 : 7

Optimizer

Posted 2014-10-27T06:23:12.927

Reputation: 26 004

1

Answer 143 - TwoDucks

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

Distance from Answer 142 - 7 (2 for // 5 for ing[])

Optimizer

Posted 2014-10-27T06:23:12.927

Reputation: 26 004

1

Answer 169 - Simplex v.0.6

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

Distance 7 from answer 168:

  • 3 ! inserted
  • 1 newline inserted
  • 2 " inserted
  • 1 g inserted

Hopefully the newline helps a bit. Anything of the form !...! not in a string is treated as a comment, and a matching ! is not required, as an EOF closes everything/does not care if something is closed. I'll extract the portion of the code I used to make it more clear:

!...!\n"Hello World!"g!... 
!...!                      ~~ comment
     \n                    ~~ newline
       "            "      ~~ consecutively add each character to the strip
        Hello World!       ~~ add this
                     g     ~~ clear the strip and output those characters
                      !... ~~ comment the rest of the file

Conor O'Brien

Posted 2014-10-27T06:23:12.927

Reputation: 37 000