There's been a lot of talk about Ruby on Rails lately. Many people question the fanaticism, the language and of course the framework itself. Lot's of people saying RoR isn't going to make it bigtime; I'm here to tell you why they're all wrong:
Ruby - The language
Ruby the language is a rather fantastic language. It's actually pretty easy to use and even easier to use if you're just doing work with it on Rails. The language is not only powerful, but it's both easy to read and to write. Syntax is simple to understand and most of the time is void of strange characters that string things together. If you've ever programmed anything before you'll know by looking at some Ruby source that it doesn't look very daunting at all.. in fact you'll probably be able to understand it just looking at it.
Ruby is very spoken-language oriented. If statements can be appended to the end of lines of code as well as to the beginning. For example:
Normally I would write something like this in PHP:
if ($categories->size < 0) {
display_categories($categories)
}
In Ruby I could write:
display_categories(@categories) if @categories.size > 0
Ease of design and understanding
If you've ever used a web framework before you'll already know this:
Web frameworks usually suck. A lot.
They're all sort of neat.. especially if you've never seen one before. You'll take one look at it after coding line by line for webapps for a year and say "wow why didn't I find this sooner?". But quite honestly they're mostly all extremely cumbersome, too much to configure, have poor base language integration and just generally make your job more difficult than it should be. I'll admit that recently there have been a lot of really good ones come out (some of them made for other languages just trying to emulate the grace and beauty of Rails), but this wasn't always the case.
Rails was a real pioneer in making web development super easy. There's a basic functionality that is required with almost all database-oriented work; we call this CRUD - Create, Read, Update, Delete. Four really basic functions and you'll need them almost everytime you make an app - so Rails says, "Why code those by hand everytime? I'll do it for you! Hell, while I'm at it I'll even keep up with any updates you make to the database as long as you want too!" Wow that was nice of Rails. If you don't believe me watch one of these videos.
WEBrick is an HTTP server that comes with Rails. If you've got Rails it's already installed. This is how you run it:
> ruby script/server
There's zero-config, zero-installation, zero-bullshit. Some using other languages don't get far with webprogramming because things like just installing and configuring Apache to work properly with their system is just too frustrating.
The Rails framework itself is very simple to understand. It's the dream of every web programmer. Which brings me to my next point!
Attracts a wider user base
Whaaaaa! No I'm not going to claim a wider userbase than anyone else quite yet, but we're getting there.. fast. Ruby on Rails is gaining support quickly because it's so easy to learn and to use. Non-programmers can understand it, those fed up with other web frameworks can; Rails isn't nearly as frustrating to use as anything else and requires such little setup that it doesn't usually scare anyone away.
Rails isn't only for the elite super-duper-programmer class of people who get paid $200,000 a year; it's a framework that anybody can learn and anybody can use and doesn't require an army of programmers to make and maintain a webapp.
This is a big piece of the puzzle as to why Rails will survive. Many people who otherwise would never have become developers will because of Rails.. many web applications will be more possible both in time and financial aspects because of how fast you can make a great application with Rails.
Easy to start
How easy, you ask? I already gave you the link to the videos. You can follow right along with it too.
One of the blessings of Rails is the documentation that is already out there supplied by the user community. There's an entire Wiki that has just about everything you're looking for and has a great startup page on how to get setup. There are tons of video tutorials as well as ones in print on exactly what you need to do to get setup.
Rails came to life in a time of bloggers. You'll find plenty of debugging information and how-to's just by searching Google on just about anything you need.
Easy to maintain
Rails has it's own packaging system - Ruby Gems. It's much like your everyday Linux package manager. Install rails:
> gem install rails
Update rails:
> gem update rails
Update all gem packages:
> gem update
Could it get any easier? Being easy to start and maintain attracts users and keeps users attracted to the framework.
Plenty of pre-made stuff
As if Active Record and scaffolding weren't enough the Rails community has a huge library of common things that your app might need to do and they're already made - not only that, but you don't really have to modify your application much to use them. Rails can use plugins and engines to help you upload files, make a user authentication system and plenty more with just a few strokes of your keys. How many other web frameworks do that?
IDEs
There are plenty of fantastic development environments of Rails. I will admit they're not as fancy as some are for other languages, but quite honestly it's the ease of Rails that keeps them from getting huge, fancy and cumbersome. jEdit, RadRails and TextMate are all very powerful editors that support development for Ruby and Ruby on Rails.
Still room to grow
Rails and Ruby have not been around all that long. In the big picture they're actually quite young. You could actually consider Ruby to be even younger than it really is (born in 1995) because it wasn't ever really popular in this country until Rails came along (Ruby was developed in Japan and is one of the most popular languages over there). Rails itself is even younger - first big public release in July 2004! At the time this article is being written that's less than two years of exposure.
There's some talk of the lack of support for Rails on providers and in the business world as far as name recognition goes. Sure, it's true not as many as php and perl and such..I guess I can only count about 100 on this page.. but more and more are popping up all the time. Hell, not everybody supported PHP when it first became popular. I bet some of the Perl people back then laughed and said PHP would never really make it mainstream. Hahaha.. we all know how that one turned out.
Conclusion
Ruby on Rails has so many features to it that attract and keep developers attached to it. The huge user community writes a book a day on the rails wiki about almost every topic out there. It's a solid development platform that has been proven worthy in plenty of applications already.
I'm not saying Rails is going to take over the world (but it might!), but It's definitely going mainstream and there's no stopping it.




April 18th, 2006 at 07:14
Only thing i see as a problem is that many webhost wont allow terminal access, which you need on rails
April 18th, 2006 at 11:22
nice write up!
typo nazism:
CURD - Create, Read, Update, Delete.
=>
CRUD - Create, Read, Update, Delete.
April 19th, 2006 at 21:39
great Conclusion!
I'm agree with you!