text:
Evolution of "Hello World!"
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

Optimizer - CJam, Groovy, HTML, Forth, Rebol, Markdown, CASIO BASIC, SpeakEasy, REXX, RegXy, Pawn
jimmy23013 - GNU dc, Zsh, Burlesque, bc, Hack, GDB, QBasic, MediaWiki Markup, itflabtijtslwi, Squirrel, AGOL 68

7 Answers

Nit - APL, Clipper, Falcon, MUMPS, FreeBASIC, csh, Dart
Timmy - Lua, Lisp, Oz, Algoid, KTurtle, Alice, OCaml

6 Answers

Stacey - VHDL, GNU Octave, M4, Logo, Microsoft Batch, Matlab
Dennis - Dash, tcsh, TeX, ///, HQ9+-, Alore

5 Answers

plannapus - Stata, Scheme, SQLite, Scala, Suneido
Pietu1998 - PHP, sh, ALAGUF, Cardinal, Grin

4 Answers

ypnypn - NetLogo, Mouse, Salmon, Maple
resueman - Clojure, Emacs Lisp, Vimscript, VBScript
Timtech - AutoLisp, Geom++, BogusForth, owl

3 Answers

BrunoJ - CoffeeScript, F#, Betterave

2 Answers

Mig - Extended BF Type III, TCL
Calvin's Hobbies - Python, E
Sp3000 - Racket, Pyth
grc - Haskell, Turing
es1024 - Nimrod, ksh
FireFly -  FALSE, mIRC script
g-rocket - AppleScript, LiveCode
Oriol - AMPL, PARI/GP
nneonneo - Boo, Caché ObjectScript

Languages used so far:

Python
CJam
PHP
Pyth
Perl
Befunge 98
Bash
Nimrod
Ruby
GNU dc
Golfscript
Mathematica
R
Lua
Sage
Julia
Scilab
JavaScript
VHDL
HyperTalk
Haskell
LOLCODE
APL
M30W
Stata
TI-BASIC (NSpire)
ActionScript 2
J
PowerShell
K
Visual FoxPro
VBA
Extended BF Type III
Zsh
Dash
Clojure
NetLogo
Groovy
CoffeeScript
Clipper
B.A.S.I.C.
FALSE
fish (shell)
GNU Octave
TCL
E
newLisp
Lisp
SMT-LIBv2
Racket
Batsh
tcsh
AppleScript
Mouse
Pixie
F#
Falcon
Burlesque
HTML
SGML
M4
MUMPS
TeX
Forth
Salmon
Turing
bc
Betterave
Scheme
Emacs Lisp
Logo
AutoLISP
///
Rebol
Maple
FreeBASIC
Vimscript
ksh
Hack
mIRC
Batch
Make
Markdown
sh
GDB
csh
HQ9+-
Postscript
Matlab
Oz
CASIO BASIC
VBScript
QBasic
Processing
C
Rust 0.13
Dart
Kaffeine
Algoid
AMPL
Alore
Forobj
T-SQL
LiveCode
Euphoria
SpeakEasy
MediaWiki
SmallBASIC
REXX
SQLite
TPP
Geom++
SQL (postgres)
itflabtijtslwi
RegXy
Opal.rb
Squirrel
Pawn
Scala
Rebmu
Boo
PARI/GP
Red
Swift
BeanShell
Vala
Pike
Suneido
AWK
Neko
AngelScript
gosu
V
ALAGUF
BogusForth
Flaming Thunder
Caché ObjectScript
owl
Cardinal
Parser
Grin
Kitten
TwoDucks
Asymptote
CAT
IDL
Tiny
WTFZOMFG
Io
MuPAD
Java
Onyx
JBoss
S+
Hexish
yash
Improbable
wake
brat
busybox built-in shell
gammaplex
KTurtle
AGOL 68
Alice
SML/NJ
OCaml
CDuce
Underload
Simplex v.0.6
Minkolang 0.9
Fexl 7.0.3
Jolf
Vitsy
Y
Retina
Codename Dragon
Seriously
Reng v.3.3
Fuzzy Octo Guacamole
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.

