Jun
15
2005

What Ruby on Rails Gets Right

In response to these two threads:

I think the magic of Rails is something that is not unique to the Ruby language. Ruby and Python are far more similar to each other than different. The success of Rails is marketing, a focus on documentation, a focus on beginner tutorials and making the installation process dirt simple… And removing any barriers to “getting it up and running and getting productive”… Also, David Hansson (the creator of Rails) is cultivating a messiah-like following and is interesting to watch… Rails is cultivating a culture of simplicity and documentation that is lacking in the Python culture-at-large.

Comparing Languages… Ruby markets itself as the sane answer to (ugly) PHP and (complicated) Java and .Net…. Language wise, Python holds the same potential… but few in the Python world saw the need to polish all the bits into a simple to use and integrated package. Until Rails came along, Python developers were left scratching their heads wondering why the world was so in love with PHP, Perl, Java, and .Net…

Looking back, the Plone developers (me included) have been tempted by the “dark side” of complexity… Zope and Plone are big, complicated frameworks to work with… Once you master it, you feel a sense of pride and accomplishment (and are productive–eventually)… On the flip side, though… that complexity hinders productivity– you risk spending more time hacking the framework than hacking the problem you’re trying to solve. The magic of Rails is that the framework almost feels “invisible”… people feel more productive with it because it doesn’t get in your way and it is very easy to get started. The added plus is the culture around it is focused on simplicity and training– traits that Python culture used to have, but has somehow lost… (This explains why some have described Rails as a more “Pythonic” web framework than anything currently written in Python.)

I smirk at all of this, though… because JavaScript is always the forgotten step-child in any web framework/language flamewar… Knowing JavaScript (its capabilities and when to use it/when not to use it) are just as important in the discussion… Again… the Rails guys are getting this right… they have “embraced” JavaScript and working on key integrations.

posted in python, rails by Jason Huggins

3 Comments to "What Ruby on Rails Gets Right"

  1. Paul Bx wrote:

    The other factor with Rails, something it sort of gets right by circumstance, is that the Ruby web framework space is not very crowded. Python, on the other hand, has a dozen or more, with no obvious leader. Malcom Gladwell’s Blink does a nice job of explaining how increased choices impede the act of choosing — in fact, the more choices we have the more likely we are to choose none of them. I think that the implementation language (Ruby, Python, Java, PHP) defines a sort of decision-space. You look in the Python decision-space and you get dizzy. You look in the ruby decision-space and you just see Rails. Sold!

  2. Jason Huggins wrote:

    There is more chaos in the Python and Java framework landscape because Python and Java have been more popular for a longer period of time than Ruby. Do not fear, as Ruby becomes more popular, and Rails becomes big and all powerful, Ruby will start to see a proliferation of frameworks, too. Personally, I don’t see the number of choices as bad. It’s up there with that “Long Tail” theory of niche marketing… The car industry has the same problem/situation…. There are a million cars to choose from when you want to buy one, but thankfully there are lots of car sites and magazines to help you pick one you’ll be happy with.

    So it would be nice if there was an equivalent of “Car & Driver” or “Consumer Reports” for web app frameworks… Newbies could feel free to only pay attention to the editor’s choice for “Top 10 Frameworks of 2005″. :-)

    Without that kind of “Editor’s Choice”, the act of choosing is a chore. But just because Rails is in Ruby doesn’t make it any easier to choose a framework. Ruby might only have one car to sell (Rails), but it’s still just a car, and you have to compare it against all other cars (frameworks in other languages) to make a choice.

    Ian Bicking commented on the language decision-space argument. He noticed that Zope and Rails fans picked the framework first, and the implementation language was secondary. For example, many people are only learning Ruby because of Rails, not the other way around.

  3. Justin wrote:

    For those looking for a “Consumer Reports” for web app frameworks, point your feed readers at Server Codex. The first of a long-running comparison series on web application frameworks is due to be published in November.

 
Powered by Wordpress and MySQL. Theme by openark.org