Categories

Playing with Ruby

In my continued search of a new language/framework/thing to pick up, I’ve become pretty fascinated with Ruby. The word I have settled on for the Ruby language itself is “concise”, coming from C the amount of work that can be done in a few lines often makes me feel like I’ve left something out… but no, Ruby is there in the background doing it’s thing.

I have concerns about performance, Ruby 1.8 is slow. Ruby 1.9 however looks to be a huge improvement in speed.

Before dedicating myself to anything I perform a very simple test: I run a Google search for “X sucks” where X is whatever it is I plan to spend time learning. I’ll read through all the criticism, then try to figure out if the cons outweigh the pros. I discovered using this method that Ruby and RoR are perhaps the two most hated on projects in the open-source world. Nonetheless, for some reason I am drawn to the syntax of Ruby and the concepts behind RoR. I can see the possibilities. While the framework might not be solid and the language is slow, I can’t see anything but greatness in the future for Ruby and Rails, and it has nothing to do with either.

The reason I can see Ruby and RoR dominating the web environment within the next 5 years is the ideas and concepts behind them. With Ruby you have a purely OO language, that while slow, in a release or two it could be on the same performance level as PHP. With RoR you have a framework that makes huge tasks relatively trivial, but the documentation is horrible and you really need to understand Ruby before doing anything other than the most basic CRUD operations.

Now, on the flipside there are many RoR imitators hoping to copy these ideas and concepts into other languages. I’ve already discussed my experienced with PHP frameworks. What I found though is that while these RoR-like frameworks imitate the concepts well, what differentiates RoR is how the framework blends so well with the language. With CakePHP and symfony, I never got over the feeling that I was working with a framework that was trying to do things in a way that did not suite the language and made working with the framework more of a burden.

When you break down the pros and cons of any framework though, it really just comes down to what your comfortable with. I was looking to learn a new language and build a dynamic user-driven website with it, with RoR I found the ability to do both at the same time.

Comments are closed.