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?