.NET 3.5 published in 11/07 .NET 3.0 in 11/06. Why are most people still using .NET 2.0?

.net, .net-2.0, .net-3.0, .net-3.5

Solution

- Requires learning new stuff, many 'just a job' LOB developers can't be bothered.

- Legacy code investments, the custom systems may not be needed, but they work, recoding stuff to use Framework based systems is a waste of time if the existing system isn't broken.

- Dev software cost. Coding effectively in .net 3.x really requires VS2008. Upgrading a whole team of developers to that from 2005 might cost.

- Stability. 2.0 was an evolution of the 1.1 Framework. 3.0 and 3.5 include new v1 technologies, (those you listed). Developers like to see the technologies prove themselves before they can justify to their managers that its worth the jump. As with Windows adoption, you'll likely see more people going from VS2005 to VS2010 and .net 2.0 to .net 4.0 since that will contain v2 of the 3.x technologies.

Problem

People have been developing own solutions to the following problems: - Consistent messaging frameworks for remote information exchange (webservices,rpc,...) - SDK's for state managements for things such as Finite State Machines and Workflows - Authentication Frameworks - And much more. For over two years now, Microsoft offers .NET 3.0 which contains consistent and well documented so called Foundations for Workflows, Communication, Authentication and a new way to build web apps. However,... people were still building own frameworks with consistent object relational mapping to address their databases, own techniques to dynamically extend classes and methods at runtime (for customer to be able to customize application behaviour e.g.). For over one year now, Microsoft offers .NET 3.5 which - amongst others - contain LINQ and therefor a great ORM and wonderful means to extend your code and make it much easier to write code after all. But look around... it seems as if the majority still uses .NET 2.0. Websites are created in plain ASP.NET. Desktop experience is still achieved with a combination of CSS, JavaScript and HTML. Executables are using plain old WinForms, workflows are implemented with delegates, events, do/while and switch/case. Without too much discussion, I would be glad to see concrete reasons for the following question: In your opinion: Why is it that people don't jump onto the .NET 3.5 train?

Original source