Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

IMO, ASP.NET is a mediocre to poor framework get's by because it uses an above average language (C#) and a vary good editor (Visual Studio). Still it all comes down to the types of applications your creating. If your building yet another internal CRUD app go with ASP.NET. If you want to build the next hipmunk then Rails is probably a better option.


Are you talking about MVC or WebForms? If you're thinking of the framework where you lay out controls on a designer, you're fighting the wrong framework.


Can you elaborate more on why Rails might be a better option than ASP.NET MVC for creating "the next hipmunk"?


Rails (really Ruby) has only one thing going for it, as far as I'm concerned:

The norm in the community is to actively refactor.

That's it. When the Rails folks redesign the routes system, not only does my app get cleaner, but I learn stuff about how to write a good DSL. When Blake Mizerany wrote Sinatra, not only did we all get a super simple new tool for prototyping web apps in, like, zero seconds.... but we all learned something about how far you can take the "hello world" simplification trend.

We're all trying to get better at programming. We're all trying to advance the state of the art in software design. And we're all learning from each other, and it's awesome.

In many ways it's just a microcosm of what's happening in the Open Source world at large. Node.js is teaching Ruby devs important stuff, just as the Node authors seem like they probably took a cue or two from Sinatra. It's why I left the Microsoft world years ago.

Loose federations of heterogenous interests with high incentives to integrate are so much more interesting than centralized organizations.


IMNSHO, the norm in the ruby community as of late as not been refactor, but rewrite.

When the rails folk redesign the route system it's not a refactoring cause a refactoring keeps functionalities unchanged, it does not add/remove/change corner cases. Which has happened in all major rails releases and some point ones.


It wasn't a rewrite. The point of TDD-assisted refactoring isn't to not change anything ever, it's to change things in a controlled way and prevent regressions. It was actually pretty interesting to watch carlhuda and the rails team take rails from 2.3 to 3.0.


That simply isn't true. I'd urge you to pick up a copy of Fowler's "Refactoring: Improving the Design of Existing Code."

"Refactoring" as a term was defined in that book. It has very much been diluted into "I changed some code because I think this is better," which is a shame because it has a very clear definition.

I should also note that having a test suite allows you to refactor with more confidence, but it's neither a requirement nor changes the definition at all. So a "TDD-assisted refactoring" isn't different from a "refactoring."


It's more productive. You get more done in a shorter amount of time. Not trivially either. Its more about the language (Ruby vs C#) than the Frameworks (in that all the cool shit the Framework lets you do is thanks to the language).

If you knew C really well, and someone said "Hey, you can be more efficient building a website in C#/ASP.NET", would you have that hard a time believing them?


If you knew C really well, and someone said "Hey, you can be more efficient building a website in C#/ASP.NET", would you have that hard a time believing them?

I wouldn't. But if they said that I could write systems code better with Objective-C I'd say prove it.

Unfortunately whenever I see RoR people talk about ROR vs anything else, including ASP.NET MVC, they talk in broad strokes with statements like, "Obviously dynamic languages are far more productive than static ones." Or "People who program in Ruby are much better developers -- which is obvious to prove, because they program in Ruby."


I'm just another peon, but...

I'm a former ASP.NET MVP, a codebetter.com blogger, I wrote Foundations of Programming, I own a handful of .NET OSS libraries. Yada, yada, yada..

All of that is pretty meaningless, I'm not saying to show off (most of that stuff isn't show off worthy). However, by all accounts, I'm an expert C#/.NET programmer who's been in the thick of of any progressive .NET movement. I know C# and ASP.NET (MVP or WebForms) much, much better than I know Ruby and Rails. Yet, somehow, I'm still more efficient in RoR (and thats only getting more true). I can get as low level about this discussion as you want, it won't change my opinion.

The two big wins for me: I write a ton less code and code is easier to test (this is largely since IoC is a language feature).


You know it's MVC, right? MVP and WebForms are the same thing.


Opps, right thanks. And no, WebForms is not an implementation of MVP...its an implementation of god knows what.


MVP is "Microsoft Most Valuable Professional", which I believe is what he meant. I believe the later use of MVP (instead of MVC) is a typo.


It's model-view-presenter, which is basically MVC.


He said "I'm a former ASP.NET MVP", if a person is an MVP, then in that context it's "Most valuable professional"


He also said:

I know C# and ASP.NET (MVP or WebForms) much, much better than I know Ruby and Rails.




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

Search: