Timing is everything. I just had to get back into programming after 15 years of just writing requirements and doing acceptance testing.
Where to get Compilers and Help
1) Stripped down Visual Basic, Visual C and Visual Java compilers are free from microsoft now. I just downloaded them and have written some programs. They go under the name Visual Studio Express. Excellent for learning, but their documentation pathetic. It takes the equivalent of about 10 books (for each language) to fully document the MS software development system and programming for windows. For instance: http://msdn.microsoft.com/vstudio/express/
Read the MS getting started files.
Start trying to do some simple things.
Then when you get in trouble - Google "VB or VC with the command you are looking for".
There are literally hundreds, maybe thousands of help sites. Be aware some are trying to sell you ebooks, but even those have enough snippets of code to help you out. http://www.vbtutor.net/vbtutor.html
If you hit a specific bugs one of the guys here has been doing a "noob" programming help thread. And specific questions will usually be answered by several of the OSNN member.
There is also a Visual Basic scripting interpreter built into Microsoft Excel and I beleive the rest of the Office products. This can also be an easy place to start but to my great pain I found out the Graphics could not be exported and the object methods were different between the VB 2005 and the older VB built into the Office products.
Go to tools- macros- visual basic editor in the Excel. You may have to install the editor. It may not have been one of the default install options for office.
Which Language to start with:
As for which language to start with I recommend PASCAL, but... It was developed as a teaching language designed to force development of rigorous practices. It is not used much anymore so it would not be the best choice for you.
Avoid C at first it is an unbeleivably strong language that allows you to screw up big time which can make learning difficult.
Basic was also intended as a training language but has some of the pitfalls of C. By turning on strong type checking in the compiler you can make it much easier to use. You want to move away from Basic and into C once you get comfortable. VB is pretty much considered a kiddie language for doing small projects that do not require a high level of data integrity.
JAVA (older), PERL (newer) and a raft of others were languages developed to design web pages and web content. If you want to be a programmer I would not start there. If you want to be a web page designer then they are the right place to start. The MS Visual Studio also has a Java compiler but sadly no Perl which is the "hot new language" this year.
Perl, the new hot language this year? Wow, unless we were back I 1998 I would not agree. The new "HOT" language of the year is Ruby with it's Ruby on Rails stuff.
Perl was never developed for web sites, it just happens to be good at that. Php was developed for websites. Perl was designed for text parsing and manipulating.
Java was designed to be a cross platform programming language, definitely not for the web, that came afterwards. With SWING and all the other toolkits it is easy to throw together a program quickly and efficiently.
VisualBasic or Basic are bad places to start, they practice VERY bad practices and make them standard. I personally always start people at either C or C++. C causes you to make mistakes, often and with spectacular results, however that is the best way to learn. My room mate recently started to learn C and he is making great progress, and at the same time he is learning how to write solid code.
As for compiler, for C/C++ I would download the Bloodshed IDE, it comes with MingW32 which is GCC for Windows, which is a free compiler.
I disagree with LeeJend however about the fact that starting with so called "web languages" is a bad idea. Using PHP which can be done from the command line as well makes a good place to start, since there is a lot of documentation and it helps with it's instant gratitude. Anything you do in PHP should give you pretty fast results. And will also act as a springboard into other programming languages.
Your best bet for learning how to program is to take a class at a local school, or find an online tutorial which will get you started but usually leave things out that are necessary. The best resource I had while learning how to program was a $20 book from Borders and a friend who was trying to learn at the same time.