Published Friday, October 28, 2005 4:34 AM by mtaulty

.NET 2.0: How far it's come

There's been a lot of discussion recently about how much new technology is on its way from Microsoft and, in particular, how big WinFX is and how much learning a person's got to try and do if they want to get it at least reasonably well structured inside their head.
 
I've heard this a lot in internal discussions and I've also seen it externally in the community in posts such as this one from Clemens which has been referenced a lot (http://staff.newtelligence.net/clemensv/PermaLink,guid,fdf5f8bf-199c-47c3-8cbb-838fab12f83e.aspx) and sums up the situation really well.
 
This kind of "overload" idea popped up at an internal meeting yesterday and we had an interesting bit of a discussion that centred on the idea that whilst, yes, there's a tonne of technology coming out of the MS product teams it maybe isn't quite as hard as it used to be to take it onboard and understand it because it all kind of "looks the same".
 
What do I mean by "looks the same"? What I really mean is that it's almost entirely all about .NET
 
I remember joining Microsoft in 2000 and, at the time, I was a C++ developer who'd been doing that for about 10 years and I joined a consultancy team.
 
I found the breadth of technologies that I had to understand to be quite bewildering. Customers came with questions about web development (script code in VB script and limited COM components). They came with SQL Server questions (it's own little toolset for development and the T-SQL language and supporting libraries). They came with BizTalk questions (VB or C++ code for COM along with XML DOM's and once again its own little toolset for development). They came with mobile development questions about embedded C++ or embedded VB. They came with native Win32 questions about MFC, ATL or VB6 and its forms environment. They came with questions around how to develop for Exchange Server which seems to have more a very healthy number of different APIs and techniques for building code. They were building ISAPI extensions and filters for IIS and had a tonne of questions about how to do that.
 
As I say, it was bewildering. I stayed up late a lot of nights trying to work stuff out and I learnt a lot.
 
If we zoom to 2005 I think that whilst the MS developer technology is still racing ahead at a staggering pace I find myself feeling a lot more comfortable about what's going on. As I look at it;
 
1) I'm only going to be faced with one developer tool. Visual Studio 2005.
2) I'm only going to be faced with one way of building software - .NET.
 
Pretty much everything else that comes along is all .NET and that makes life a whole lot easier than what went before. So,
 
1) Want to build a desktop app? .NET.
2) Want to build a service? .NET.
3) Want to build a web app? .NET.
4) Want to build a web service? .NET.
5) Want to build a mobile device app? .NET.
6) Want to build some code for inside SQL Server? .NET (maybe)
7) Want to extend BizTalk Server? .NET
8) Want to write a game? .NET.
9) Want to write a device driver? .NET
 
Ok, so I might be bending the truth a little with (8) and definitely with (9) but you get the idea. The platform has come a massive distance from 2000 and as we have .NET 2.0 released and WinFX still to come it's only to grow further but I think the starting point of having;
 
1) One tool.
2) Many languages.
3) One consistent, clean set of programming libraries.
 
is a very good place to start from and better than development for Windows has been at any time in the past.