Of course I don't really believe that asp.net is for Dummies! That would be quite a controversial stance :) but is there a strange conspiracy afoot at Microsoft HQ determined to liquify the brains of developers ? Read on... [incidentally, you wouldn't believe how close I came to misspelling dummies :)]
I'm convinced that enterprise level development in asp.net 1.1 and 2.0 is more complex than it needs to be.
The major aim of asp.net seems to be to simplify development in a certain defined set of scenarios - which I believe are heavily targeted towards something like the stereotypical VB6 developer. I've got nothing against VB developers, and have done a spot of VB6 in the past, but I don't believe VB6 was ever a tool for developing enterprise software. VB was however used in the enterprise a lot. By following the path of least resistance it was possible to rapidly develop applications. Totally RAD.
By essentially following in the footsteps of a tool like VB6, Microsoft have developed another fantastic RAD tool. This is unfortunately the problem with asp.net as I see it - developers are lead to believe everything is easy to do by simple drag and drop. Indeed the first forays into sample projects as one becomes acclimatized to the new system back this up.
It's only when a larger project is begun (or a small project suddenly becomes a large project) that the cracks start to show, and the realization dawns that not everything can be done in such an easy way. The custom development then needed to meet the requirements of the non trivial application is where the (over)complexity sets in. If the developer had written the system themselves from scratch in the first place, it would often result in much simpler and more maintainable code. Keep It Simple Stupid!
The software development industry is currently recognizing the business need for higher quality software and is striving towards this end via routes such as Unit Testing as popularized by Extreme Programming and Test Driven Development. I do not believe that following the path of least resistance in asp.net will lead to a higher quality of software. It will lead to many more applications in the enterprise which are similar to the old Visual Basic applications of the last cycle. The same type of application which business users everywhere are complaining about, but which are too convoluted to maintain since the original developers are no longer available.
This isn't intended to be a rant against the asp.net development team, because they and the underlying system they developed are very good - good enough to allow extensibility at many levels - we just have to extend from below the level where all of the unneeded plug and play development helpers exist, and work out which portions of the framework are really only there to support the RAD tools and mindset.
I'm convinced that somewhere underneath that visual designer and declarative / codebehind mismatch there exists the nirvana of Asp.net LITE. I'm not yet entirely sure where it begins and where it ends, but I'm sure it's in there!
Well, they seem similar to me, but I could be imagining it :)
Well, you're entitled to your view, but you're wrong obviously :) Hehehe, no seriously I've worked in x86, C etc and I did have those gripes about Java - but funnily enough, I was right - my gripe was that user interfaces didn't fit in with the native UI and demanded a paradigm switch from the user. I don't see that many desktop java apps becoming succesful (in the windows world!) nowadays. I was also writing computer games during the switch from software rendering to hardware rendering which was a classic case of people feeling too restricted by the underlying frameworks (what, no phong shading!). In that case, and also in the case of Java's performance issues in desktop UI's, hardware moved on and the pros defeated the cons. With Asp.net, I'm yet to see anything done with visual designers and high level web forms controls that is convincing beyond the prototype / demo stage as a way to develop apps.
I agree, thats a major part of it, and funnily enough, it seems like the constraints of having a specified structure make development easier. Perhaps part of the asp.net problem is that it doesn't constrain developers enough! I like the way Rails basically says - do it this way - otherwise too much time can be spent debating the pros and cons of various different ways.
XSLT eh - damn that can be a scary beasty too :)
It sounds like you got some similar insights to myself when you put your own framework in place. I've been writing a framework called PoCoRail, which is basically MVP. I found I would come up with a requirement for PoCoRail, and then as I tried to implement it, I'd realize that asp.net was having to deal with exactly the same issues, and that their solution was pretty good. I really think there must be a few members of the initial asp.net team who were going - oh please no, don't do that to my creation - as the visual designer crew got to work turning it into a RAD tool.
Sure you can create decent apps in VB etc. I mean lets face it, some useful apps could be put together in BBC Basic. I think the issue is more what the language or the IDE encourages you to do - people always want to follow the path of least resistance, even if that happens to be far from ideal in anything but the short term.
Yeah, the IDE in 2005 is a lot better at not messing things up, and the quality of markup is a lot better. I still don't use the designer though. I suppose a lot of that could be to do with the fact that I know it wouldn't look right anyway as CSS layouts rarely work in design view. It sounds like VS Orcas could be a move in the right direction (as usual), although I've finally learnt not to hold my breath for these things.