In the JVM world, statically typed languages abound and the once lauded Groovy which was relegated to Gradle scripts is now being supplanted by a Kotlin DSL.
And yet when we look at the number of job postings for Python, it is becoming a strong contender for even Java. At the time of writing this post, Java is a skill listed in 14% of permanent contract jobs on the UK IT Jobs Watch website as compared to Python which accounts for around 12%; Ruby accounts for less than 2% of all permanent jobs.
Ruby, however, while in the beginning of 2018 accounting for over 3% of permanent jobs is now at a pivot point.
Ultimately, it should not be the popularity of a language which determines whether you should learn a programming language. Having said that, I would try and dissuade you if you were to suggest you would invest in starting your career as a Perl 5 developer today.
I recently read Programming Ruby: The Pragmatic Programmer’s Guide (linked here). The book is a little dated, some of the examples do not work. What struck me about Ruby, however is that the language allows you to express code in a very simple way if you like to.
Additionally, having written code in a number of different languages, I can see how Ruby has a lot of the features we now see as part of modern programming languages such as Mixins, found in Scala or Closures by using Proc as is seen in Python. I too like that certain simple design patterns can be provided by Mixin modules (e.g. Singleton and Observer patterns) that would need to be implemented manually in some other popular languages.
If you look at Ruby on Rails, you will see that the case for Ruby cannot be any understated. AirBnB and Shopify use Rails. Not least, Rails is the platform for GitHub and two of the Rails core team work at GitHub.
So yes, Python is more popular than ever but what has Python Django been used for that’s worthwhile? Atlassian Bitbucket? Instagram? Ok, that is impressive too.
I can only conclude by following the sentiments of David Heinemeier Hansson. We do not choose our frameworks or our languages based on scientific evaluation, rather we do it because it is something we love. As long as there are those that love to develop in Ruby and Ruby on Rails, the case can be made for Ruby.Tags: programming ruby rubyonrails