A Macintosh.

Seriously. Development tools come for free, and you can program in a wide range of languages, including C, C++, Objective-C, Ruby, Perl, Java, Pascal, assembly, and so on. All the development software is professional-grade, industry-standard (a lot of it is built around gcc/g++, which are used on pretty much everything but Windows systems—and even occasionally on Windows), and cost-free. Plus the development environment is top-notch, and allows you to develop not only desktop software, but in the programming environment used in higher-end machines (i.e. Unix).
Aside from that, if you go with Windows (or something like Linux or Unix), it doesn't really matter what machine you use. The development tools and languages will mostly be the same, no matter what the underlying hardware is. If you're working in Windows, you'll probably be using C++, which isn't hardware-dependent.
(By the way, I'm not talking out my ass here—I'm a comp sci student, and I also write software for Mac OS X and Unix/Linux-based systems, and have
some experience writing Windows software.)