I can already see it's going to be really difficult to get a Whitespace answer in here.

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

"Sort by oldest" is useful here.

@Sp3000 True, but I think that would fall under the "standard loophole" category.

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

How will you know that things got settled down ? :P

@Quincunx If someone has posted after you already, then no.

@Quincunx You can but if it is valid it would be better if you didn't.

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

@Optimizer See? Things have already settled...for 8 hours at least :P

@Calvin'sHobbies - More new users can still answer. Specially the main ones are still sleeping ;)

chatroom for discussion on this question

I was hoping to do some HQ9+ here, but... That may be hard.

Does changing capitalization increase the distance?

@Nit Yes, H and h are still different characters.

Thanks, @Calvin'sHobbies. The answers are coming in so fast that it's hard to get one in.

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

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

@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, this is the time elapsed until a next answer is posted.

@Mig yes I understood that, but then Next Answer = previous answer + 8hours, no?

Does it have to be stdout? That pretty much makes a TeX answer impossible. :(

TeX does have stdout via the \typeout macro, but the cost is too big.

@nyuszika7h Well, it's only slightly too big. With the right previous answer it could work.

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.

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

Do multibyte chars count as one or two?

@Nit You can't use them. See rules about printable ASCII.

C, 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 So far, the comments, chat, and answers seem to point to requiring a full program.

@KennyTM #include <stdio.h> isn't required if you can find at least one compiler which can compile without this line.

@Ypnypn I don't think the VHDL answer is a full program

this might be useful

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

It would be amazing if we could steer this towards the Malbolge "Hello World!" program, which luckily prints that exact text.

@archaephyrryx Or, alternatively, Java - which would be just as hard.

So now it has come to this that I am unable to answer anymore ;)

@Optimizer Have you been answering every 8 hours? Wow!

@Mig migl.io/projects/hw is showing only 100 records. Can you fix that?

@user23013, fixed

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

I know it's Levenshtein distance, but I keep memorising it as Leiningen distance.

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

@gerrit Actually, auto-CW has been removed entirely. Still, 500 wouldn't be a bad milestone ;)

@gerrit Cause I could really use 350 more answer notifications...

@Sp3000 Java is done. ✓ Now for BF and Malbolge …

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

Does pseudocode count as a language?

@ChaseRoberts Of course not.

@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 Very Well, seems like a fair request.

There's a very minor typo- 'Guacamolea'

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.

Please revision your answer, the 85 was an invalid answer (I didn't notice the language had been used before) and I deleted it.

Any link to GDB ?

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

Its like running java project in Eclipse rather than Netbeans

"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

@Stacey echo is a command for debugging, which is neither Ada, C or C++, etc.

@user23013 echo is a function in the language similar to printf in C. Please delete this question as other answers are already coming in.

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)

@Stacey Sorry I didn't see that edit.

Accepting this answer instead of giving Optimizer bounty as per his request. user23013 may be considered the official winner!

@Calvin'sHobbies ...Well, why the bounty?

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'sHobbies Then I set a +100 bounty for Optimizer. (And I guess you can only start at least +400 bounty now...)

You guys are too generous :) even though I was being a bit of selfish there :P

@Optimizer I didn't find any better uses of reps after being 4k+...

Answer 1 -  Python
print("Hello World!")

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

Why is this being up-voted but not the question? I guarantee you the question was harder to write ;)

Why is your comment being up-voted more than your answer?

@Calvin'sHobbies Answer upvotes are worth more, you shouldn't complain :-)

@tom Why is your comment being up-voted more than this answer?

^ All of them regretting that there are no rep awarded for comment upvotes!

@Opt oh... At least I can get Pundit badge for my 5+ score comments :D

If 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)

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.

i have never seen such type of html. any link to learn this html?

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

but what does <echo o[.]c;cat<<;#&&alert" "> mean ?

is it a dummy tag ?

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

yeah got it. very clever . +1

Pretty dang clever. Never would have thought of it.

I think this is what happens when you read standards documents at 3 am while on peyote.

