Happy New Year! Keeping with tradition, here are some predictions for 2010 in the Microsoft Software space.
2010 will be remembered as a “tipping point” year for three things in the Microsoft space. I am not saying that on December 31st, 2010 you will sit back and say I am right on all of these, but I am saying that by December 31st, 2011 or 2012 you will. That said, 2010 will be the tipping point for:
Today I will look at the first item and tomorrow I will talk about BI and the Cloud.
Moving beyond .NET
Here are some no brainer predictions. Visual Studio 2010 and .NET 4.0 will ship and a lot of developers will be happy. Microsoft will also be happy since adoption will be high. Here is the not so obvious prediction: 2010 will be the year where .NET begins its decline and its replacement starts to shine.
Let’s face it, .NET is old. This summer will mark 10 years since its debut at the 2000 PDC. It’s been in production for 8 years. That is like a century in computer time and a millennium in Internet time. Billy Hollis put it in perspective for me a few weeks ago at dinner: more time has passed since .NET 1.0 to today than between VB 1.0 to VB 6.0. VB 1.0 was introduced in 1991. VB 6.0 was introduced in 1998. That is 7 years. .NET shipped officially 8 years ago in February 2002. (This also means that I have been coding longer in C# than VB, but I digress...)
Second .NET is “hard”. What I mean by hard is that the framework has bloated: there are too many namespaces, too much “legacy”, and too many ways to do the same thing and we have lots of conflicting advice on what “pattern” is the best. Developers are confused if they should use ASP + AJAX or MVC or something else. They are also scared that if they build an app they will be mocked on the latest “expert” blog saying that their implementation of the MVVP pattern is a newbie mistake and they should follow the MVVQXDP pattern. Java and LAMP are no better. PHP on the other hand, once left for dead, is back with a vengeance. Why? It is easy, just like ASP classic. At the end of the day developers just want to get apps written with ease.
So what is going to replace .NET?
Silverlight + RIA Services + DSLs.
While Silverlight looks and smells like .NET, in reality is not. Ever try to use ADO.NET in Silverlight? Do something with data access that is not asynchronous? Silverlight is its own framework that borrows a ton from .NET, but itself sits just outside the full framework.
Silverlight will continue to evolve into a rich media, cross platform web based application platform with the release of Silverlight 4.0. While 2010 may not be remembered as the year of great Silverlight adoption, SL 4.0 will be remembered as the tipping point, much like VB 3.0 was for the Visual Basic platform. Speaking of VB 3.0, VB 3.0 did not get popular until the “database compatibility layer” shipped. (Wow I am dating myself here!) With VB 3.0 + the “database compatibility layer” or in reality, the JET database engine and DAO, VB moved from being a “toy” to a full fledged programming platform for business. When the db compatibility layer shipped for VB 3.0, adoption was not immediate, but when you look back, it was the one thing that started the VB revolution of building line of business apps.
RIA Services is Silverlight’s database capability layer. Just like Jet and DAO made it easy for a developer to connect to databases, perform CRUD operations, data bind, validate, and do it fast without complicated libraries, RIA Services will allow you to do all of that easily in SIlverlight. Silverlight 4.0 and RIA Services will ship this year, most likely sometime before the summer. I don’t think that at the end of 2010 you will be saying “this was the year of Silverlight and RIA Services” but in a few years when all we do is Silverlight you will remember Silverlight 4.0 and RIA Services as what started the Silverlight revolution in building line of business apps. Purists will say that RIA Services is not elegant and continue to code things manually. That is ok, purists mocked VB too, but just remember that for most of the 90s, VB ruled LOB apps in the enterprise.
You maybe thinking, Silverlight to replace .NET? But it is too close to .NET and has lots of .NET interop, etc, in order to work. (For example, to have RIA Services work you need a .NET server with WCF and EF 4.0, etc.) That means that .NET will be around forever! Well yes and no. Remember back to .NET 1.0, we had to use COM Inerop a lot to get a lot of things done. Or .NET wrappers for Win32 stuff. Not until .NET 2.0 (its 3rd release) did we really develop “pure” .NET applications.
Silverlight will continue to evolve and due to the influence of Ruby (as well as Rails), you will see more dynamic language support and DSL capability built into Silverlight moving forward. In the not too distant future you will start to build your XAML with a DSL: “give me CRUD screen connected to the Customer entity.” Then you will start to use DSLs to build your application’s business rules, workflow and control flow. After that you will build you application’s own meta-language, the equivalent of an API, allowing others to hook right into your application’s logic. What will this DSL/dynamic language be? IronRuby? Something from Oslo? I am not sure. That will be in my predictions next year. :)
Stay tuned for predictions on BI and the Cloud…..
Page rendered at Wednesday, August 17, 2022 5:51:53 PM (Eastern Daylight Time, UTC-04:00)
The opinions expressed herein are my own personal opinions and do not represent
my employer's view in anyway.