Rails VS. .Net MVC

Ruby, the language, hasn't changed that much from 1.8.x to 1.9.x.

Bullshit. It's changed immensely. Ruby 1.9 has fibers now, there are native threads, there is unicode in fast C, no longer in Ruby. There are actually so many new features in 1.9 people are pissed that it's not named 2.0.

Well I count three majour features:

1) Performance 2) Threads/Fiber 3) Encoding/Unicode

and I can get all of those if I use the JRuby interpreter which is compatible with Ruby 1.8.6. There are, obviously, a few language improvements, but nothing I would consider major changes. The features above are things I think should be there right from the start. Java had them there right from the beginning.

I've been playing with all sorts of new 1.9 features the past few weeks. Sadly one of them is not a working MySQL gem, but it'll catch up at some point I'm sure.

In other words: it isn't mature enough, because there are still a lot of gems that don't work with it.

Do you follow Linux Kernel development at all? It's a cardinal sin to even attempt to change a userland API. Behind the API things evolve immensely, but the API itself, that we as developers build software against, never, ever changes. But then on the rare occasion that it does change, you can bet your ass the version number will move by a lot more than .1.

Well, I wouldn't really compare a kernel with a framework like Rails. The way I see it: the rails framework is in itself a piece of software being developed in an agile fashion, and as we know all softwares developed that way do change, and there are some things that will be removed because they don't actually make sense.. Up until now, the Rails development team have been delivering versions which are quite stable and mature enough for you to develop a stable piece of software.

When the Rails API begins to remain unchanged for even a few releases in a row, maybe then you can start calling it things like "mature".

Well, your concept of "mature" is quite different from mine. I think the versions delivered are quite mature. The API, on the other hand, may not be as mature, but we should expect some maturity with the merge with Merb.


I think the strongest plus is the connection with the opensource community. It's not just about getting software for free - some people would even make the (occasionally correct) arguement that it's worth what you paid for it...

1) The opensource gets so many more competent eyes on the code that problems (and usually their solutions as well) are found very quickly.

2) In addition, with open source developers are free to explore their own variants. These often lead to new extensions of the product that might not have surfaced from the original developers.

3) Finally, the opensource community provides an invaluable informed community - we don't just read the books, we read the code. We are able to separate the party line answer from the truth. Now if we could only get some social behavior patterns that aren't so scary...

I want to thank everyone for their comments, they are very useful and will help me state my point. I did take the time last weekend to sit in on a demonstration of building an asp.net mvc application. Overall I was impressed with Microsoft pointing it’s self in the right direction of web development.

With that said I still think Microsoft has a long way to travel to catch up with Rails (especally because it is a moving target), plus it needs to be accepted by the masses for them to keep it around. I am seeing interest in it from the Microsoft developer community but many of them when they hear there is no viewstate they are immediately turned off. I see this as a win because the viewstate I.M.O. is not needed.

Again this discussion has helped me clarify my own thoughts and back them. The number of responses also show the involvement of the community to help one another not just with code but situations we will run into in the real world.

Thanks, -Chris