@Optimizer Required reading for people recommending w3schools. ;)

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. This is just beautiful writing.

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.

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

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.

@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]

[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

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 .

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.

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

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

The 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?

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

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

Distance 7 from answer 94

Bloody finally.

@Optimizer I didn't get any kind of runtime error using gcc 4.7.2 on my computer.

Where do the extra spaces in the third line come from? Is it possible that that is a mistake?

@Optimizer It printed Hello World! but returned exit code 13. I think that's also what happened on ideone.

@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)

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

Not that I am complaining, but why is this the third most-highly rated answer ?_?

Some of the previous answers (starting from 85 GDB) did extra work to prepare for C.

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 :) )

Now for the C# answer!

Answer 22 - LOLCODE
VISIBLE "Hello World!"

Distance : 6

Looks like distance 6 to me - delete p, ut -> VI, tr -> IB, n -> E

Thanks. I think I copied different code while calculating distance.

Answer 10 - GNU dc
[puts "\x48][Hello World!]p

Distance: 6

Well this is hard. Haha.

@MarkGabriel Hint: Substring.

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.

Darn, I had a good one for the previous.

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

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

Well, 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.

As 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).

@MartinBüttner Both HTML and Markdown are at least better than HQ9+ (or Huby). And there are console browsers to convert them to text.

@user23013 Everything is better than HQ9+, but that doesn't make them programming languages.

Can we have this discussion somewhere else rather than on my answer ? :)

Still pretty impressive

Answer 11 - Golfscript
#[puts "\x48]
"Hello World!"

A distance of 5.

Answer 15 - Sage
print("Hello World!")

Distance = 6
Full circle.

Full circle indeed.

Answer 12 - Mathematica
#[puts];
"Hello World!"

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

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.

I should have inflated this, but oh well.

I'm just going to post answer 7 based on the inflated version...

@user23013 sure

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

Now I decided to wait longer for some other answers.

@user23013 But if you use the longer version, we might be able to eventually get languages like Java in here!

@Quincunx I can't imagine us ever being able to get up to System.out.println...

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

@Sp3000 We can firstly write the Java program in a comment. Then turn everything else into a comment.

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

I think you're missing a k before the ,

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

Answer 2 – CJam
"Hello World!"

This is a distance of 7 from the first answer
Try it online here

Answer 19 - VHDL
report "Hello World!";

Distance: 6

wow :) ........ stubborn huh?

Haha, I've been waiting for a code golf question that allows me to use an HDL :p

Answer 3 – PHP
<?="Hello World!"?>

This answer is a distance 5 from the second answer.

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: That's only true for the PHP shell, which makes it invalid for this challenge.

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

I have realized that you'll need to remove quotation marks (which makes it Levenstein distance 2) to be fully compliant.

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.

You don't need the closing ?>

@Petah So? This is not code golf. We are not supposed to make it as short or as easy to continue as possible.

@Pietu1998 Haha, well, indeed. Without PHP syntax it's pretty weird to think of the source to actually be the PHP program. :)

Answer 23 - APL
 "Hello World!"

Note there's a leading space.
Distance: 7

the W must be capitalized to print "Hello World!".

Answer 5 - Perl
print"Hello World!"

This answer is a distance 6 from the fourth answer.

Answer 7 - Bash
echo Hello World!

This is a distance of 7 from the sixth answer.

A lame distance zero from here would be Batch.... Quick @RandomUserViewingThisComment, go post it!

@Quincunx Distance 1 with the @ character.

@user23013 Good point; I'm very poorly acquainted with Batch.... But it would work in commandline.

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

@user23013 Oh, that makes sense.

Answer 28 - J
]trace=:('Hello World!')

Distance = 5 from Answer 27

] + = + : + ' + ' = 5, right?

Sure. Missed it being quick... This type of question surely adds a real time feeling to code challenges :P.

one of the oddest notations for a language with such a simple name...

And J could have been answer 2, by deleting the print and replacing the double with single quotes, ending up with ('Hello World!').

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

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

It's corrected. My apologies.

My answer is also fixed.

I got a neat one lined up for this, can't wait for the 8-hour timer.

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

