I found a blog post by Davy Brion (one of my favorite bloggers on the ‘net) that spoke about the .NET world’s current state. He mentioned that Microsoft’s products (such as WebMatrix and LightSwitch) are mainly geared toward what he calls “low-end” developers. At the same time, Microsoft is backing off on other products that more experienced and seasoned programmers like, such as IronRuby, IronPython, and the DLR (Dynamic Language Runtime).
I certainly agree with some of his points. Applications like LightSwitch are geared toward those who may not be real developers but more data analysts, leading to ultimately poorly written software. I have experience trying to rewrite or just deal with Access database applications and the like and they are horrible. But the ease with which one can start learning how to program may not always be a bad thing. I am living proof of that.
My first programming language in school was Java. While I enjoyed programming to a degree, at the end of the class I was leaning toward not going into software development. Java has some nice stuff, but ultimately I didn’t enjoy it, especially the 1,000 lines of code you had to write just to build the UI. My next programming class was Visual Basic with WinForms. Did you just say that I can drag and drop the controls I want and then just worry about coding the behavior?Awesome! Yet some would say that VB is not a “real” programming language because of this. However, I picked it up very quickly because it is targeted at beginners, or “low-end” programmers.
Do I program with VB and WinForms now? No. However, it was the fact that it is geared toward beginners and is easy to pick up that renewed my enthusiasm for programming in general. Now I use mainly C# and WPF/ASP.NET and I really like it. Now I research extensively design patterns and industry standards so that I can build the best software that I can muster. All this despite my beginning as a “low-end” programmer using a “beginner’s language” and code-behind files.
So while the keys to development shouldn’t necessarily be given to everyone, these frameworks may be what sparks someone’s interest in real-deal development and start them on the path to becoming a “high-end” developer.