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
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:
- 1636 Java (22.0%)
- 1496 .NET (20.2%)
- 862 PHP (11.6%)
- 697 Python (9.4%)
- 402 Ruby (5.4%)
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.
5. Industry Acceptance
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.
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.
featured image courtesy of Sandor