Distance 6 from Answer 99

WOOO. #100! Have +10 rep.

Answer 8 - Nimrod
echo "\x48ello World!"

Distance of 6 from the last answer.

There's not supposed to be a comma.

Answer 14 - Lua
#[put
print("Hello World!")

Distance = 7

Aaand we're back to the start, good job.

hi @Timmy, I'm sorry but I had to change my answer from print to cat.

Answer 21 - Haskell
putStrLn "Hello World!"

Distance: 7

Am I the only one who thinks Haskell's version of print is dafter than LOLCODE's?

@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).

@Pharap ¹It doesn't actually work with any type, only with Showable types.

@leftaroundabout Well, suum cuique pulchrum est I suppose.

@ceasedtoturncounterclockwis data W=World;data H=Hello W; Hello World

Answer 26 - TI-BASIC (NSpire)
Disp "Hello World!"

Distance: 5 from answer 25
(Tested on a TI-NSpire calculator)

I see you have an NSpire calculator; that should be noted in the title as TI-83/84/+/SE do not have lowercase letters.

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

Answer 29 - MS Windows Powershell
#]trace=:(
'Hello World!'

Distance = 3 from Answer 28

Actually, I liked how the punk-haired smiley just appeared...  =:(

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

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

I should have done some of that cruft cleaning myself, but I can't now. I'd break the chain.

random upvote for being answer 42 - the answer is false :P

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.

Ah... If you could have just put an h after the String[], next answer would have been in Java ;)

In the interest of getting a long chain, I guess I'll just cheat and edit that in right now. ;-)

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

Distance 7 from answer 72.

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.

Answer 16 - Julia
println("Hello World!")

Distance from 15 = 2

Which answer 15 have you used?

@BetaDecay I had linked to it, but I've changed it now that the C one was deleted.

Answer 18 - JavaScript
alert("Hello World!");

Lev. Dist from A#17 = 5

awww, so close! you beat me by 15 secs :(

@Stacey maybe....

An alert window isn't stdout...?

@zamnuts It is commonly accepted on PPCG to use alert in Javascript as it has no real stdout.

@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 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).

Answer 24 - M30W
say [Hello World!]

Distance: 5

the W must be capitalized to print "Hello World!".

Typo, thanks for pointing it out.

Well, now I know why I've never heard of M30W. +1

Answer 25 - Stata
display "Hello World!"

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

Answer 27 - ActionScript 2
trace("Hello World!")

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

Why 2? This is ActionScript 1.

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.

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

Love the use of the commenting

Answer 60 - SGML
Heck, if HTML counts…
<vsh  o[.]c;cat;#&&alert" ">Hello World!</vsh>

Distance from Answer 59 : 7

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

Answer 121 -
#{//-##[][/]#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.

What happened to answer 120?

@hosch250 seemed to just be a typo, it was relative to 120 and linked, just mislabeled.  Edited

OK, I thought that might be the problem.

Derp, thanks for fixing that.

LOL Boo . We now need Yeah!

@Optimizer is that a language? Linky?

@JanDvorak: it isn't a language yet. He's comparing Yeah! to Boo!

Ah. What a shame...

I meant to complete it like Boo Yeah!

Appropriate language given today's date.

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.

I would've cleaned up some of the odd things like 'dnl<vsh' instead of the common comment characters.

@agweber why make things too easy? :P

@resueman Because in the question it was stated that the goal was to make the chain as long as possible.

Answer 9- Ruby
puts "\x48ello World!"

Distance: 4

Answer 13 - R
#[puts];
cat("Hello World!")

Distance = 5

Answer 20 - HyperTalk
answer "Hello World!"

Distance: 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.

How on earth have you ever come across and vFox? Well done/sorry :-)!

@Ben By browsing the list of "hello world" examples on Wikipedia and looking for short ones ;)

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.

I count more than 5: a = " is already 5, and then there is ": and the newline transformed into a space.

You might want to dump the spaces, because right now it's 8.

Shoot. I forgot to remove the extra space and there is already another answer @Scimonster.

I left a comment on the other answer notifying them so they can fix it after you do.

