BT

Opinion: ASP.NET 2.0 makes it harder

| by Floyd Marinescu Follow 38 Followers on Jun 20, 2006. Estimated reading time: 1 minute |
Daniel Solin, faced with some limitations in ASP.NET 2.0 has blogged a criticism of the framework, stating that ".NET's attempt to standardize stuff like data handling is taken too far - control is taken away from the developer, and the only way to get it back is to digg deep, deep, deep into the .NET API."

The entry starts by positioning Profiles, Themes, Masterpages, Membership as being very small improvements to the framework. While those improvements are nice, "the problems arise when you want to do a little more complex stuff than just pulling raw data from a database and present that exact data in a table."

Daniel was tried to create a UI for a booking system (see the image on the left) and found that the ASP.NET 2.0 way of using data bindings and the System.Web.UI.WebControls.DataGrid control didn't work.  A large amount of  "ugly and complex code" was required "that is hard to manage and understand."

Daniel concludes that "my feeling about ASP.NET 2.0 is that it's good for simple, common tasks. It makes trivial tasks even more trivial, but this at the cost of making the more complex (and more realistic) tasks even more complex."

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Castle MonoRails by Dan Bunea

I must say I completely agree, that ASP.NET is becoming harder and harder to manage (not that JSF would be better). We've abandoned ASP.NET, and now we are developing web applications in C# using Castle MonoRail (www.castleproject.org) which is a port of Ruby On Rails concepts to .NET and we are very happy with it. Code is simpler, much smaller, clearer and easier to test and debug.

Dan

ASP.NET 2.0 makes things easier by Marcie Jones

The same criticism could be made of any layer or framework. There are so many fabulous things in ASP.NET 2.0 that make things easier than ever before, but like with any framework, you have to evaluate each feature or control to see if it actually makes sense for the solution you're trying to implement. In many cases, it may not. Fortunately, ASP.NET makes it very easy your own server controls and other components to use when you need round pegs for the round holes in your application.

Re: ASP.NET 2.0 makes things easier by Geoffrey Wiseman

Yes, although one of the things I've appreciated a lot about Java, particularly in comparison to Microsoft frameworks, is that the levels of abstraction tend to be accrued slowly and carefully, often with the ability to dive down one or more levels to solve leaky abstractions.

For instance, it's much easier to dive down from JSPs to Servlets to Java Application Server code than it was to go from ASP to ISAPI.

Sounds like ASP.NET 2.0 raises some of these concerns.

Re: ASP.NET 2.0 makes things easier by Daniel Solin

Marcie, excactly what (real-world) things do you think get easier than ever with ASP.NET? Would also be interesting to know what you are comparing it to. ASP?

What often annoys me is Microsoft's way of making it sound like they are blessing everyone with their new and cool inventions. Inventions that they, in no way, should take credit for. Then, Microsoft-oriented developers start saying things are easier than ever, but only because they have not developed on any other platform than Microsoft's.

Re: ASP.NET 2.0 makes things easier by Marcie Jones

"Marcie, excactly what (real-world) things do you think get easier than ever with ASP.NET? Would also be interesting to know what you are comparing it to. ASP?"

The thread began with a discussion of ASP.NET 2.0, and what I'm saying is that ASP.NET 2.0 makes some common tasks easier than in ASP.NET 1.x (and definitely easier in turn than classic ASP). Here are some of the ones that come to mind:
Membership/Personalization: adding login/registration to site becomes simple (and codeless), managing the user's information with their built-in Profile is quite handy, and with the provider model support in 2.0, it's now much easier to write your own profile or membership provider to persist this information however your organization deems appropriate.
Caching: the caching framework in ASP.NET has gotten more powerful than ever, particularly with the new database cache dependency feature
Generics: I don't think I need to explain how beneficial this is. And again, I'm not saying that Microsft invented any of these things, but for those of us who do .NET development, these tools are all new to the latest version of our product, and they improve our productivity.

"What often annoys me is Microsoft's way of making it sound like they are blessing everyone with their new and cool inventions. Inventions that they, in no way, should take credit for. Then, Microsoft-oriented developers start saying things are easier than ever, but only because they have not developed on any other platform than Microsoft's."

I think most of us (.NET developers) are aware of some of the advantages of other platforms, but we can still get excited about new advances in our own platform.

Marcie

Re: ASP.NET 2.0 makes things easier by Per-Frode Pedersen

Daniel, I find it fascinating that your little presentation page is an example of your "real life" application. I'm also quite apalled about the way you talk to people. You have made yourself guilty of at least two serious mistakes in your blog article:
1) You reference ASP.NET in general, and the event model in particular as "the problem", but one of the two examples is about DataSets which is not ASP.NET at all. You probably know this, but not everyone does. For those that are unfamiliar with the terminology: The difference is a bit like complaining about JSP and using an example from Hibernate.
2) You have a long rant about all the extra work you need to do to get the DataSet to work the way you want, but you are obviously completely ignorant about the functionality available to you, like Computed Columns.

Also, if you can get away with writing "real world" applications with variables named text1, text2, num1, num2, cell1, cell2 etc. then we have different opinions about what "real world" really means.

Finally I'd like to point out one statement from your blog:
"...it's also a possibility I'm doing this all wrong and haven't understood what .NET is all about...".

Re: ASP.NET 2.0 makes things easier by Daniel Solin

"The thread began with a discussion of ASP.NET 2.0, and what I'm saying is that ASP.NET 2.0 makes some common tasks easier than in ASP.NET 1.x (and definitely easier in turn than classic ASP)."

