Sohan's Blog

Things I'm Learning

Ruby on Rails or Rails on Ruby?

All on a sudden, this thing popped up in my mind. What we are calling Ruby on Rails, is this actually “Ruby” on “Rails” or the other way around? Is this upside down? Here’s my mental picture of the RoR framework:
Image credits to Foo Fighter on Flickr(creative commons)

  1. Ruby is a self-sustained language. As a language this is completely ignorant of the Rails Framework. So, I think there is no dependency from Ruby to Rails.
  2. Rails is a framework built using Ruby as a language. So, there is a strict dependency from Rails to Ruby.
What do you think? Would you call it “Rails on Ruby” or “Ruby on Rails”? I see a point of agreement for the ones who want to call it RoR, no damage done :-)

Lets see how this “on” preposition works for other language/platform pairs:
  • Java on Struts vs Struts on Java
  • PHP on Cake vs Cake on PHP
  • C# on .Net vs .Net on C#
Confused? Well, then you can use RoR for now!


I like the way you put it :-) "Rails are those things that trains moves on", taking literal meaning in this way would mean something very different for "ruby"!
I think you've messed it up ;). Rails isn't a framework. Ruby on Rails is. So it is not Ruby (language) on Rails (framework). Rails are those things that trains moves on. So Ruby on Rails means (at least for me) something like "accelerated ruby with a lot of constrains". And this is a name of a framework. Rails on Ruby would be something like: "this poor guy Ruby takes those heavy rails on his shoulders and walks in pain with it"