Fixed @Scimonster. Thanks and sorry about that.

I like how you introduced a variable. More "programmatic" solution than just commenting some things out.

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.

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

Distance 6 from answer 95.

I was sluggishly monitoring this for "C" answer to finally appear in order to try Rusting it...

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.

Note: The spaces after main() is a tab (introduced for Makefile). I didn't change it.

Someone should get rid of it ...

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

Answer 17 - Scilab
disp("Hello World!")

Distance = 6 to Answer 16

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

I haven't tried running it, but changing this to Scilab might fix it

@DangKhoa Aww, that's too bad. But it's fixed now.

sorry for the clumsiness, and thanks for the fix!

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.

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

Distance: 6

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

Distance: 6 insertions to answer 87.
Back to real programming languages.

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

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

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

Distance 7 from answer 62.

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

Anyway, it's probably too late now, not worth breaking the chain.

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

It might be LaTeX-specific then, I didn't know.

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

Distance: 7 from answer 66.

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 ;

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

Distance of 7 from Answer 70.
Online Interpreter

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

There is a literal tab before the @echo. (Stack Exchange stupidly converts tabs to spaces.)

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

Distance: 7 from Answer 33.

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.

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

Distance = 7

Is that supposed to be princ?

@TRiG It's not a typo. http://stackoverflow.com/questions/19756296/whats-the-difference-between-write-print-pprint-princ-and-prin1

This doesn't say which Lisp.  I guess this was meant to be Common Lisp.

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

Distance 7 from Answer 53.

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

upvote for cat & mouse :)

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

Distance from Answer 60 : 7

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.

"eco" - I see what you did there. ;)

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

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

@MartinBüttner: That definition seems to exclude a lot of interesting languages, such as Deadfish x.

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

The best (or worst) use of HQ9+- should be "Hello World!" -> "HelloW -> h(); -> stuck.

@user23013 Well, I could have messed with the Hello World! string, but I'm trying to win this contest...

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.

This is invalid, you have a random percent sign that is not in quotes...

@Timtech Yes; why does that make this invalid?

It appears that multi-line strings aren't supported in forobj

@Timtech What makes you think that? Forobj does support multiline strings, to my knowledge.

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

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

Distance 7 from Answer 76

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=""~).

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.

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

Distance 3 from answer 34.

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.

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

Distance 5 from from Answer 36

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

7 distance from 37
Try it here

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

6 distance from 38
Try it here

I am skeptical about having both JS and CS :P

Could be, but this one uses different syntax than the JS one :P

That's because it had to :P

@Optimizer I think that it's OK because they use different syntax.

@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).

Answer 44 - GNU Octave
#ah="*#[.>]trac";cat<<
#&&alert
disp "Hello World!"

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

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

distance = 7

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

Distance = 5

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

Distance = 7

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

Distance 6 from answer 52

I knew AppleScript had -- comments but not # comments.  Seems that AppleScript added # comments in AppleScript 2.0.

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

7 distance from 55
Try it here

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

Distance: 6 to answer 89

Let's keep up the flow and continue aiming for C

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.

For a second I thought it was the other Small Basic. Was slightly disappointed. Great answer nonetheless!

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

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

Distance 5.

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

Distance 7 from answer 123.

I have a good one derived from answer 121 but...

Please continue the flow towards Java only.

@Optimizer But only if I can find more languages...

@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).

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

Too late for that now :P

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

Distance from Answer 124 : 7

 Trying to move towards Java

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

Distance from Answer 128 : 7
Run it online here

Well Pascal is no longer likely to be possible now...

Oh! I tried with BEGIN, but it was 1 char too much :(

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

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

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

So, is OCaml the final submission?

Yes, I'm finally marking this answer as this official end of the contest. Amazing job everyone!

@Calvin'sHobbies Can I make a new submission?

@Deformyer Sure. Feel free to keep it going if possible.

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 «).

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

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.

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

