Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why does Ruby have Rails while Python has no central framework?

This is a(n) historical question, not a comparison-between-languages question:

This article from 2005 talks about the lack of a single, central framework for Python. For Ruby, this framework is clearly Rails. Why, historically speaking, did this happen for Ruby but not for Python? (or did it happen, and that framework is Django?)

Also, the hypothetical questions: would Python be more popular if it had one, good framework? Would Ruby be less popular if it had no central framework?

[Please avoid discussions of whether Ruby or Python is better, which is just too open-ended to answer.]

Edit: Though I thought this is obvious, I'm not saying that other frameworks do not exist for Ruby, but rather that the big one in terms of popularity is Rails. Also, I should mention that I'm not saying that frameworks for Python are not as good (or better than) Rails. Every framework has its pros and cons, but Rails seems to, as Ben Blank says in the one of the comments below, have surpassed Ruby in terms of popularity. There are no examples of that on the Python side. WHY? That's the question.

like image 557
Dan Rosenstark Avatar asked Jan 02 '09 14:01

Dan Rosenstark


2 Answers

As I see it, Rails put Ruby on the map. The simple fact is that before Rails, Ruby was a minor esoteric language, with very little adoption. Ruby owes its success to Rails. As such, Rails has a central place in the Ruby ecosystem. As slim points out, there are other web frameworks, but it's going to be very difficult to overtake Rails as the leader.

Python on the other hand, had a very different adoption curve. Before Rails, Python was much more widely used than Ruby, and so had a number of competing web frameworks, each slowly building their constituencies. Django has done a good job consolidating support, and becoming the leader in the Python web framework world, but it will never be the One True Framework simply because of the way the community developed.

like image 133
Ned Batchelder Avatar answered Sep 21 '22 11:09

Ned Batchelder


I don't think it's right to characterise Rails as 'the' 'single' 'central' Ruby framework.

Other frameworks for Ruby include Merb, Camping and Ramaze.

... which sort of invalidates the question.

like image 42
slim Avatar answered Sep 18 '22 11:09

slim