Depends on what you're doing. iOS requires Mac, so if you're going to do any iPhone/iPad development, that's where you need to be. Mac covers all other non-Microsoft programming languages, too. Plus, if you really, really wanted to do .NET development, you could always try out the Mono project. This is the most expensive route. Macs aren't cheap.
However, if you're more geared towards Windows apps, then obviously, Windows is the way to go.
If you're in between, the absolute cheapest route is Linux. At least you can do Android development on Linux.