In total agreement.

"Membership/Personalization: adding login/registration to site becomes simple (and codeless), managing the user's information with their built-in Profile is quite handy, and with the provider model support in 2.0, it's now much easier to write your own profile or membership provider to persist this information however your organization deems appropriate."

Well, yes, I agree that it is quite handy. But in a way I believe we get back to the same problem here - it is simple and codeless when you do it exactly the standard way, but usually that is not the case.

"Caching: the caching framework in ASP.NET has gotten more powerful than ever, particularly with the new database cache dependency feature"
Generics: I don't think I need to explain how beneficial this is. And again, I'm not saying that Microsft invented any of these things, but for those of us who do .NET development, these tools are all new to the latest version of our product, and they improve our productivity."

Absolutely.

"I think most of us (.NET developers) are aware of some of the advantages of other platforms, but we can still get excited about new advances in our own platform."

Yes, and I'm sorry if that last comment came out a little harsh. I'm a .NET-developer as well, so we're in the same boat. I generally like the platform I spend my days developing on, although I get frustrated sometimes (as you might have noticed in that blog entry :)).

Of course we get excited about the advances made on our platform. As I said, I just get annoyed seeing Microsoft tricking people (or trying to) with their look-at-our-incredible-new-product-everybody-say-halleluja-cause-th?s-is-a-revolution-propaganda.

Re: ASP.NET 2.0 makes things easier by Marcie Jones

I definitely understand about the frustrations -- .NET has a huge learning curve, and it can be really tough at times to get it to do what you want. I even agree with you that sometime the built in controls are hard to tweak to your situation, and that you can end up at times spending more times tweaking or hacking the control than you would have if you'd written from scratch to begin with.

I don't think I agree on the "Microsoft is trying to trick people" sentiment! :)

Marcie

Re: ASP.NET 2.0 makes things easier by Daniel Solin

"Daniel, I find it fascinating that your little presentation page is an example of your "real life" application. I'm also quite apalled about the way you talk to people."

My "little presentation" is actually not a presentation at all. It's a Blog entry trying to state my opinion. I'm sorry if anything in my way of talking to people offended you. That was absolutely not my intention.

"1) You reference ASP.NET in general, and the event model in particular as "the problem", but one of the two examples is about DataSets which is not ASP.NET at all. You probably know this, but not everyone does. For those that are unfamiliar with the terminology: The difference is a bit like complaining about JSP and using an example from Hibernate."

Okay, wouldn't you agree that DataSet is a part of the .NET-framework, and that the .NET-framework has a quite important role in ASP.NET? I'm don't follow you on the JSP/Hibernate simile. You must agree the .NET-framework is much more closely and tied together with ASP.NET than Hibernate is to JSP/Servlets. Hibernate is a completely stand-alone project, and far from a standard. I believe you could say that using DataSets in an ASP.NET application is standard, and therefore assign it to be a (possible) problem for ASP.NET developers.

"2) You have a long rant about all the extra work you need to do to get the DataSet to work the way you want, but you are obviously completely ignorant about the functionality available to you, like Computed Columns."

Yes, I am ignorant about Computed Columns. Thank you for the tip.

"Also, if you can get away with writing "real world" applications with variables named text1, text2, num1, num2, cell1, cell2 etc. then we have different opinions about what "real world" really means."

Yes, obvisouly we do. I don't see how my variable names could make my application more or less real-world.

"Finally I'd like to point out one statement from your blog:
"...it's also a possibility I'm doing this all wrong and haven't understood what .NET is all about..."."

Yes, I believe you benefit from trying to be open-minded and realize others know better than you. Like your tip about Compound Columns, that's great! Will check that out.

Re: ASP.NET 2.0 makes things easier by Per-Frode Pedersen

I'm glad that we at least agree that being open minded is important. Although in this matter I must say I agree more with Marcie Jones.

I also agree that it is important to listen to what others have to say, that's why I spend time reading blogs and news. I'm sure that you have had real problems that has given you the right to be frustrated, we've all been there. Letting your frustrations out is a good thing :)

I hope we can share ideas and solutions in the future, instead of crossing opinions.

Re: ASP.NET 2.0 makes things easier by O S

I am relatively new to ASP .NET, and I must say I share a lot of frustrations described here. As a seasoned web developer (I worked in ASP and ColdFusion for many years), I developed my own programming style over the years ? a framework for tying it all together: client and server side logic. Now that I moved to .NET I?m finding I have to trash it all and start from scratch, I feel like years of experience wiped out of my job history.

Further, my career path was taking me higher up the ladder ? I was finding myself concentrating more on business side of things, serving as a team lead, since I?ve mastered the technical details completely. Now I?m thrown years back debugging Javascript and CSS trying to get it to do something that took me minutes before ? now is taking me hours. I am farther than ever from the team lead or project lead role, having to concentrate on technical details rather than business. Perhaps, it?s just my learning curve, but I?m having my doubts now whether I want to be thrown back like this? One definite advantage of .NET I see so far is the powerful backend framework for implementing your business layer in a true object-oriented way ? a huge step forward from mishmash of UI, database and business logic all mixed in script pages before. But that?s it. This is huge, but other than this ? don?t tell me about improving programmer productivity ? I wonder if anyone measured how much more it costs companies to develop software in .NET. Thank god for project managers not understanding technical details ? otherwise, we?d all be still doing ASP and ColdFusion, because no budget-sensitive manager would allow for tasks to take hours that can take minutes.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

11 Discuss
BT