HTML can be done with notepad the w3schools website click here has some good stuff.
The current microsoft.net applications have a free express version out there if you're interested in that have a look on the microsoft website.
A lot of people and colleges seem to start by teaching people visual basic so you can get the programming concepts before moving onto more complicated languages.
It depend what sort of stuff you wish to code thou really. Eg games / web applications / database. Think about that and then choose which route to go down.