I highly recommend Linux. In fact, I only recommend Linux. There's no reason to use Microsoft hosting (unless you desperately want to master .NET).
Not only is Linux less bloat and more stable, you can get cool Content Management Systems for it. A lot of sites use PHP-Nuke, phpBB, WordPress, Mambo(/Joomla), and other fine programs. Look into them. They are quite cool and feature rich.
Just make sure you get a host that offers PHP and MySQL. GoDaddy is very famous (for their edgy ads). I personally recommend
1&1 (1and1.com). 1&1 is not as well known but actually is the biggest host on the 'net in terms of sites hosted. I went with their $5 plan (
2 domain names, 100 GB web space, 1,000 e-mail, 1,000 GB traffic). They pretty much destroy everybody in terms of features vs. price.
As for writing code, I say don't bother. Instead, using a content management system relieves you of any coding duty (except for maybe some stylesheets). If you really really want to bother with code:
#1 Learn PHP
#2 Make compliant code (PLEASE)
#3 You don't need anything fancy to write code. I used Quanta+, but Notepad++ (for Windows, I might add) is a very good programmer's text editor.