Microsoft has made two interesting announcements this summer: one is the WebMatrix initiative and other, made yesterday, is Visual Studio LightSwitch. Both have driven developers to the point of dogma over the role of these tools.
WebMatix, along with IIS Express and SQL Server Compact Edition, is a tool aimed at the geeky hobbyist or college kid in their dorm wanting to make a web application, or dad wanting to build a web site for the youth soccer team. As part of WebMatrix there is ASP.NET Razor, a new streamlined ASP.net view engine, making it easier to mesh C#/VB and HTML. Let’s be clear, WebMatrix is not targeting the professional developer. To quote from Scott Gu’s blog:
If you are a professional developer who uses VS today then WebMatrix is not really aimed at you - at least not for your "day job". You might find WebMatrix useful for quickly putting a blog on the web or doing lightweight scripting on the side. But it isn't intended or focused on hard-core professional or enterprise development. It is instead aimed more for people looking to learn how to program and/or who want to get a site up and running on the web without having to write much code.
Ok, glad that we cleared that up. ;) Well, the story goes on. As part of the WebMatrix stack Microsoft made some updates to the Microsoft.Data namespace. It was announced on this blog here and started a debate. One group on the blogs and Twitter, lead by Oren Eini, was very critical of the new Microsoft.Data. I can sum up the online debate like this:
Developers: Wow, are you crazy! SQL is dead, ORMs will inherit the earth. These changes should have come in .NET 2.0, not in 2010!
Microsoft: Yes we get the ORM thing. The changes to Microsoft.Data are for WebMatrix and beginning developers. If you have already used ORMs and implement best practices and patterns, great, keep going, these changes are for a different audience.
On top of all of this, yesterday, Microsoft released Visual Studio LightSwitch, beta1. LightSwitch, formally known as Kitty Hawk, is a RAD tool targeted at the non-professional developer who wants to build line of business applications.
Professional developers are like: Why do I need WebMatrix? Or LightSwitch? Some debates have even gotten downright nasty. The answer is, WebMatrix and LightSwitch are not for professional developers! (Or the changes to Microsoft.Data.) A newbie at home or a college dorm would use WebMatrix to build a web site. A geeky guy in a corporate job would use LightSwitch to build a business application. This is a good thing.
What Microsoft is doing is building a bridge to .NET and professional development. Without any formal computer science training, I was once this target market. For example back about 18 years or so ago, I was a hobbyist hacker in my dorm room discovering PCs. (If that were me today, WebMatrix would target me, however, 18 years ago there was no web. <g>) About 16 years ago when I graduated university, I was that geeky guy in corporate who needed to build a line of business application. (If that was me today, LightSwitch would target me.) I used Lotus Script and 1-2-3, FileMaker Pro, and Excel and Access. Eventually I taught myself some VBA and not to long after I “graduated” to VB, when VB 3.0 shipped the database compatibility layer (ok I am now dating myself!) Fast forward a few years later to VB 4.0 and 5.0 and I made the jump from a hacker geek to a professional developer. A few years later when .NET came out I was well into my professional developer career.
The problem is that there is no bridge today to .NET. Back in the mid-1990s, there was a bridge from hacker/corporate geek to professional developer: VBA. If you built some advanced formulas in Excel or some forms, reports, and database logic in Access, you would usually hit a wall and have to learn some VBA. This is in addition to your day job, you know, as financial analyst or credit adjuster. Along the way, you may realize that the coding thing is really your game, not your day job. That happened to me. Today there is no bridge and there hasn’t been for years. WebMatrix and LightSwitch are an attempt to build that bridge. I just hope that the professional developers today realize that.
Just as BMW has entry level cars, even completely different brands like Mini for one market segment, and the turbo charged hand made engine M series for another, Microsoft is segmenting the market, trying to build a bridge to .NET. I hope they succeed.