KBD

Keith Devens .com

Friday, July 4, 2008 Flag waving
YAGNI: You ain't gonna need it. – XP slogan
← AutoHotkey - Free Mouse and Keyboard Macro Program with Hotkeys and AutoTextC++ Reference Guide > The Rise & Fall of Object Orientation →

Daily link icon Monday, February 13, 2006

I hate ASP.NET

I hate ASP.NET with a passion.

I still think C# is a good language, and the .NET class libraries and VM are good stuff, but ASP.NET is an abortion.

← AutoHotkey - Free Mouse and Keyboard Macro Program with Hotkeys and AutoTextC++ Reference Guide > The Rise & Fall of Object Orientation →

Comments XML gif

Hannibal wrote:

ASP.NET 2.0 rocks!

I think the problem is that you want to do 1-tier, non-OOP, scripting with what is by design an n-tier architecture.

∴ Hannibal | 13-Feb-2006 11:04pm est | #9132

Keith (http://keithdevens.com/) wrote:

N-tier architecture? The programming language and server-side platform you use have nothing to do with how many tiers your application's architecture has.

Keith | 13-Feb-2006 11:11pm est | http://keithdevens.com/ | #9133

Keith Gaughan (http://talideon.com/) wrote:

You're preaching to the choir here, Keith! However, I think the real problem with ASP.NET is that MS try to convince people that code-behind really seperates presentation from logic. Frankly, it doesn't.

And then there's ViewState, which just seems like a half-hearted, poorly-implemented, lobotomised, leaky version of continuations. And the crappy widgets. Grr! Other things that annoy me would be the lack of anonymous inner classes, which, at least until C# gets closures, makes it hard to write code like Spring's JdbcTemplate and the like.

Here's some advice, though. Subscribe to Jeremy Miller's blog. He's a smart guy, and knows ASP.Net inside out. WELC is your friend, as are NUnit and NHibernate.

∴ Keith Gaughan | 14-Feb-2006 12:18am est | http://talideon.com/ | #9134

Keith Gaughan (http://talideon.com/) wrote:

And just in case somebody brings it up, delegates are not enough. They're useful, but I'd trade them for anonymous inner classes or proper closures any day.

∴ Keith Gaughan | 14-Feb-2006 12:21am est | http://talideon.com/ | #9135

Richard@Home (http://richardathome.no-ip.com) wrote:

You and me both Keith. Having been a PHP developer for many years I've found ASP.Net to be one unproductive frustration after the other.

<rant>
Dubugging on a remote server becomes a nightmare: You can't drop helpfull "echo's" into your code because, if the page finds an error it doesn't display your helpful echo's, it displays a page full of exceptions AND NOT ONE OF THEM tells you what line the error occured on.

The fact you have to compile a website? (! A WEBSITE !) before you can view it boggles my mind.

And when you do compile it, it destroys your server side session! So you can't spot a problem on a page, fix it in the code and then refresh the page to see the fix because the session is lost and you've just been logged out... and so has anyone else who's connected at the time.

AND... you can't just plonk a form in a page. You have to go through microsoft's FormWidget(C)(TM)(RT).

AND... standards compliant HTML? Well, it IS possible (people keep telling me anyway), but at the price of your sanity.
</rant>

It's doubly frustrating for me as I first started coding in VB and ASP.Net 'feels' just enough like VB to throw me a curve ball every time I try and do even the simplest thing.

∴ Richard@Home | 14-Feb-2006 8:00am est | http://richardathome.no-ip.com | #9137

Adam V. (http://adamv.com) wrote:

Here's a Greasemonkey script to remove the long non-wrapping tagline on Miller's site:
http://adamv.com/dev/grease/scripts/Millereadable.user.js

(Unfortunately, the horz. scrollbar remains after installing right now because there is a wide pre block of source in the current news.)

∴ Adam V. | 16-Feb-2006 8:15pm est | http://adamv.com | #9144

Keith (http://keithdevens.com/) wrote:

And just in case somebody brings it up, delegates are not enough. They're useful, but I'd trade them for anonymous inner classes or proper closures any day.

Note that C# 2.0 does have closures.

Keith | 17-Feb-2006 12:47am est | http://keithdevens.com/ | #9150

Keith Gaughan (http://talideon.com/) wrote:

True, but I'm stuck with .NET 1.1 for the moment.

∴ Keith Gaughan | 17-Feb-2006 11:40am est | http://talideon.com/ | #9155

Keith (http://keithdevens.com/) wrote:

Been meaning to say:

The fact you have to compile ae website? (! A WEBSITE !) before you can view it boggles my mind.

You don't have to compile every page up front. They can be compiled on first access. To me, the fact that ASP.NET is compiled is one of it's features, not one of its problems. Which is better, having to have your page essentially compiled on every page access (like PHP), or compiled only once?

Also, I'm not sure what you're talking about regarding compiling destroying your server side session. I can launch the embedded web server in Visual Studio by just debugging (i.e. hit F5) and edit pages at will. They're recompiled when I access them, and AFAIK your session isn't destroyed. In other words, I don't have to rebuild for every small change.

Keith | 17-Feb-2006 11:54pm est | http://keithdevens.com/ | #9159

Michael Creamer wrote:

I don't "GET" ASP.NET.

I've been a programmer for many, many years-- many of them using ASP (ASP classic that is-- a term I dislike). I've created some great websites with it and I'd like to continue but I feel compelled (for some reason) to move to ASP.NET.

I've always been a Microsoft kind of guy-- but I just don't think ASP.NET is a step in the right direction. Treating web development as if it were Windows app. development is silly.

I find myself spending hours and days trying to accomplis simple tasks and I don't know who thought postback was a good idea (or even necessary). It isn't.

If anyone can help me get over the hurdle and understand the point of ASP.NET then I'd love to have a conversation with them.

I think it might be time to switch out of ASP.NET and maybe use PHP (I've done that before as well) or something that let's the programmer have control.

Michael

∴ Michael Creamer | 27-Feb-2006 3:56pm est | #9214

David wrote:

I absolutely agree with Hannibal: ASP.NET 2.0 sucks alot worse than classic ASP, this language was created to drive me to drink. I find this crap so tedious and overly complex that it takes probably the most amount of code of any language ever created just to create a simple "Hello World" application. What ever happened to writing code by hand? Something I feel I have more control over? I don't even understand the complexities involved in downloading sample code and running it in my environment. Somebody help.

∴ David | 19-Apr-2006 3:23pm est | #9412

John wrote:

ASP.NET 2.0 sucks less than ASP.NET 1.1

But now, I'm stuck spending hours trying to figure out stupid stuff like why there isn't a compile option in Visual Studio 2.0 and all the other hundreds of things that are different in 2.0 from 1.1.

Having used classic ASP, Php, C++, some basic Java, and then asp.net 1.1, IMO asp.net has the worst aspects of Java and the worst aspects of ASP.

It has a huge API that gets between you and what you want to do. It's a chore to sift through endless MS documentation and function calls to do a simple forms based data application. That "helpful" visual, event based API adds a huge layer of complexity.

PHP 5.0 is the true successor to classic asp. It is object oriented, and the programming model is "light" You can code the same application with notepad or VIM or whatever. With dot net you are stuck with Visual Studio, inefficient code generation, and if you want to add custom javascript, you have get tied up with all crappy code generated javascript generated by Visual Studio. Ugh... It's too much work and too many unnecessary layers of complexity to simulate drag and drop programming!!!

I love C# too, and the fact that it can be compiled so that the source code can be kept secure and the "byte code" is can be optimized by the compiler.

ASP dot Net is good for quick intranet projects that need to be cranked out quickly, & small websites. But the canned controls foster unorginality in design, and it is a pain to think outside of Microsoft's box and code things that are different from what Visual Studio has intend the programmer to do. It's not good for creative websites.

And it is extremely frustrating, if you want to create an innovative website with original javascript, features, and efficient HTML!!!!!

Microsoft, get a clue. Visual Studio 6.0's SOM sucked for a reason, and it wasn't because of vbscript. Web programming is not windows forms programming. Making easy drag and drop is a crutch for developing simple stuff, but for Prime Time websites, it is a hindrance. More effort should have been spent on giving asp.net a more simple and elegant API.

∴ John | 24-Apr-2006 11:19pm est | #9416

72.67.74.182 wrote:

taking a class on asp.net 2003...... omg what a pain. I'm not expert like most of you but I have done classic ASP.. and tons of web stuff..... but, the interface really is kludgey.

∴ 72.67.74.182 | 13-May-2006 10:39pm est | #9447

Anthony wrote:

I think you all being a little unfair to ASP.net here...

There are some fantastic features in the API allowing all kinds of great server based web applications!

Session management, Security, Access to Native SQL Server Lib for data access, the XML processing, the XSLT processor - ASP.Net gives you access to C#.

I started out doing webby app dev stuff with CGI using C++ on Solaris then discovered ASP on IIS, then spent a few years wanting a better ASP until ASP.Net 1.0 came out... 1.1, now 2.0 and XAML round the corner somewhere - However since Ive left ASP dev, Ive pushed nearly all the web development for the GUI to using ASP.Net and XHMTL!!

How - well, no one says you have to use ASP.Net controls per page. Ive been using xsl and xml to model the pages from my static designed XHTML/Jscript pages with integration of user form data and database resultsets from XML and xsl transformations to give me my XHTML.

The Compile feature in ASP.net2.0 is perfect for this as it means you dont have to go through a compile stage at all now unlike 1.0 and 1.1.

Like all things in IT - choose what you need you dont have to subscribe to 100% of what is pushed out - its up to developers to challenge these aspects and ask the awkward questions of the design decisions people make - "So why has it taken you 2 days to work out how to render the background colour of a table cell on the ASP.Net 2.0 GridView, if a value is < x?"

...you know its simple... in CSS and XHTML - try it in ASP.net and the above comments all stand!

Some of the other features in ASP.Net 2 such as master pages, themes, web parts - AGGGHHHRRR the way the documentation reads its almost as though MSFT have invented all this - the developer community have been doing it for years... I do all this stuff in xsl with DB integration...

So I suppose I have a LOVE HATE relationship with ASP.Net!

∴ Anthony | 8-Jun-2006 2:03am est | #9498

Ghaladen wrote:

So you guys like spaghetti code? Nested includes? Lousy ADO?

Honestly guys, ASP.NET really isn't all that much of a sin. Compiling does catch the little nuances, such as a wrong version deployed on the server, dependency issues, and what not.

And if you don't want to compile your code before you deploy it, you can always just upload the .aspx and/or .aspx.cs/.vb file and the CLR will compile the pages as they are visited.

And yes, "dragging and dropping" sucks, but you don't have to use it if you don't want to. I recommend this book:

http://www.amazon.com/gp/product/0672328...=pd_bbs_1/002-4789870-6026434?ie=UTF8

He does just about everything programmatically, no drag, no drop. I only have two issues with this book.

A: the code in the book is in VB.NET. Being a C# developer I find this a bit prejudice (C# code is on the disc though to follow along with, so its not too bad).

B: He recommends writing everything in the .aspx file. While I'm more of a code-behind person, I guess that if you're gungho on classic asp this will be more of your thing.

∴ Ghaladen | 22-Aug-2006 11:10am est | #9616

Jay wrote:

I've been a programmer in asp & php for years, until I got my hands on ASP.net. I'm amazed at the ranting here. Our development costs and timelines have been dramatically reduced. Our enterprise apps are far more stable than was ever possible in the past. Code re-use is at an all time high. Was there a learning curve initially 3 years ago when we began using it? Sure... as there is with any major step forward. The fact is you have to worry about so much less... script-injection anyone? We develop online tax systems. Security couldn't be a bigger issue and so far .Net has proven itself to be extremely solid, and good at forcing you to plug the holes that are sometimes over-looked by developers. My advice.. keep at it. Even the most inexperience developers on our team eventually 'GOT' it and now no one could imagine using anything else.

∴ Jay | 4-Sep-2006 7:57pm est | #9632

LeVar Berry wrote:

Guys,

All of you have a point.

I too have been programming in Perl, PHP, and ASP for a long time... and in 2003 started with ASP.net. For the first year.. I hated ASP.net, if you mention it to my face I would have probably shot you. {joke}. The point of ASP.net was to eliminate spagetti code... Well it accomplished that and then introduced a new style of code I like to call the WTF code.

I am also a desktop programmer mainly using Java,VC++ and VB, so I can really say .NET on the desktop has really helped in so many ways.

Now to my point... .NET is a step in the right direction ASP.net is only a step in the right direction for certain people. Those people who come from a desktop development world can take to ASP.net much faster than a person who's been web-scripting for years. Mainly because ASP.net approach is different. It lets you create your web in the same fashion and you would a desktop application. YOU MUST USE VISUAL STUDIO. If you are not using VS... you'll kill yourself like I almost did. No other editor can compare or unleash the power{or lack there of} for ASP.net.

For the traditional web programmer... PHP is the truly a better step forward. External or internet wide applications will be much much easier to code using PHP5 over ASP.net And it won't trap you into an IE-only client. It won't cost you an arm and a leg to just get the software and hardware to run the application... and you have FREEDOM. The most important element that programmers want.

Now on the flip side try PHP-GTk.... the desktop PHP. Umm this is so annoying, i don't even want to talk about it anymore.

There is a reason that there over over 10K open ASP.net jobs right now... and its because ASP.net is being mis-used, its too complex, and it my biggest point... Web-scripting and Programming are too different things. ASP.net is OOP and ASP,Perl,PHP are scripting languages... this is why people don't get it! Dogs and cats can't make babies... Let's leave Desktop programming and Webscripting apart and make this world a better place.

∴ LeVar Berry | 13-Sep-2006 9:01am est | #9646

144.5.224.144 wrote:

Ok, 2 cents from a seasoned pro... Good tools do not equate to good architecture. Hence, code behind is not the solution to abtraction. You must architect abstraction my colleagues.

Carry on. Smiley winking

∴ 144.5.224.144 | 7-Nov-2006 5:36pm est | #9756

144.5.224.144 wrote:

It's like saying I bought the best hammer, so why am I not the best frammer. Ha ha!

∴ 144.5.224.144 | 7-Nov-2006 5:39pm est | #9757

Steve wrote:

I've been programming with ASP since its first release. Recently, I've tried ASP.NET and I find it really difficult to do even the simplest things. I wanted to know if I was alone thinking that way. So, a search on the Internet brought me here.

I don't think I'll continue with ASP.NET. Considering that MS may stop supporting ASP in the future, I might have to move on to a different environment, PHP maybe. What a shame!

∴ Steve | 23-Nov-2006 10:06pm est | #9799

72.192.244.11 wrote:

ASP.NET is marketed as the replacement of "Classic" ASP. However, writing "flat", 2 layered (data and code...no middle-layer) apps like what was written in classic ASP is like writing .txt files with MS Word. This is what is happening for the most part. Developers that do not learn other software development paradigms like OOP, AOP, design patterns, ORM are not getting into the "meat" of the advantages of .NET and ASP.NET.

I am not saying that you can't write ASP.NET apps that way... you definitely can... but without some up-front game plan on how to extend your application without impacting scalability and making it difficult to maintain (I have seen ASP.NET sites with 300+ pages and the developer's ideas of a design pattern was cut-and-paste)... you might as well continue to write old school ASP.

ASP.NET Programming != OOP

∴ 72.192.244.11 | 4-Dec-2006 6:00am est | #9808

72.151.104.189 wrote:

In order to really make good use of ASP.NET (1.1 or 2.0) you have to have a very high level of knowledge about the underlying architecture. I've had to frantically search for the control lifecycle diagram countless times while developing custom controls. Recently I've been having a hard time with the data binding model in ASP.NET 2.0. I've finally decided after banging my head into the monitor for a couple of days that I'll be most productive if I abandon the complexities of ASP.NET server controls and go back to a strict Database/WebServer/HTML model.

Good luck everyone.

∴ 72.151.104.189 | 8-Dec-2006 3:00pm est | #9813

^BB^ wrote:

ASP.NET looks and feels a lot more like professional programming than ASP or PHP, but it clearly was designed for people who don't want anything to do with HTML and JavaScript. The overly complex and property ridden drag and drop controls are not suitable for complex web applications.

Not only do the bulky waterhead controls try to hide the simple HTML/JS languages (which really don't need rewritten tags and controls in my opinion), most of the DAL/DAO features actually try to hide the utter simplicitity of SQL as well. To me, the result is often that I don't find the controls doing exactly what I want, so I end up programming to cancel out some of the unwanted features and quirks in self brew controls.

So hang on... now we're passing 5 layers -> own controls, .net controls -> (maybe even OLE here) -> database api -> SQL query -> database engine... wtf!? Let's not mention the path the eventual result set takes BACK to the business logic.

Also the HTML generated is packed with border:0px styles or idiotic &nbsp; stuff (hello frontpage 2000 core?).. try controling leading and ending white spaces inside <td> elements. sigh! this doesn't make writing css very easy without tons of even more hacks. ASP.NET itself is a giant hack on simple html, designed for loyal Win32 Api programmers if you ask me.

C# by itself is a nice language though! Smiley

∴ ^BB^ | 13-Dec-2006 6:34pm est | #9839

George Scott (http://www.officezilla.com) wrote:

If you want to make really good money ASP.net is the way to go.

I never learned "real" programming like C++ or even Visual Basic. I got a job basically out of High School developing web sites and have not stopped since. That was 10 years ago.

When I read ASP.Net tutorials my eyes glaze over from the complexity. I have to do what to post a form. Kiss my butt MS!

I have never had to take a class to learn anything to do with websites but if I were to have to use ASP.Net I would signup for instruction. I would learn crazy complex ASP.Net before PHP because people will pay more for crazy complex ASP.net code.

∴ George Scott | 22-Feb-2007 5:24pm est | http://www.officezilla.com | #9977

Mr. Martinez wrote:

I was browsing for just this type of posting... I am working for a client who has an entire site written in Classic ASP. I was hired to document the application since everything was in the head of the Lead Developer who... well just doesn't want to share... since this is no way to produce and implement an application something had to be done...

I am developer for over 17 years, Java,Perl, CGI, PHP and of course all of the MS stuff... I loved ASP for many years but having looked at over 600+ ASP pages in this one application... I have to wonder why I did not adopt ASP.NET sooner... Guys... I can't tell you how much code is dupicated and really hard to follow between the ASP code blocks (<%%>). Even the sign on page had three "sister" pages responsible for the results... I since converted a large portion of the site using Design Patterns, Data classes, Abstracts and Interfaces.. and VIOLA... not only did the pages start to make sense to the other developers... the site performance was increased!!!

So.. I have to ask.. what are the "simple" things you can do with ASP that are "hard" to do with ASP.NET... it can't be that bad!!!

∴ Mr. Martinez | 1-Mar-2007 12:43am est | #9988

Mike the frustrated wrote:

Have to agree with a lot of the comments above regarding "doing simple things is harder with .net". I've been developing an intranet in "classic" asp for years and recently decided to start porting it to .net. How I wish I hadn't!

I agree that I should expect a steep learning curve and that asp.net is "feature-packed" and more "joined up" but this is frankly doing my head in. I agree with the comment above in that I may well have to take instruction on this one as I just don't seem to "get" OOP , I hope I don't have to though - I've learned a few languages over the years but none of them have I had to do more than buy a book for! Whatever happened to firing up Notepad and building a website in ten minutes?

Rant over now, sorry, back to that blinking postback error...or PHP

∴ Mike the frustrated | 8-Mar-2007 10:31am est | #10012

169.133.140.5 wrote:

My biggest beef with asp.net is the abomidable documentation. the help tool does not find what it should. When you do find something relavant in the class library it does not even have any requirements of namespaces it needs to function. Half the time I have to google the information and sort through the half dozen different code samples and methods just to figure out what a class need to operate.

∴ 169.133.140.5 | 21-Mar-2007 10:28am est | #10033

70.64.106.142 wrote:

After working on three different ASP.NET projects and putting up with all kinds of framework bugs, massive complexity and poor performance, I have developed a rabid, passionate hatred for all things .NET.
All the time spent mucking around with .NET is time not spent on solving your client's problems.
If you do .NET projects, make sure your client has time and money to burn. If you want it done efficiently on the web, use PHP.

∴ 70.64.106.142 | 30-May-2007 11:46pm est | #10118

Peter Wieselquist (http://sysin.com) wrote:

I agree that for us non-winforms guys, the additional abstraction of semantics that web forms and controls does more harm than good.

But classic ASP better than ASP.net? c'Mon. I beg to differ. Everything is better with ASP.net...

Let's be clear here. ASP.net = good. Web Forms = bad. And nobody's holding a gun to your head to use web forms.

I hate them too, along with viewstate, postback, web form controls, and control events (a laughable concept that should have stayed with winforms) and all the other MS webforms-centric stuff (i mean really...writeclientscriptblock?).

You can still use regular forms (no runat=server), post to whatever URL you like (I like UIless c# pages), write your own javascript and HTML controls. It all still works - and way better than classic asp, where you had to use ugly inline script blocks and URLEncode and HTMLEncode strings manually.

IMO, the object model in System.Web.UI.HTMLControls is clean and sematically more pleasing than that of the webform controls, which echo the winforms world (button1_click, label1.caption, etc).

When you really dig into asp.net, you'll there are choices, so naysayers should stop painting it with a broad brush and get busy.

∴ Peter Wieselquist | 7-Jun-2007 2:36pm est | http://sysin.com | #10126

Keith (http://keithdevens.com/) wrote:

Peter, that's exactly how I use it. I ignore everything that constitutes "ASP.net" and use it pretty much exactly like I used ASP classic. No viewstate no custom controls no web controls no postback no atlas no master pages no web forms, etc. All of the above that constitutes "ASP.net" is terrible. Thanks for agreeing with me.

Though, if you know how, as we both apparently do, you can avoid how every ASP.net tutorial, book, seminar, and so on tells you to use the technology and just use it as a slow-to-develop-in and unportable alternative to something like PHP.

Keith | 7-Jun-2007 2:58pm est | http://keithdevens.com/ | #10128

Animesh Saxena (http://inlovewithlinux.blogspot.com) wrote:

ASP.NET - A Framework for developing windows forms applications (oops did I say forms....sorry web) and somehow deploy the whole crap to IIS.

Inability to post to a different page. Who the hell decided that was good idea?

  1. Why does MS want to eliminate all client side code from my pages by replacing it with stupid and slow server side code?
  2. Why does every button need to cause a server postback?
  3. Why do I want to validate form input on the server side instead of on the client side with javascript?
  4. Code you write, or should I say that VS writes, can be written in any other language in 2 lines of code instead of 10, & boy did MS fuck up the data access stuff, what pain!
  5. why everything has to be an object with umpteen million properties.
  6. Why does it have to have a font, background and all these other useless properties that bloat the object out of proportion (and take up cpu time and memory when rendering), when all I want to do is render some simple html. it’s just a string in the end!
  7. Where they really went wrong is they forget to have a runat=”client” implementation. While they use some javascript to implement there crappy event model, they forgot to think that some developers out there prefer to use javascript with controls a lot.Try accessing/altering an ASP.NET control with javascript?it is possible, but wtf MS?

Yep Try Again Microsoft, and this time get some real web developers in on the project from the beginning. AND Not Windows Forms developers.

End View -- Microsoft Sucks @ Web Frameworks

∴ Animesh Saxena | 8-Jun-2007 3:38pm est | http://inlovewithlinux.blogspot.com | #10131

Peter Wieselquist (http://sysin.com) wrote:

Keith,

Way to go. But give Master Pages a try. They work well in conjunction with our philosophy of ASP.net, and they don't reqire a webform. Master pages are way better for templating a page versus #includes, user controls, or server.executes.

The only problem is when you have a server-side form element. In this scenario, the Asp.net compiler mangles the ID attribute of the element, breaking all your javascript and css Smiley frowning

∴ Peter Wieselquist | 12-Jun-2007 8:16am est | http://sysin.com | #10134

Keith (http://keithdevens.com/) wrote:

The only problem is when you have a server-side form element. In this scenario, the Asp.net compiler mangles the ID attribute of the element, breaking all your javascript and css Smiley frowning

Yeah the stupidity of the whole setup is pretty boggling. They then had to invent Atlas because their stuff doesn't play nice with javascript/ajax. We tried Atlas and ran away screaming.

I'll keep an open mind on Master Pages, thanks.

Keith | 12-Jun-2007 8:44am est | http://keithdevens.com/ | #10135

Mark Howard wrote:

I use ASP.NET 1.1 with Visual Studio 2003... I agree with one comment that said Microsoft tried to make web development like windows development. HTML is a very soft language and in the end I only really consider as a string, because it is only a mark-up language, not a "true" language.

Visual Studio 2003 with ASP.NET 1.1 is a very nice development platform because you can set the environment to not vaidate your HTML which is a very annoying thing, especially when you output things using server-side code in the html with <% %>.

I code like a "Classic ASP" programmer because I mix my client and server-side code on the ASPX page as well as utilize the ASPX.VB code behind file... I dimension textboxes and other controls on the server that I want to access on a postback and doing things this way makes development very powerful and easy. I think that Microsoft's intended approach to development in ASP.NET is very crappy and annoying, but developing like a Classic ASP programmer and utilizing the code-behind file is why I love developing in ASP.NET.

Try approaching ASP.NET like a classic ASP Programmer and you'll find that ASP.NET is AWESOME!!!

PHP is crap!! and is nowhere as powerful as ASP.NET.

∴ Mark Howard | 26-Jun-2007 4:09pm est | #10171

Mark Howard wrote:

Also forgot to add that I have never and will never use the Design mode on a webpage... Because when you mix your server-side code and HTML it will not allow you to use the web page designer which utimately sucks anyways

∴ Mark Howard | 26-Jun-2007 4:10pm est | #10172

Peter (http://www.imagetrail.net) wrote:

I am just getting back into ASP.net and have found this discussion very revealing. I have been doing PHP for about 4 years and am going to ASP.net for the jobs in my area.

I really like Master Pages so far, but have little experience with some of the other "problems" here. I think I avoid the postback concept because I don't completely understand them.

Most of the books I have looked at all seem the same, but don't seem to get to deep into what acutally makes ASP.net attractive. Can someone recommend a good book for ex-PHP developers.

∴ Peter | 28-Jun-2007 3:06pm est | http://www.imagetrail.net | #10174

micro$oftsucks wrote:

Only a fool would pay for MS software. You can do anything with open source solutions.

∴ micro$oftsucks | 12-Jul-2007 9:09am est | #10188

billie (http://www.webrawl.com) wrote:

Microsoft should have never tried to make asp.net mimic winforms development. It was the wrong architectural decision.

∴ billie | 20-Jul-2007 8:43am est | http://www.webrawl.com | #10206

JF wrote:

micro$oftsucks wrote: Only a fool would pay for MS software. You can do anything with open source solutions

I'll stick with MS and a higher salary. Thank you.

∴ JF | 30-Jul-2007 4:09pm est | #10226

STORM wrote:

I have been using PHP for about 5 years and ASP.net for a year and a half. I have also used ASP for a year or two before moving to PHP. I have also used ColdFusion and PERL.

I really can't stand ASP.net at times. But honestly I came into it tainted because I expected so much more once I read all the fanboy rant about how its so much better than PHP. What I quickly learned was that all these claims of code/presentation seperation were quite possible to do in PHP and I HAD been doing them all along. Code reuse was always simple to me in PHP (OOP or not) through the use of its flexible include method (not like classic ASP's includes).

The idea of databinding has been my biggest pet peeve lately. Its great as long as you just want to map database or view fields directly to an html table. But as soon as you need to do some non-global transformation (which is almost always) you either have to write a callback function for the rowbound event and do the work or create a seperate lightweight object and load a list of them and bind to that. One day I simply needed to change a check box control to be displayed as yes/no text and threw my hands up when I realized that not only would I have to do one of the two things above but also add a template field to the datagrid. Now I'm sure those of you that have used ASP or PHP can see how ridiculous this overkill can be.

Plus a lot of the features ASP.net people get geeked are more like solutions to problems the ASP.net architecture caused in the first place than they are real innovations. My coworkers turn to me and say "I found a new/easier way to do something with a datagrid" and I reply that I didn't have that problem when I simply built the table myself through a loop. Master Pages and user controls are nothing new. To me they are only bloated ways to do what includes did in the first place and only exist because ASP.net doesn't seem to have that flexibility. Code behind is once again a simple matter of smart usage of includes and variables.

The more I work with it the more I realize that the people that like it actually NEED it. For example if you got excited about master pages then I have to assume you were coding the same headers/footers/menus/components over and over on each page. In this case you probably NEED the ASP.net framework because you don't know what to do with a raw language and you probably WILL write spaghetti code. For those that actually know what they are doing the bells and whistles of .Net don't amount to much and actually become a hindrance. I have noticed people in this post suggesting that you don't use the server controls or forms if they hinder you but if you don't use them then why use .Net period if you have the option not to.

I won't even get on language flexibility but I'll just say I amazed a worker by replacing a 40+ file library we wrote with hundreds of lines of code with a 160 line piece of PHP. But once again if you don't have discipline you will just take that flexibility and write spaghetti code.

I agree with others that this attempt to make windows client programming and web programming the same thing was a poor idea.

∴ STORM | 5-Aug-2007 2:15pm est | #10232

Peter Wieselquist (http://sysin.com) wrote:

Storm,

You are missing the point on Master Pages. #inludes aren't a good solution for layout design, because the lines of code dictate a sequence that's repeated for every page.

Look at this typical scenario:

<head>
<#include header>

<body>
<#include banner>

page content

<#include footer>
</body>

When the customer says "move banners to the bottom for all pages", you've gotta change every page (or get your css book out).

∴ Peter Wieselquist | 2-Oct-2007 9:09am est | http://sysin.com | #10320

125.236.209.120 wrote:

Basically all web development is - is sending a string of HTML to the browser.

As a newbee I found VB easy to use. I tried the server controls for a while and gave up with all of them - because I felt the HTML and CSS was out of my control. I just write my own HTML with visual basic and create strings for my HTML throughout my whole application.

I absolutely hate the server controls and there webforms. What are microsoft thinking.

∴ 125.236.209.120 | 29-Nov-2007 1:14am est | #10415

ASPrine .NET wrote:

Any positive comments about ASP .NET on this page must have been written by Microsoft employees or share holders. I have been writing Classic ASP pages forever - I can write them in my sleep. Just try changing a style on one TD cell in dotNET on a GridView. I gaurantee that I can do it faster in Classic than any of you can in dotNET. Sit me down next to the best dotNET developer you can find - give us both the same requirements for an application and I will have that site developed in one-tenth of the time that your ASP .NET developer will. COME ON!!! ROCK MY WORLD!!! Who's up for the challenge? :-)

∴ ASPrine .NET | 4-Dec-2007 12:26pm est | #10419

ASPrine .NET wrote:

Another couple of things:

1. HTML is simple - Microsoft is ignoring the KISS rule.

2. Why do I need to write ASP. NET HTML so that the .NET engine can spit out real HTML?

3. I have been develping (by force) with .NET for over 1 year now - I have found NOTHING to be helpful about it at all.

4. If Microsoft does do away with Classic ASP support - I, a die hard Microsoft Fan will convert to PHP.

5. How does compiling help to speed up something that was never slow in the first place?

6. I have developed applications with millions of records in the Database using Classic ASP. No real problems - and any speed issues with Classic have not been resolved with .NET - IT'S STILL SLOW!!! (Returning more data - just takes more time.)

7. There are several "spacing" issues that .NET creates that are NEVER a problem in Classic because I have complete control over every element.

8. Adding a blank row to a GridView is like extacating my wisdom teath with a spoon and having no novacaine.

9. It's like having the technology to be beamed up to the space ship - but my ear is now on top of my head... and then having Microsoft say "BUT WASN'T THAT EASIER THAN WALKING OR FLYING ALL THAT WAY???"

10. My boss wants this crap in .NET - he has no idea the amount of time loss it is causing because Microsoft has brain washed him into believing its better. Nothing I can say or do will convince him otherwise.

11. I'm glad that I now have an Elephant gun to shoot the hamster with. Oh wait...where did the hamster go?

12. NGnnnnnnnnyaaaaaaaaaaahhhhhh!!!!!!!

∴ ASPrine .NET | 4-Dec-2007 12:52pm est | #10420

207.42.85.80 wrote:

I too am a ~10 year ASP programmer, now being forced to maintain a rather large asp.net app that I did not write. It positively sucks. When something comes up that needs changing, just finding the place to tweak in the code is a killer. The contractor who wrote most of it used several 3rd party tools, so not only am I trying to learn .net, but the app is loaded with non-standard crap that must be waded through as well. I too find it very frustrating to do what should be (and were, in ASP) very simple things. I can no longer simply write a SQL statement and open a recordset to retrieve stuff from a DB. It takes three separate files, and using a 3rd party utility to generate them, and 2 other config files must be edited to properly map the sql objects JUST TO GET DATA FROM A DATABASE. But (and this is really cool [/sarcasm]) the recordset fields appear in intellisense. Big farking deal. I'm seriously considering quitting this job. Programming in asp.net is not fun at all for me, and life is too short to have to put up with this crap.

∴ 207.42.85.80 | 6-Dec-2007 4:02pm est | #10421

Flyingbertman wrote:

I think the biggest problem everyone has with ASP.Net is that your using the prebuilt junk. Thats there for the fanboys. ASP.NET is very fast if you make your own classes and such. I don't use session or view state. I've written my own recordset object which provides much more flexibilty then doing everything Microsofts way.

∴ Flyingbertman | 14-Dec-2007 3:14pm est | #10440

Captain Flymo wrote:

Fair enoughFlyingbertman, but surely the point is that you shouldn't have to write your own recordset object in order to get flexibility?

I come from a desktop dev environment with VB (always been a proponent of MS technologies) and I do like VB.Net as a language for desktop programming but all my web stuff has been ASP ('classic' ASP if you must but I refuse to sue the term) and I switched from VBS to JScript for server side stuff (much nicer and with proper error handling too). Now I am having to learn ASP.Net 2.0 and it's balls. This whole idea that everything has to have a form, the use of <asp:textbox...> crap instead of normal html stuff is just pony. OK, I can see that if you want a calendar control then it is easy to use and add and so on, but how often do you really want that sort of guff? There were plenty of controls of that sort for ASP anyway without these daft server-generated chunks of dross.

If we're being honest, ASP.Net was designed with a shift from desktop apps to web apps in mind, but frankly there aren't too many compelling reasons to my mind for doing so. Most of what I've seen so far leads me to believe that the majority of ASP.Net is unnescesary and unwieldy and just makes the task of doing more or less anything hard work. With ASP, I could be reasonably sure that what I output would work on all browsers and be standards compliant from the off, but with ASP.Net, who knows? It adds all sorts of cack which it thinks will make my life easier. are I compare it to Mac OSs which are patronising and make assumptions on your behalf about what you are doing because it thinks it knows best?

Bah humbug. I shall be following the words of those above and doing my humble best to try and make it as close to classic ASP as I can and hang the rest of this nonsense.

∴ Captain Flymo | 28-Dec-2007 5:36am est | #10471

Paul wrote:

@Peter Wieselquist

It really can be much more simple than that. Instead of your example, why not make it this instead:

<? include('reusable_editable_library_goes_here');>
<head>
<body>
site design goes here

<? include('specificpagecontent');

site design goes here
</body>

It's really something that can be done quite easily, and the page content can really come from anywhere. I've been using a similar method on a number of sites I've done, with a lot of reusable code.

One of the reasons why I'm getting frustrated with ASP.NET is that, as a programmer AND designer, one of the main reasons I got into programming in the first place was because I knew what I wanted to make, how I wanted it to interact with what I had already designed and coded out in html/css, and I didn't want anything extra.

It's becoming increasingly more evident that this isn't going to happen with ASP.NET unless I completely ignore many of its "features". I can say I've already taken advantage of PHP 5's OOP capabilities, and it remains to be quite efficient for whatever you're doing, so long as you know what it is you want to do. ASP.NET really feels like the "shotgun" approach to programming. Shoot all that extra code and web forms at the user and hopefully it'll also happen to do what it is they want.

∴ Paul | 17-Mar-2008 5:17pm est | #10573

Paul wrote:

ugh and I didn't preview my comment, go ahead and laugh at my missing ?>'sSmiley sticking out its tongue

∴ Paul | 17-Mar-2008 5:18pm est | #10574

Etch wrote:

ASP.NET is garbage
I've been developing ASP.NET apps for over 5 years now, I'm still convinced it sucks!
I admit, its a nice platform, very useful, very good tools in there, just shitty execution!!
Besides the fact that you have to learn to do everything "Their" way, because once you stray away from the standard way they intended you to use it, you go into uncharted territory and its up to the user community to help you discover the workarounds for all the bugs that ASP.NET starts throwing at you!
We've had ALL kinds of retarded issues that we never have to deal with in PHP, Classic ASP, or any other competing platforms, like when the site stops working for absolutely no reason after years of working properly, or because a "offline" page appeared on your website also for no apparent reason which put the entire app offline until we discovered that we had to delete it to get it back online, or when "Internet Explorer" - the browser that ASP.NET is supposed to be built to support - crashed on Postback while Firefox works flawlessly!!

And what drives me bonkers, is when 2 or more Microsoft products that are supposed to work together, don't work very well, because they fail to follow their own standards!

I'm sure if you spend enough months browsing the user community for every little bug, you will eventually know your way around it if you happen to find a workaround for every issue .. but who needs this headache?? I have enough issues in real life to waste any time solving Microsoft's!

I admit, I like the platform, as many ASP.NET appologists here also do, but I just don't think its worth the headache.

∴ Etch | 25-Mar-2008 12:07pm est | #10590

Etch wrote:

Not to mention how SLOW and INCREDIBLY RESOURCE INTENSIVE it is! When it loads, looking at the Debug "junk" I feel like its rendering a 3D environment!!

And ASP.NET's debugging in VS is awful! I'm sick of seeing the message "There is no source code available for the current location!".

Visual Studio can't even properly read HTML code!! What is up with the HTML editor?? Why do I HAVE to use a third party editor like "Dreamweaver" to edit the layout? They can't even come up with a decent HTML layout editor for editing tables in HTML?

Also, the whole point of a layered architecture, is so that I don't have to see or deal with all the crap underneath, but now I find myself having to decipher error message originating from a layer I don't even have control over!

∴ Etch | 25-Mar-2008 12:18pm est | #10591

Urk. urk. BLECH! wrote:

I agree 100%. .NET sucks. It vastly overcomplicates the simplest things. Especially when you start dealing with AJAX. And for get about using CSS to style anything you've used a .NET control for.

∴ Urk. urk. BLECH! | 28-Mar-2008 6:57pm est | #10599

Mark wrote:

Not sure what your guys problems are. ASP.net is great, you can program exactly as you do with PHP and as classic ASP. No one is pointing a gun at you to use all the crappy server controls.

But, there's no way I'm paying thousands for Windows Server and up to $30,000 for SQL Server. That's why I have learned Linux, Apache, MySQL, PHP on the side.

∴ Mark | 2-Apr-2008 5:39pm est | #10605

David (http://www.livingroad.com) wrote:

I am a professional developer in the USA. My company uses me for specifically ASP.NET programming. I’ve been a developer for over 7 years.

ASP.NET is the WRONG approach. It simply controls the output too much, so you have to code around the server controls, unless you want REALLY BASIC pages. It is really good for programmers who DON’T know the web very well.

The .NET framework is great and has tons of capability built-in. But ASP.NET is a crappy way to do web programming.

I have found PHP to be much better for developing High-End, world-class, AJAX driven applications, in almost every way.

∴ David | 5-May-2008 11:37pm est | http://www.livingroad.com | #10668

Peter Wieselquist (http://www.sysin.com) wrote:

Looks like MS has been reading our posts, and have started to notice progressive technologies like Ruby on Rails.

Introducing MVC for ASP.NET. Way to go, boys. I think developing web sites with ASP.NET are about to get fun again.

http://www.asp.net/mvc/

∴ Peter Wieselquist | 17-Jun-2008 9:11pm est | http://www.sysin.com | #10697

Keith (http://keithdevens.com/) wrote:

Wow I just watched both videos they have for their "preview 3" version and the product looks not retarded. Uses clean urls, does away with postback, does templating in their views... pretty good.

I wonder how it scales to bigger projects though. In their examples they pass one typed item (product list, etc.) into a view. I wonder how well that'll work when they need to pass more than one thing.

In any case, everything they did is pretty simple and has been done for years in the open source world. And, It stinks that it takes an actual product release from Microsoft to enable what can be done out of the box with Apache + language of your choice. But this is the first time I've looked at anything involving ASP.NET and thought "I wouldn't mind using that!"

Keith | 17-Jun-2008 9:43pm est | http://keithdevens.com/ | #10698

Feel free to post a comment below. Please see my comment policy.

Formatting Rules (No HTML):

  • **bold**, *italic*, _underlined_, --strikeout--
  • "text"="url" creates a link, and URLs are auto-highlighted
  • Blockquote: Like e-mail, begin paragraph with > (greater-than sign)
  • Lists: begin paragraph with *,-, or + (unordered), or # (ordered)
  • Code block: ?!code:language=perl|php|sql|javascript|etc.{\n}...{\n}?!/code

:
(will be your IP address if blank)
: (optional)
(Will not be shown on site)

: (optional)
:

July 2008
SunMonTueWedThuFriSat
 12345
6789101112
13141516171819
20212223242526
2728293031 



RSS feed RSS feed for Keith's Weblog
Atom feed Atom feed for Keith's Weblog
Weblog archive
Recent comments
  on 5 posts

Recent comments XML

Girls, please don't get breast implants

> And no, you will not be receiving​a picture.

:-(...

Keith: Jul 2, 6:05am

Javascript clone function

This is a clever way to clone an​object if you are using YAHOO UI.​Same tec...

Antonio: Jul 1, 12:47pm

I hate Norton Antivirus

Oh just one other thing norton is​great at keeping people out of your​compu...

kevin.sands: Jul 1, 12:50am

Terminator 3 was awful

I think the biggest reason why T3​totally blew was because Edward​Furlong g...

76.167.172.64: Jun 29, 3:06am

Generated in about 0.177s.

(Used 8 db queries)

mobile phone