Question

Does it matter to developers that the current, and newer versions of .Net don't support windows 2000?

It scares me to think that several of my clients still use Windows 2000 and although I may decide to stop supporting Windows 2000 one day, I don't like that Microsoft is pushing it on people's products.

Could anyone see Microsoft doing this with XP in the future to spur sales of Vista and later?

Just to clarify, this is not a bashing of MS in any way, I love MS, but it is a genuine concern that I would like opinions on.

In contrast I can't see C++0x implementors saying "it won't work on windows 2000"

I'm really trying to convince myself that I should be switching to .Net but this is one of my concerns.

Was it helpful?

Solution

Considering that Microsoft has a double interest in this matter (selling you the new OS and producing the .NET framework), I would be very suspicious.

In actual fact, you will be able to support new .NET versions on older OSes using Mono, which is pretty much designed to be cross-platform and backwards-compatible.

OTHER TIPS

Supporting older operating systems costs money. It's not necessarily a push to spur sales of new systems so much as avoiding the cost of trying to make things work on old systems that they've already ceased supporting. Just as Windows 2000 support has ended, so will Windows XP support, and Vista support, and Windows 7 support, etc etc. Continuing to support the .NET framework on operating systems that are no longer supported in any other way does not seem prudent.

EDIT: To address the notion that since the CLR is the same for .NET 2.0 and the newer framework versions, the restriction was artificial. Although it is still working on the same CLR, that doesn't mean that all the support they've added will effectively work on Windows 2000. There are performance and hardware considerations to be made and I think considering the age of Windows 2000 and some of the more intensive features added to 3.0 and 3.5 frameworks, it was a reasonable decision to abandon WIndows 2k.

Whenever we as developers consider supporting a particular user-base, there has to be a consideration of the resources needed to add that additional user-base over the benefits of supporting them. Testing, bug fixing, and support costs have to be factored in. As Windows 2000 is no longer given any security updates, they would need to resurrect an update mechanism just for .NET updates. I suspect that the benefits do not outweigh the costs in this scenario. It therefore makes sense to me that Microsoft should artificially prevent newer frameworks from running on Windows 2000 as they are then saving themselves these additional costs.

Since the question changed after my last response, I'll add that 3.0 and 3.5 support for Windows 2k wasn't dropped "without warning". There was plenty of indication this was happening before the betas were ended, so I don't think the question is really worded fairly in this regard.

I guess it greatly depends upon the company. For example, I've been working with mixed IBM and Microsoft technologies and our customer has this AS400 platform which is very very old, they don't even support transactions or relations on their database but these big companies have invested a lot of time and money on their systems and they want to keep them like that.

What we done is to add a layer so they can use this information on a website. I dont see IBM leaving its customers behind, they still develop software componets to connect to these old techologies for .Net for exmaple and I believe Microsoft will do the same if they do a research and found that they have many customers still using Windows 2000. You might not have all the features of the newest technologies but at least im pretty sure they will maintain a layer of compatibility for it with their newest technologies. Its not easy to tell a company of more than 10k employees and millions of dollars invested to just switch to the newest OS or Database system, for they it wouldn't make sense and believe me, even when Microsoft wants you to buy the most modern software they won't stop supporting their old technologies especially if these big companies pressure them to either keep their legacy systems compatible or buying the other's company solution.

No matter what technology stack you're using, there's always going to be a tension between "supporting the latest features" and "maintaining backwards compatibility". Where to make that tradeoff depends largely on the type of product you're building and the type of customers you have.

I used to develop a warehouse management application using C++ and SQL, and we always had to support at least two versions back from the "current version" of SQL Server because our customers were extremely reluctant to upgrade.

Well here's what I think:

  • Windows 2000 is a 9 year old product that will most likely lose support by next year, so that might be a good excuse to cease support for it
  • It is very very easy to install the .NET Framework
  • The .NET Framework has very little impact to disk space (~20 - 30 MB), so I don't think "pushing" it to clients is an issue in terms of HDD space
  • There are tons of programs out there that do use the .NET Framework, especially on enterprise environments, so there is a fair chance your clients already have them

Honestly, I'm not really sure what you're worried about.

BTW, there are ways to use the .NET 3.5 Framework features with only .NET 2.0 installed, and it has been covered in some SO questions already.

If you look at recent technical innovations, notably Netbooks based on Atom processors, I think XP will be with us for a while yet, as most of this kit doesn't run Vista. Similarly in the mobile market, outside of Windows CE varients, we have XP embedded, not Vista. While major manufacturers, such as Dell, are still introducing new kit that doesn't support Vista, XP is here to stay,

Since I've gone through this recently here is Microsoft's stated support guidelines. Lifecycle guidance.

FYI support for XP should go through at least 2010 and if they are willing to pay for support possibly another few years. Will .Net 3[4].XX work on XP then? Possibly, but who is to know? Win2k is a very old system at this point and there are things that are just missing form the OS. Let it go.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top