Is ASP.NET too complex? It depends.
Ben Coverston wrote:
Don’t get me wrong, I really like ASP.NET, but I think it has some serious problems. Brad Wilson mentioned that he had some issues with ASP.NET, and while he did not go into details, I would like to expound a little on what I have seen, what I like, and what I don't like. My biggest problems with ASP.NET stem from what I perceive are barriers of entry for allot of developers. Many developers coming to .NET for the first time are reformed VB developers, or new to development entirely. They need a system that they can understand quickly and use easily.
...
So what is my complaint? If Microsoft wants us to build multi-tier applications and have good separation of the data layer, the business layer, and the presentation layer, please give us design patterns, or better, a fleshed out framework that we can work in. When I build applications, I want to feel like I am writing the application, not fighting the development environment. All too often when doing something in ASP.NET the environment gets in the way. Is there a better way?
[ASP.NET: Too Complex?]
Well, Ben wrote a really good rant. It's true.
From one point of view ASP.NET is fantastic. "At last we can write web apps in normal way!", excitedly admits one friend of mine,former C++ coder who really hated ASP beacuse of that "mixing code (even more VBScript code!) with HTML, CSS styles, JScript client code, etc."
On the other hand another mine co-worker (former ASP/ADO developer, who never write even one line of C++ code) is not so happy with ASP.NET. He had no problem with VB.NET basics, with dragging controls to web form, nor with write some usual code. But when we tried to going more in depth, when we start discuss about class design, interfaces, inheritance, about creating custom controls the he again and again asking "Do we really need all this stuff? Why care about all this overly complex things, when we need just do this no problem web app? There must be a better way?".
There must be a better way... Just as Ben wrote. We can discuss to the death all this inside-out, which one from these two mine's co-worker's is right. It's imho depends on point of view. One see elegant framework, rich classes, fantastic possibilities with regards to extensibility. Another just looks for more simply way without all this "internal overhead".
Classic ASP win its fight and become so popular mainly due to its simplicity. With ASP.NET this simplicity somewhat disappear. And that may be entry barrier for many peoples who just liked this VB6 or ASP/ADO simplicity (for whatever reason).
There are many rumors about fact that C# and VB.NET will more differentiate in future. I wrote about this in one of my previous blog entries. Who know, maybe this can be "a better way", if VB.NET will be more RAD oriented tool, which is more simple to use, and C# will be "swiss army knife" for ones who lue extensibility, elegant design, possibility to do almost anything, more than just a quick (although maybe not also dirty) way to do something.
And, of course, this is not just a technical decision. I'm sure there are lots of internal politics going on within Microsoft on these very issues. Every change or addition will affect, will appeal to this old-VB loyal worldwide developer community with more than 3 million members, majority of which still consider what to do with regards to .NET.