Debate on the .Net guy
I found an interesting debate on the .Net guy.
It all started from this blog:
I've never before thought I'd had something significant enough to write a book about. After diving into ASP.NET pretty hard-core, reading a handful of books and watching the mailing lists, I can tell you right now that almost nobody is even scratching the surface of the power of ASP.NET. Right now, I imagine I could write a thousand page book on using ASP.NET like a real GUI development system and probably still not be finished.
So it tickles the back of my head when I hear they're changing ASP.NET in v2 (they're even renaming it Web.NET, if I heard correctly). This is a good thing, because believe me, there's some really broken and/or extremely difficult things going on with ASP.NET v1
I feel like I have a lot of insight into the v1 product that would be helpful for improvements and enhancement for v2. Does anybody know if the Web.NET v2 stuff is going to open for public comment any time soon, or whose ear I might be able to twist to talk about it ?
I just would like to comment on some comments I read about this blog.
You are right, ASP.NET is alot more than webforms and viewstate. I blogged some of my thoughts about why I think ASP.NET (especially VS.NET) is a poor enviornment for neophyte developers, and hinted at how I think it could be better. If you're interested click on my name to link to my blog.
I can't be more agree than this. I am not a neophyte developere, neither a guru, but a 'middle level' developer, and I have a lot of compassion for the developers who start with VS.Net, especially for Web developers used to Dreamweaver or other graphics tools. It's also true that the IDE is a huge improvement and goes in the right direction, but the Design mode is not really complete. The only thing I do with the Design mode is to double-click on one of the buttons to declare my events and objects.
It's not really open to Web Designers for example. Maybe it was not the purpose from the ASP.Net team, but this has to change with version 2.
The .NET Guy
I'm on the opposite end, actually. I think ASP.NET is very powerful, but the tools (which suck) are dumbed down for low skill developers. The books seem to be centered around how to use the tools (which means the books generally suck, too, if you're interested in doing anything non-tool-oriented).
I also think that ASP.NET didn't really get a good shake-out before delivery. There are some monumentally difficult problems to solve with it (like control lifetime during a postback) that make me think that most all the testing was done by generating "click and drool" UI with the tools.
For the books, I experienced myself the same problems. It's true that apart one or two exceptions, most of the books seem to concentrate on details, like Web controls, Data manangement, etc... but I don't know a book on .Net which talk about applications, taking a subject and solve it from scratch. I know negative critics are easy to do, but I am not a write myself, so I would like to see real world examples of .Net. Well I know only one book which try to go in this direction, Real-World ASP.Net where the author show how to build a Content management system. Good book, but need to be revised and clean up.
For the good shake-out before delivery, I'm not fully agree. Microsoft with all the Betas program, did a great job and delivered what they promised, and they (first tme ?) listened their developer community. It's also true that some part of .NEt are quite obscure, and it's like the .Net make some parts of the product a bit more complex, to make happy some hard-coders.
With that said, why do I hate VS.NET's incarnation of ASP.NET editing environment? Freaking User Controls. I can't stand them. Why in the world would you take the time to design a control in the environment that you will tear your hair out trying to move to another project. Why would you write a control that is stuck rendering what the ASP.NET controls you put on there deem necessary.
Personally, I would have to loved if every control in ASP.NET would have a Renderer collection that would allow me to populate it with Content Types and renderers. So I could plug in a custom renderer when you ask for my page as XML. How nice would that be?
If you read books on .Net. a lot, if not the majority, declare it's easy and good practice to build users controls. Well I tried, and no it's not so easy to have a full debugged control that you can reuse elsewhere. I am agree with Justin on seeing some ameliorations there. Unfortunatly I am not working for Research and Development and I don't have time to experiment. I would like also to see a better integration of controls events and the page, especially when you build programmatically a control.
Slavomir Furman
Well, I tend to agree with Ben Coverston (three comments above). This is also my experience, that my former VB6/ASP-ADO developers consider ASP.NET too complex.
No problem with VB.NET basics, with dragging controls to web form, nor with write some usual code. But when we ried 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?".
Again totally agree. I like reading articles on some complex programming, but for web apps, what's the point? It's true that more and more, we want to do complicated stuff, but can we go back to the basics for a web application, which is for me delivering content as fast as possible ?
ASP had this bad habit to produce spaghetti-code, but I remember in many occasions how it was easy to trained Web Designer, without any specific programming skills, to taught how to add a response there or a request at this line or to change a parameter for the color.
Today, no way with my projects, I would to scared to let unexperienced people touching my code.
To conclude I think the only word I would like to say for the next version of .Net is SIMPLICITY !