Ok, Let me take the contrarian point of view. I have been writing software for about 30 years, using languages like Assembler, C++, Java, Perl, Objective C, HTML/CSS/Javascript building applications as diverse as instrumentation on spacecraft , financial software for Wall St., iPhone apps and web apps.
If you want to learn programming, my suggestion is not to start with HTML, but with something like Python.
Why, you might ask?
Present day web programming, is not just HTML the way it was in Web 1.0. It is a combination of HTML + CSS + Javascript.
All three have a substantial learning curve, of which the HTML component is the easiest to learn. Again, with javascript, it is not just javascript,you need to learn but you would have to become proficient in packages like jQuery etc.
Only when all three components come together (after great design), you would end up with a great Web page.
On the other hand, if you learned something like Python or Perl or Java, it would be a generic programming language, which can be leveraged to learn javascript.
So, once you have learned a generic programming language, I would then go ahead with then learning HTML/CSS/Javascript.
Also, I disagree strongly with one piece of advice from the other replies. They all recommend W3Schools. Do a google search on criticism of W3Schools and you will see a lot of people I respect have come out strongly against W3Schools (for example
http://webdesign.about.com/b/2011/04/06/i-had-no-idea.htm and
http://en.wikipedia.org/wiki/W3Schools#Criticism).
If you have any question, I would be glad to help.