Distance from Answer 63 : 7
Try it online here

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 - The undeleted answer still tells the older timestamp, which was earlier than 8 hrs :(

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

Distance from Answer 67 : 7

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

Sorry, I posted an answer before you. Also, that distance is incorrect.

I'll update my answer

Neat, nicely done.

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.

Yes, the question mark is a valid alias for print in many versions of Basic.

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.

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

What's the point of the final comment?

Absolutely useless !

It's only challenging for a language that doesn't use # for comments ;)

I thought I can get if 0 [puts "Hello World!"] at some point... to make it not only challenging but also confusing.

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

The final comment was just unfair..

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

Distance 7 from answer 57.

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

Distance: 7  to answer 88.

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

Distance from Answer 90 : 7

I can only get a distance of 8 with the language I am trying...curses!

bwahahahahahahah

Ack, also 8 away :/

You all just got beaten by VBScript

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

Distance 7 from Answer 91

Better if you have removed the Show...

@user23013 Unless there's a way to free up another 4 changes, I didn't really have the ability to do so :P

You can replace the Show\n with \nMsgBox. The space isn't required in VBScript.

If you have space, cleanup other stuff too!

Okay, I made the suggested changes. Little bit of cleanup got done

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?

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

Distance 7 from Answer 98

I had no idea that print was a valid command in Algoid... I thought it was just text.output.

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

Well that'll help with golfing :)

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

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!

Too bad all the shells I can think of are already taken. I'd have loved to take cat<<<'Hello World!' next.

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 !

I didn't know the ; can be skipped in SQL...

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

Interesting. Thanks for the tip, that's good to know!

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.

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

Distance from Answer 117 : 7
Try it here

+1 for bringing main() back again.

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.

I like alliterations :)

-1 for removing main() back

I don't get that one: isn't it here still?

I meant back in comment ;) See this

ah ok :) Is there still a lot of languages using it that haven t been done yet?

Does "Scala" mean "Java" is on the way?

What if people used their extra changes and started writing the java one in the comment? :0

@Luminous I'm afraid we don't have much time anymore

 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.

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.

This has distance 13. Please delete this ASAP.

You added 1dA, 2, 3dA and modified void to ]#i--#

@Optimizer, oh I missed your extra edits in the paste.  I'll put those back.  That was just an oversight.

Next time, read and think carefully before accusing and frowning upon others.

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

@Optimizer In fact, I want Pascal.

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.

@user23013 Sure.

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

Your answer is invalid because of this rule : "You may only use tabs, newlines, and printable ASCII."

Be nicer has nothing to do with trying to follow rules.

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

Let's ask OP in chat.

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

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

Distance from Answer 125 : 4

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

Tested here.
Distance 7 from answer 126.

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.

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

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

Distance from Answer 130 : 7

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)

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

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

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

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.

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#

Should I add two more chars to my answer so you can add them to yours?

@nooodl Please don't edit now as it will effect the other 2 answers too.

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

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.

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

you killed the chain haha...

@Rodolvertice It is still possible with some Basic dialects...

@user23013 maybe you should do it, 5 Days are over and the required wait time is only 8 hours.

There cant be 2 answers in a row by the same person.

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.

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!

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.

Answer 182 - Vyxal Ṫ
kh\!#^.`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

Try it Online!
Distance of 4 from the last answer.
Due to a parsing bug in the current version of Vyxal, everything after the kh\! is commented out, including the last two lines.

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

Distance 7 from Answer 64

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

Distance: 7

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

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.

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

Is it safe to add #73 based on this one?

@user3490 yes..

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

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

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

Distance 7 from Answer 74.

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

Distance 7 from Answer 77.

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.

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.

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

Distance 7 from answer 51.

Missing name for redirect. Too many )'s.

It doesn't work. The first line gives Missing name for redirect. The second gives Too many )'s. It never prints Hello World!

Not my day. It should work now.

The first error is still there. But it doesn't have any messages if it is in a script. I think this is acceptable.

@user23013: Interactive tcsh doesn't seem to have comments.

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!
$

(Question "Why 12?") -> Result of printf - 12 bytes outputted.

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)."

12, //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".

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.

Note: now Pixie can run the program properly: ./pixie-vm hello.clj -> Hello World!.

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

