I've been in the same situation. If your software is distributed over the web to end users you have no control over, .NET is a HUGE requirement. I've asked this question in other forums and to some MS people; it's really strange how some people have a hard time understanding that .NET is indeed a very difficult pill for end users to swallow, thanks to it being over 21 MB. My thought is this: .NET will be everywhere by 2007. Until then, it's a guessing game; while a vast majority of desktops have XP, only some of them will have .NET. If your product is small, and will be finished within a year, and will be distributed over the web, I'd say use C or C++. If your product is fairly large project that will take a year or more to develop, or will be distributed on a physical media, then yes, write it in a .NET language for productivity's sake. By the time your product is released, many more users will have the .NET framework installed already, and you'd be even closer to Longhorn, when everyone will have the framework installed. My rant is that MS needs to get .NET to the masses sooner than Longhorn. If they would just bundle it with Office or IE, questions like these wouldn't arise and they'd get more developers writing .NET-based software. The graveyards are filled with indispensible men.