Visual Studio 2008
In the general goings-on of my college career, I was approached for a job. A straightforward web admin/programming gig for a grant-funded research project here on campus for a project that needs a webfront.
A long story made short, there is a client application being written for another piece of the project in C#. And, because the website needs to communicate with that client, I (some would say foolishly) agreed to write a class to handle those transactions, since I (obviously) know how the front-end website and associated services are configured.
So on I went to install Microsoft Visual Studio 2008 Professional Edition. It was free due to a wonderful (even if for all the wrong reasons) project set up by Microsoft called DreamSpark. If you can prove you’re a current student (High School or College), then you can download and be granted student licenses for all sorts of up-to-date Microsoft products, including various versions of Visual Studio, SQL Server, Microsoft Server, Virtual PC, etc etc etc.

Now, personally, I don’t care a lot for IDE’s. Historically a Unix and web programmer, I do everything I need inside of Gedit (or emacs or vim, when the need arises), including source editing, building makefiles, etc. I’m the guy that uses his “plain little text editor,” and writes every line of code, compiler statement, and linker directive out by hand.
I have to say though. On behalf of an Open Source aficionado, I’m actually beginning to enjoy the experience. I’ve started a (very small scale) personal project with C#, and I really only have a few high-level complaints. Firstly, the application is so mind-bogglingly complex, it can sometimes take minutes to find a simple option or directive in the sprawling menus and drop-downs. Secondly, the documentation isn’t wonderful. MSDN. Neither the Library (installed locally) nor the web presence for the same are very easily searchable or navigable, and they do not present their information in the most user-friendly fashion.
Aside from that, if you’re on the fence about picking up some Microsoft development experience, I’d actually (and I don’t like to hear myself admit it) recommend Visual Studio 2008 – assuming, of course, you’re already familiar with low-level programming, compiling, linking, application design, code layout, and all those things. Because if you’re new to the game, and Visual Studio is your first foray into software development, I don’t think you’ll really be able to get a firm grasp on the fundamentals, as it [Visual Studio] tends to abstract, hide, and/or distort so many aspects of what’s actually going on. I’m a firm believer that if you don’t understand how something works, you’ll never be able to fully take advantage of it.