July 15, 2008 by Alistair Deneys
Hmm. So what’s this new category here? Observation / Opinion? Well, to distinguish the regular tech posts from my not-so-tech thoughts and discussions, I’ve created a new category on this blog. If you’re only interested in the purely tech stuff, then you can ignore anything tagged in this category.
Anyway, I just finished listening to dot net rocks episode 347 with John Lam, the guy behind IronRuby and initially the .NET to Ruby bridge. Towards the end of the show John made a comment about a major driving force behind the adoption of Ruby being Ruby on Rails, an excellent MVC web application framework. Richard Campbell then made the statement that he thinks a major driving force behind the adoption of .NET was ASP.NET and I couldn’t agree more.
Rewind a few years to when I was first getting into .NET. I was working with my head firmly in the C++ and MFC space but was hearing lots about .NET. I had a friend in IT recruitment at the time who was telling me I had to learn it as everyone wanted .NET developers. Eventually I found the .NET SDK and started to teach myself. I had no books. All I had was google and MSDN.
MSDN was and still is fantastic. I learned a lot just by reading through it. When I ventured onto the internet and google to try and find other resources I always came across ASP.NET resources. But I didn’t want ASP.NET. I only wanted to learn .NET. My head wasn’t into the web. I was firmly planted in Windows applications. Why was it so hard to find plain .NET and C# resources? I think that’s a huge indicator as to the driving forces pushing .NET.
.NET is better suited as more of a server technology…(that was the sound of 1000 WinForms developers screaming). And the reason is the average Windows desktop user is not savvy enough to have to install a runtime before installing an application. The technology is not flawed. In fact, if you want to write Window applications now Microsoft will be telling you the only choice you have is .NET. The technology is fine. It’s the people that’s the problem. The end users. Instead of what they’re used to; download the 2Mb application, install it and run it, they now have an extra step to get your application to work; download the 2Mb application, try and install it, I need .net? OK, let’s download it, 50Mb!! I only have dial up! Ok download it…I really want to run this application, install .net, install application, run the application. Actually the above scenario isn’t completely accurate. Normally as soon as your application didn’t install cause the “requires .NET” dialog popped up the user quits and stops trying. The process is not difficult, but we have non-technical users that don’t understand the fundamentals about computing.
As a server technology we control the runtime environment. So it’s easy to install .NET and run our application happily. It’s the same reason why we don’t have more java applications running on the desktop. As soon as you ask the user to perform an extra task to run your application, like install a runtime, then you’ll lose most of your prospective audience (unless you target only the techies).
So I don’t think the desktop stuff was pushing .NET in the beginning. I agree with Richard. I think it was ASP.NET.