Ruby, A Samurai’s Sword
I like to think of Ruby as a weapon. A weapon with which I can attack problems my way! Ruby appears simple, and convenient, and hence poses a question; Why aren’t enough techies using it?
That’s when I realized - Ruby is like a Samurai’s sword, a Katana. Not of much use to the corporate coder, but in the right hands, extremely effective.
Ruby’s simplicity is deceptive. It’s simple if you get it and not many people do. Ruby cannot be coerced into someone’s brain unlike J2EE (with it’s design patterns). Ruby offers a platform to think in not just code in and that makes it difficult to get for the average techie.
It is said that “Ruby is simple enough for novice programmers”. But being simple isn’t what we need to tout. If you want simple go do Visual Basic. The true beauty of Ruby lies in it’s elegant syntax. Where most programming languages act like an added step in between your goal and your thoughts, Ruby clarifies, distills, enlightens and simplifies your thoughts. You get better at thinking about solutions.
Rails has beautifully demonstrated how you could use Ruby to make simple web-front-database apps but that’s like showing how you could use a sword to slice bread. We ought to get beyond that cos there is so much more to Ruby than Rails. We need to take Ruby to the battlefield (read enterprise applications - DSL, Workflow, etc). Just the fact that a framework like Rails was created using Ruby demonstrates the true potential of Ruby.
Amongst the real problems I see for Ruby adoption is that you need to be a samurai (of programming) to really use Ruby to it’s full potential. You need to get inside Ruby and let it yield it’s true power.
Most corporate programmers (aka coders) will never manage to explore the real potential of Ruby. They’d rather hide behind sentences like “We do REAL work with REAL programming languages. We don’t have time for TOYS”. Passionless pay-check chasers need their managers to make them do things. Passionless managers never move out of their comfort zone. It’s called “corporate standards” in their terminology. (I doubt it if a lot of the RoR publicity gets through the corporate networks of large IT companies).
Paul Graham puts it brilliantly in his advice to comp grad students:
What you should learn to get a job depends on the kind you want. If you want to work in a big company, learn how to hack Blub on Windows. If you want to work at a cool little company or research lab, you’ll do better to learn Ruby on Linux. And if you want to start your own company, which I think will be more and more common, master the most powerful tools you can find, because you’re going to be in a race against your competitors, and they’ll be your horse.
In a way I’m glad that Ruby isn’t mainstream yet (well at least not in India). The way I see it, using Ruby for software development is a competitive advantage. Take it to war with you. When you are faced with your foes (read competitors) waving their wooden sticks (read Java and C#), quietly draw out your Katana (read Ruby) and as Russel Crowe said in Gladiator, “[On My Command,] Unleash Hell!”




(4 votes, average: 4 out of 5)



November 8th, 2006 at 1:58 am
Haha, GREAT article. I have witnessed this first hand! Every time I mention ruby or rails…I just get some “Well…you could use X instead”
November 10th, 2006 at 11:58 pm
well said. RoR is truly amazing.
March 2nd, 2007 at 9:22 pm
I’m asking myself: How can it be that I’ve never ran through your site before? It’s a great one! right plane will create pair without any questions
September 14th, 2007 at 7:37 pm
Yeah Ruby on Rails is really cool.
October 20th, 2007 at 9:57 pm
Well written. This article gives me one more reason to get my hands dirty in ROR!
November 4th, 2007 at 12:12 am
Very well written … like the terms like “passionless pay-check chasers” …. i have heard of ruby for a long time … wants to try things … any good links to start with ?