Distance: 7

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

Distance 7 from answer 93

Undeleted again, since it's now clear what answer 93 is.

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

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

What will you do with #include ? C answer is already done.

@Optimizer include and import both start with i, and lots of languages use them.

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

Distance 7 from answer 100.

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.

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

Distance 7 from Answer 102.

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.

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

Distance 4 from Answer 104

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

Distance from Answer 105 : 7

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.

I count 8.  changed the space between select and " to a newline isn't quite what you did.

@Muqo what do you mean?

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

OOPs. I will put back the period and let Timtech know. At least that won't actually break his answer.

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

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

@Oriol Fixed ;)

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

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

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

@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,

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

@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

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.

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

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

Is there a working interpreter? The first line in your code doesn't seem valid. It has 3 /s.

The second / is inside a regex. -##[][/]#i--#main(){pu

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

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

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

Distance from Answer 122 : 7

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

Distance 7 from answer 129.

C# don't need public. It can come earlier.

Console.WriteLine is a bigger task to achieve. Isn't it ?

@Optimizer There is also Console.Write.

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

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

Distance 6 from Answer 131

class jux :D :D

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

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.

You have to disable insecure content protection first for anything to compile. After that, all three samples work.

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

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

Distance 7 from answer 132.

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

There is already a ta which is in static.

Duh, didn't notice that. Well, too bad. It's after a // so shouldn't be too hard to cure.

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

Distance 7 from Answer 136.

What's with the yst ?

I was going to do ystem but I needed more bytes to adjust the comments.

@Optimizer: edited the post, sorry; I apparently suck at comments.

Ah System.out.println !!

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

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

Doesn't main in Java take String[]? Or are we going for C++?

Right, I changed.

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

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

I think I'd better change #x to #/ instead.

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

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

Distance 7 from answer 141.

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

I swear I am not picking on you specifically, but I think you didn't count deleting the \n after write(.

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.

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.

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.

Inserted ; before /
Replaced " by p
Replaced t by n
Replaced e by t
Inserted ; before w
Inserted , after print

And:

Added o after System.

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.

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

TI-BASIC has unmatched quotes as syntax btw ;)

Ah. Didn't know.

I've never seen 'String" before, TI-BASIC just allows unmatched quotes like Disp "HELLO

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

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.

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.

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)

... Anyone has ideas fixing answer 154?

About that.. :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!

Rise of the new golfing langs!

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!

Are languages newer than the challenge allowed?

@mbomb007 Yes, they are.

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.

@mbomb007 my pleasure!

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

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)

@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).

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

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

Distance: 5

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

Distance 7 from answer 78.

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.

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

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.

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

Distance: 7

bring on all the shell variants ... ;p

ps: #85 is still under debate

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

#85 is perfectly valid, I found the documentation. See my comment on #85.

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

Distance 7 from answer 92.
C is possible now.

CCCCCCCCCCCCCCCCCCC

Mine was first. I refreshed the two pages until the timestamps differed and mine was posted before this one was undeleted.

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

@feersum I was just about to delete my answer. But mine is 19:53:13Z in that page. And yours is 19:53:36Z.

How do you get the time in seconds? I can only see minutes.

Heh. Should have known not to trust JavaScript!

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.

@feersum Hover over the timestamp.

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

Distance from Answer 108 : 7
Try it online here

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.

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

Distance 7 from answer 116.

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

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

Distance from Answer 135 : 7

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[])

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.

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!

Answer 183 - Jyxal 0.5.1
kh\!+#^.`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

No, Jyxal is not Vyxal. Distance of 5.

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

Answer 181, Foo
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 of 2 from the last answer
Foo simply prints everything between quotes.
Try it online!

authors: آرمین سلطانی

authors: الاهلى الملكى

authors: ولی اله پناهی نژاد

authors: 一品3娱乐代理--平台总代

authors: 博世娱乐代理--平台总代

authors: 天九娱乐代理--平台总代

authors: 恒行3娱乐代理--平台总代

authors: 摩登6娱乐代理--平台总代

authors: 门徒娱乐代理--平台总代

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/