Hacker News new | past | comments | ask | show | jobs | submit login

Postback creating a stateful web. The web is STATELESS. Event-driven, I'm MAYBE ok with. But the web is stateless and postback attempts to provide pages with state. So what happens is you end up with shitty programmers who write big loops for handling page submission back to itself.

ClientID's making javascript an absolute pain or a mess of inline asp code.

MasterPages with forms on the child. It makes things very...strange.

Finally, most developers I've met are just...subpar. I can't really explain it, they just are good at .net stuff but they lack understanding below the surface. And I should add I don't just hate webforms (I really hate webforms actually), but even the new MVC stuff is just not implemented well in real life, probably because of the developers using web forms before using MVC stuff. I think MVC is the right way to go, but developers are so completely behind its sad. You shouldn't bill yourself as ten years experience if you have spent those ten years doing nothing but falling behind on development practices. Its not physical time that matters in this profession, its all about your knowledge-base, which needs to be worked on continuously. As I said, most .net developers, are just behind (or even scared) of newer development techniques; and when I say new I don't mean bleeding edge, I mean 4-5 year old techniques. If it wasn't 2004 - 2006, it doesn't really get another look by some of the 10+ year experience people I have worked with.




Postback creating a stateful web. The web is STATELESS.

Doesn't every language attempt to create state? WebForms puts pretty much the entire state in the client, but other platforms pass some sort of session ID at the very least.

ClientID's making javascript an absolute pain

I don't think approaches like the asset pipeline in Rails are much better, IMO


Not having RoR experience, I can't comment on their approach to doing things.

Yes sessions are prevalent in other languages, and that is typically the 'default' method for maintaining state. In .net however, you also have the following methods: http://msdn.microsoft.com/en-us/library/vstudio/75x4ha6s(v=v...

Most of which are commonly abused because developers don't know what they are doing with what, when. For instance I've never seen profiles used, and as much as I'd like to at-least try the idea, any attempt to move even non-critical information into profiles is met with heavy resistance as it's something 'we just haven't used before'.

One place I was hired at (thankfully to clean up some of the mess), insisted on using query-strings and hidden fields for just about everything-they had no idea of the proper way to handle things. When they did use session variables they would attempt some increment magic and mess it up so it was possible to get everything out of sync and be returning the wrong data. They made no use of Application Settings and instead used a physical control file to hard-code global variables to be used across the site.

Part of my experience and hate for .net is specific to instances I've seen-I will agree to that point, but so much just has to do with developers who use 'whatever works' instead of thinking about the underlying design implications of their application. I really just believe its because they don't take the time to learn what is happening 'underneath the hood'. The thing is, the more I work within the .net environment, it really is apparent at just how EASY it is to forget the fundamentals, to throw some tool or easy solution at something, rather then having to think it out. It's great that development time feels quick but can also feel a bit dumbing-down as-well.

I'm rambling so I'm going to shut up. :)


All of this is avoidable. Newer versions of .NET allow you to specify your own ID, anything you want. No more clientid generation. Also you can use .NET MVC to completely avoid using webforms. What you're referring to is webforms, not .NET. In fact you can use any view engine you want, like fubu MVC.


ASP.net is fairly old tech so yeah it has problems. It's gotten better since and there's a difference between the .NET runtime and the .NET ecosystem. Saying .NET sucks because ASP.net sucks is like saying Ruby sucks because RoR sucks. C# is a great language and you can pick and choose which parts of the ecosystem you want to use.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: