Ruby: what is its true value?

Categories Articles

A few years ago a new programming language called Ruby arrived on the scene amidst a huge fanfare, being hyped as the next big thing in online programming.  And then it just sort of blurred into the background.

Ruby is to the programming world almost analogous to what the MacBook is to the computing world.  Only a minority of people are using it, and when they do, they tend to do it in Starbucks.

There has to be a good reason for this, so what is it?

1. Learning Curve

In common with Python, Ruby is not a C family language.  If you’ve already been developing for the web for some time, you will almost certainly have dabbled at some point in JavaScript, which is a C family language.  If you want to graduate from there into other C family languages such as PHP, C/C++, C#, or even Java, it is a very small step.

On the other hand, to learn Ruby, you’ll have to take a giant leap into a completely unfamiliar language topography with a different syntax style.  It’s also even more pedantically object oriented than Java, which isn’t going to suit everyone, especially if they just want to do something very simple.

Python shares this trait of having an unfamiliar syntax for programmers coming from a C family background, but it has the advantage of being so incredibly simple that Python programs are almost self-documenting.  An experienced programmer in any other language can learn the essentials of Python in one day, which simply is not true for Ruby.

Therefore if you are going to learn Ruby, you will need to be prepared to invest some serious time and effort into the learning process.  If you have no experience in programming, you will actually find it easier to learn Ruby than an experienced programmer would, because you won’t experience any cross-over confusion.

2. Career Prospects

As a Ruby programmer, you’ll be part of a smaller pool of talent compared to programmers of most other languages.  This makes you something of a specialist, and you’ll probably be able to expect a slightly higher salary in comparison.  That’s not guaranteed, however, so don’t let that be the sole factor to influence your decision.

At the time of writing, there were this many jobs being advertised on a popular employment website for each programming language:

  • 2329 JavaScript (31.3%)
  • 1636 Java (22.0%)
  • 1496 .NET (20.2%)
  • 862 PHP (11.6%)
  • 697 Python (9.4%)
  • 402 Ruby (5.4%)

So there are almost 6 jobs in JavaScript programming for every 1 job in Ruby.  And more than twice as many jobs advertised for PHP programmers in comparison to Ruby programmers.  This would appear to indicate that while there may be potentially more money offered to attract you, there are possibly less opportunities as things stand at the present point in time.

3. Usefulness

Ruby is indeed a very useful language, but it is more suitable for large projects than something quick and simple that you just throw together to achieve a simple goal.  Any dedicated OOP language is going to involve more development time just as a matter of course, because you have to spend so much time defining everything.  It’s overkill.  But if you have a project that is large and complex enough to justify the expense, Ruby can provide a high quality result.

4. Documentation and Support

Ruby is still a developing language and its proponents are quite happy with its reputation for being innovative and cutting-edge.  Unfortunately this also means that there is incomplete documentation. When you combine that with the smaller pool of aficionados, that means you’ll probably have a more difficult time solving a problem you encounter.

PHP also has poor official documentation, in fact it’s quite famous for that.  But there are thousands of books and websites dedicated to bridging the gaps in the official documentation, and a huge community of developers you can communicate with.

Python is comparatively well documented, and it’s a smaller and less innovative language.

Java is still a nightmarish behemoth, but probably has the largest community of experts and millions of books and websites dedicated to it.

Of all of them, JavaScript is the most complicated and least well-documented, but ironically the most popular, and the one in most widespread use.

5. Industry Acceptance

Practically every website of any substance uses JavaScript in some way, which is part of the reason why JavaScript engineers are so in demand compared to others.

PHP is the main language used in most open source web projects, and has been widely disseminated through Softaculous, which is a component of most CPanel based hosting solutions (and with CPanel being the most popular hosting platform, that means a huge number of people using PHP based software on their sites).

Many major sites including Google and YouTube were created on Python.  Google subsequently made heavy use of Python in their Android platform, and it’s also extensively used in many software packages distributed with Linux.  Equally, however, other major sites such as Twitter and Hulu were built with Ruby.

What this means is that industry hasn’t rejected Ruby, but it seems to be mainly restricted to the upper end of the market, with primarily major sites being developed with it.  The average “everyday Joe” website is still being made with PHP and JavaScript.  The twist is that because of the increasing popularity of Android (or at least its huge market penetration), we can expect to see many more opportunities for Python programmers becoming available in the years ahead, while the uptake and popularity of Ruby seems to have stagnated for the moment.

Conclusions

Unless you’re one of those people who already really loves Ruby, you may be wondering if all the above points are indications that Ruby isn’t worth bothering with.  We wouldn’t go quite as far as to suggest that.  But what stands out is that Ruby isn’t as cool or popular as it was expected to be when it first made its appearance.  It hasn’t significantly gained in popularity, and career prospects seem limited if the current trends continue.

The most surprising thing to happen in the past 5 years was JavaScript’s rapid overtaking of PHP as having the most career opportunities available.  This is probably due to the massive evolution which has taken place in JavaScript technology in that time, helping it to gain more respect as a real language that can do useful things.

The overall verdict has to be that Ruby isn’t really moving and appears to be dead in the water.  PHP is still rock solid and is likely to remain popular, while JavaScript and Python seem like they are about to really take off.

featured image courtesy of Sandor

Emma Grant is a professional freelance content writer from Ireland. Over the past three years she has travelled the world while running her business from her laptop. You find her at www.florencewritinggale.com


  • This article really answered many questions about Ruby. Including questions I failed to think of.

  • JD Guzman

    This article lands squarely in the realm of opinion. As a polyglot programmer that has considerable experience in the “C” family of languages I can say that Ruby was not the “difficult to learn” language that is portrayed here. It is OK if for some reason or other the author does not like Ruby, but to paint the picture that has been painted here with such board strokes is a disservice to the language and programming in general.

  • Writing an article about Ruby and failing to mention Perl, which inspires significant parts of its syntax, is a very bad recommendation for said article.