What Do Experienced Developers Think of Ruby? The Ultimate Ruby Guide
Author:
Published: May 10, 2022
Time to read: 8 min
With so many programming languages out there, it can often be challenging to determine which one is right for your tech project. Ruby is an excellent choice as a popular, general-purpose programming language connected to one of the most popular web frameworks (Ruby on Rails). It’s one of the most popular programming languages globally and powers many web apps you likely use frequently, like Airbnb, SoundCloud, Hulu, Shopify, Goodreads, and Github.
In this article, you’ll get an in-depth look into the Ruby programming language from experienced developers who use the language every day. We’ll discuss its features, scope, perspectives, situation in the labor market, and what makes it unique among programming languages. So let’s get into it.
About Ruby – The Highly Portable Language That Serves Many Purposes
This section will dive into everything you need to know about the flexible programming language in high demand in the marketplace.
The History of Ruby
I want the computer to be my servant, not my master, so I must be able to quickly and efficiently explain to it what to do.” Yukihiro Matsumoto
Ruby was invented in 1993 by Japanese computer scientist and software programmer Yukihiro Matsumoto. It’s often called a language of “careful balance” because its creator took elements of his favorite programming languages (Eiffel, Ada, Perl, Smalltalk, and Lisp) to create a new and better language that makes programming more accessible. Matsumoto has likened Ruby to the human body - simple in appearance but complex on the inside.
Ultimately, Matsumoto’s goal was to create a genuinely object-oriented, easy-to-use high-level language that people could easily read. So, while he wanted Ruby to be powerful and high functioning, his priority was a language that was understandable, used simple syntax, and facilitated short development times above all else. In other words, simplicity, and ease of use needed to take precedence over speed.
Ruby is massively popular in Japan and has been since the first public version went live in 1995. In fact, from 1995 to 2002, a whopping 20 books on Ruby were published in Japan. Whatsmore, Ruby became more popular than the US’s preferred language, Python. But what about the rest of the world? When did everyone else start to notice Ruby?
The international community started to take an interest in Ruby in 1998 when its documentation was translated into English, and the first mailing lists were created. By 2000, Ruby was spreading worldwide, and English language books on Ruby were becoming readily available.
The next giant leap in interest happened in 2003 when 1.8.0 was launched and again in 2007 with the new framework version Ruby on Rails 2.0. These iterations pushed Ruby into the limelight for use in serious commercial projects. However, Ruby on Rails (RoR), a framework for developing web applications, was really the catalyst behind Ruby’s success and the reason it’s now recognized all around the world.
How Ruby Works and Its Features
Yukihiro Matsumoto, sometimes called Matz for short, created a set of rules that the language must follow. These rules are now called “The Ruby Way.”
-
The language follows the principle of “least surprise,” meaning it must behave as you expect it to. It also assumes the ideology of the Perl programming language, allowing the programmer to achieve the same result in multiple ways. The logic behind this is simple - people are different, so they need to be free to choose the method that best works for them.
-
The language is for people, not computers. The program should be easy to read even with minimal knowledge of Ruby, and the computer takes care of the rest.
-
Simple, but not too simple. Everything should be easy in the program, but not at the expense of complicating something else.
-
“You don’t have to fight it.” The programmer should use the language’s features instead of trying to tailor the language according to their preferences.
Features of Ruby
Matz also wanted the language to help programmers be more productive, allowing them to do more while putting in less effort. Ruby’s features help achieve this goal in multiple ways.
-
It’s a General-Purpose Programming Language Unlike subject-oriented languages, general-purpose programming languages are not created to be used for specific application domains. Instead, they are capable of making all types of programs. The phrase “everything is an object” can describe how things are handled in Ruby. All computations are performed using methods that are called on objects. Objecting can be done with anything, with no restrictions or type incompatibilities.
-
Ruby is Dynamic Dynamic languages don’t require the same type of rigid coding from programmers. Instead, they feature “dynamic typing,” where programmers can pass data types or parameters at runtime without defining them beforehand. This increases the speed of development. Dynamic languages offer greater flexibility and are typically easier to program.
-
Ruby is an Interpreted Language Programming languages can either be interpreted or compiled. In compiled languages, the machine will directly translate the program. By contrast, in interpreted languages, the source code is translated and executed by a different program called the interpreter. Interpreters execute code line by line, allowing you to see changes as they happen. Compiled languages used to be faster than interpreted languages, but significant developments have shrunk that gap.
In Ruby, the interpreter processes the source code at runtime and without precompilation. This provides platform independence and reduces the size of executable programs.
- Ruby Syntax is Developer-Friendly Ruby’s syntax is clean, intuitive, and designed to be close to English. It uses strong abstraction and follows principles of natural human language constructs, so it’s easy to get to grips with. This feature means that programmers don’t have to waste much time memorizing things so they can write code. And if you have programming experience, learning fundamental Ruby in only one week is a realistic goal.
What Is Ruby For? Uses of the Ruby Programming Language
As a general-purpose programming language, Ruby is excellent at solving different problems across industries. As a result, you can see Ruby used in almost any industry for a wide variety of purposes. It’s also used to write mobile games and applications for Android and iOS using Ruboto or RubyMotion. However, despite its broad appeal, Ruby does have a niche where it’s used most often - web development.
Ruby works best when paired with its famous sibling, Ruby on Rails. When the language and the framework come together, you can create powerful and complex web applications and cloud software. Why? Combining the two allows you to create a site with a complex structure and dynamic pages and do so without learning SQL queries and working with databases.
Ruby and RoR are also loved by startups due to their unique ability to allow developers to deploy a prototype project in rapid time and instantly see its strengths and weaknesses.
You can learn more about where to use Ruby on Rails by reading our blog post on the topic here.
But who exactly uses Ruby? You’ve probably come across Ruby many times without realizing it. Here are some of the major projects that use Ruby:
- Airbnb - The site is primarily built in Ruby.
- Shopify - The eCommerce website was created using Ruby on Rails.
- Stripe - Stripe uses Ruby for its backend language.
- Twitch - Some of the web API and backend data/administrative functions use Ruby.
Some other notable examples include Netflix, Instacart, Delivery Hero, Accenture, Redmine, Inkscape, SketchUp, and Bloomberg, among others.
Putting Ruby into Perspective (Popularity, Labor Market)
So, now you know what Ruby is, how it works, and what it’s used for. But what place does Ruby hold in the current business landscape? Answering this question can help us understand what role Ruby will play in the future of web applications and whether the programming language is a good choice for budding developers. Let’s get into it.
Ruby Popularity and Ranking
To find where Ruby stacks up in terms of popularity, we can look in many different places.
Ruby is currently the 15th most popular programming language in the TIOBE index (the ratings are based on the number of skilled engineers worldwide, courses, and third-party vendors). This tells us that Ruby is a preferred language by many companies and has a loyal following.
According to The PYPL PopularitY of Programming Language Index, Ruby also ranks number 15 worldwide. This index is created by analyzing how often language tutorials are searched on Google - the more a language is searched, the more popular it’s assumed to be. The idea behind this index is that search popularity can tell you which language to study or use in your next software project.
As of February 2022, the use of Ruby as a server programming language is 6.1%, up from 0.5% in 2010 and 1.6% in 2018. This means that Ruby is used by 6.1% of all the websites whose server-side programming language we know. In addition, Ruby is used by 7.9% of all the websites whose server-side programming language is known and that rank in the top 1,000,000.
According to Stack Overflow’s 2021 Developer survey with over 80,000 respondents, 6.75% of all developers and 7.89% of professional developers use Ruby.
Finally, let’s take a look at the RedMonk Programming Languages Rankings for a different perspective. RedMonk extracts language rankings from GitHub and Stack Overflow and combines them for a ranking that attempts to reflect both code (GitHub) and discussion (Stack Overflow) traction. Ruby ranks number 9 on this list.
The Ruby Labor Market - Salaries and Vacancies for Ruby Programmers
The current popularity of Ruby and its use in some of the world’s largest and most impressive tech projects means that Ruby is an excellent choice for developers. But what can a Ruby developer expect to earn in 2022? And how easily will they find a job?
What Does a Ruby Developer Do?
Before we dive into the current labor market for Ruby, it’s worth taking a quick detour to define precisely what a Ruby developer does. Of course, the exact nature of the job will vary between companies and industries, but most Ruby developers will conduct similar activities in their careers.
Ruby on Rails developer responsibilities include:
-
Building and maintaining web-based programs and providing technical support.
-
Integrating data storage solutions.
-
Writing and maintaining reliable, efficient, and reusable Ruby code.
-
Identifying bottlenecks and bugs in code and finding solutions to these problems.
-
Creating back-end components.
-
Connecting applications with additional web servers.
-
Maintaining APIs.
Ruby Developer Salaries
Salaries vary between locations and based on experience. However, by looking at data gathered from the top recruitment sites, we can better understand where Ruby developer salaries stand today.
- According to Payscale, the average base salary of a Ruby software developer is $81,227 per year.
- According to Glassdoor, the average base pay of a Ruby developer today is $111,144.
- According to Stack Overflow’s 2021 Developer Survey, Ruby ranks number six on their list of top paying technologies, with developers expecting an average salary of $80,000 per year.
- According to Zippia, a Ruby on Rails developer can make $65,887 to $83,871 per year salaried or $44.87 an hour for contract work ($93,331 per year).
Ruby Developer Vacancies and Future Job Market
Job vacancies offer a look into the health of the current job market and how highly sought-after specific roles are to companies. For example, many vacancies mean that developers should find it easy to get a job and that companies are in desperate need of Ruby developers. The below figures were taken at the time of writing (April 2022).
- There are currently 1189 Ruby on Rails developer jobs listed on Glassdoor in the U.S.
- LinkedIn lists 25,597 vacancies for Ruby on Rails developers worldwide.
- Indeed lists 2,326 Ruby on Rails vacancies.
Between 2018 and 2028, the Ruby careers are expected to grow 13% and produce an eye-watering 20,900 job opportunities across the U.S.
What Do Experienced Developers Think of Ruby?
We learned about the prospects of Ruby and the state of the language firsthand by asking experienced developers to answer a few questions. Here are their answers!
Anastasia M. (Senior Full-stack, Ruby on Rails developer)
-
What makes Ruby great? Ruby combines the best features of Perl, Java, Python and other languages, that makes it highly efficient in program development. Ruby is also a fairly easy language to learn (simple and concise syntax). It is good as a first programming language for beginners. It’s so human-like that even a person who doesn’t know how to write code can somehow read and understand the code written in Ruby.
-
What projects/products Ruby is good for? Ruby is a great choice for startups, because you can create a working MVP version of the site in a very short time. This speed of project development save budget and business capacity. Ruby language is mostly used for applications based on complex business logic, but does not need to process enormous layers of information very quickly. Ruby is an ideal solution for general purpose applications, online shops, social networks, informational portals.
-
The future (outlook) of the language (will Ruby become an undemanded language?) Ruby experienced the peak of its demand in the 2000s, but the language is a popular programming language even now. Development houses use Ruby to build a large number of applications on any thematic. Constant support and updates only fuel interest in this language and its relevance. All this indicates that Ruby will remain a decent player in the programming languages field in the nearest future.
-
What are advantages and disadvantages of the Ruby on Rails framework, what are the prospects for this tool? RoR is an open-source framework. There are also plenty of free plugins (gems). Therefore the development is very cost-effective. Among the advantages, I also include a large community and high security. What upsets me sometimes is the performance. Every new version of Ruby and RoR fixes its weaknesses and makes it a competitive tool that fits modern development needs.
-
What new features do you expect from Ruby/Rails. Is it possible to see them in the near future? Real multithreading. (It is currently supported only in JRuby - an implementation of Ruby written in Java).
-
Is it worth to continue coding in Ruby, why? From one side, there are a lot of both existing applications which need support and new projects written in Ruby. On another side, finding experienced RoR engineers is pretty tough right now, and thats why supply exceeds demand, especially for middle and senior developers. The salary is also at a decent level and is not inferior to other popular languages.
Pavel M. (Tech Lead, Full-stack developer)
-
What makes Ruby great? One great feature you see right away is the Ruby community. The Developers’ community is a vital part of any language because the large community is, the easier you can find a solution. As the saying goes: one head is good, but a collective mind is awesome. I had an experience with Amber where the community was really small, so solving the problems was painful. I like Ruby language for its dynamism, that gives a lot of freedom. And in the everyday Covid restriction, having flexibility in code is pretty good.
-
What projects/products Ruby is good for? Well, I would probably highlight eCommerce. It is enough to review Shopify, and it’s hard to pick out any niche at all. Ruby applies to a lot of different projects.
-
The future (outlook) of the language (will Ruby become an undemanded language?) We really can’t answer that. Nowadays, neural networks and no-code systems are being actively developed, which allow us to build sites without knowledge of any languages. These systems are greate for testing theories and building MVP. Any language can be used as a no-code, that is why people will become useless faster than languages. Take JavaScript, most people hate, but it goes on living and evolving. Realistically, you never know what would cause a language to become redundant. However, as long as the community lives, I suppose, the language will live.
-
What are advantages and disadvantages of the Ruby on Rails framework, what are the prospects for this tool? I often cite this example in job interviews. Rails is like a MacBook. There’s everything for people, but with a default configurations. You want more, you’ll pay for it. We pay the same as MVPs pay at no-code programming tools. It can be hard to optimize in the long run with this approach.
-
What new features do you expect from Ruby/Rails. Is it possible to see them in the near future? It’s hard to say that I expect anything because many of the solutions are in the form of gems that developers can plugin.
-
Is it worth to continue coding in Ruby, why? Compared to other programming languages, Ruby is easier and has a great community, so the answer is essentially in the first question. The only thing I want to point out is that nowadays investors are working in slightly different scenarios. It is important for them to test an idea with less MVP development cost, therefore no-code trends are on the rise right now. Another thing, a lot of people want to go into IT now and there are services that retrain people from their specialties to IT. In that case, it’s a lot easier to learn a no-code than a language. However, no-code is not good for large-scale projects. As the number of users increases, you have to pay higher and higher rates. You will never own your entire platform, and if you want to “disconnect” from the no-code service, you will have to develop everything from scratch.
Dima M. (Senior Ruby, Ruby on Rails Developer)
-
What makes Ruby great? Ruby is very comfortable to write the code with because if you write the code right, it’s often pretty similar to plain English, which is beneficial for both those who write the new code and those who read the code (e.g. new dev in the team). Even non-programmers could understand what’s happening in the code by just reading it. Ruby keeps it simple and sticks to the “write less code” principle. That means you need to write much less code on Ruby than in many other programming languages to achieve the same result.
-
What projects/products Ruby is good for? Theoretically, you can make whatever you want with Ruby. You can develop command-line, dev ops, backup, data processing, and report generating tools with Ruby. By the way, most people are using Ruby combined with the Ruby on Rails framework, which gives you powerful full-stack web development opportunities out of the box if you want to create a website with a complex structure with the ability to extend functionality in the future.
-
The future (outlook) of the language (will Ruby become an undemanded language?) Some people are saying that Ruby is a dying language, and it’s been like that for years, and Ruby is doing just fine now. The language has regular releases of new versions with a lot of improvements. Ruby is one of the most popular languages among beginners. It has a lot of free resources to learn. So I feel Ruby will stay relevant as long as the community contributes to the language development.
-
What are advantages and disadvantages of the Ruby on Rails framework, what are the prospects for this tool? Pros of the Ruby on Rails framework is it’s time efficiency. Building a website with Ruby on Rails is very fast and straightforward. The huge and growing Ruby community is also benefits for the language. It leads to the continuous changes, improvements and new features for the existing tools. Foe me, the most debated subject of RoR is its performance time in comparison with other web application frameworks. Working with a pretty massive project you can face with long boot time of the framework, but the runtime speed difference is not that significant. Mention that if you build a complex project with Ruby on Rails, you need to pay attention to all the details during the development. A small mistake could lead to a “bottleneck” which could slow down your whole application.
-
What new features do you expect from Ruby/Rails. Is it possible to see them in the near future? I’d like to see the Ruby concurrency implementation under the hood since most web apps have a lot of network requests to do, and the main things which affect performance are the request and waiting for a response. Currently, it’s not easy to achieve concurrency to work in Ruby since it’s using “blocking Input/Output” as default. The creators already working on improvements to the concurrency in Ruby, and I hope we will be able to use its full power of it soon.
-
Is it worth to continue coding in Ruby, why? Ruby stays in the top 10 paying technologies, and along with the Ruby on Rails framework, they are one of the most beloved tech couples nowadays. So I would say it is still worth coding Ruby. Many people might not agree, but you won’t like any other programming language if you start programming in Ruby.
Sergiy N. (Senior Full-stack Developer)
-
What makes Ruby great? When I started to learn programming, I had to cover quite a few new languages/technologies. Most of them had complicated syntax. That’s why Ruby is a great first language. Writing code using Ruby is often like writing plain English. Also, one of the important characteristics of Ruby is that it adheres to the principle of writing less code. It does not mean that every application written in Ruby is at least 4 times shorter than a program written in Java. But on average, programs written in Ruby have much less code than many other programming languages.
-
What projects/products Ruby is good for? Because of the large number of additional libraries and language features, Ruby language is well suited for most web projects like social networks, news portals, eCommerce, atypical projects, etc.
-
The future (outlook) of the language (will Ruby become an undemanded language?) Programming is one of those areas that doesn’t stop evolving, which means there will be new programming languages that can be better than Ruby. However, Ruby, in my opinion, will continue to be popular and tops the programming language rating for many years to come because it’s constantly evolving. As trends change, Ruby’s needs immediately add the right things to its capabilities, constantly improving security and code execution speed.
-
What are advantages and disadvantages of the Ruby on Rails framework, what are the prospects for this tool? The main advantage is the speed of development. Literally, in one minute you can set up a web application with all the settings and start adding pages, functional parts of the project, which is quite a fast process with Ruby on Rails. Also, a great advantage of Ruby on Rails framework is the number of libraries which speed up development process. A large active community of Ruby on Rails developers allows you to quickly find solutions to any problems or use a piece of code from open source resources. From the disadvantages I can highlight that Ruby on Rails framework is developing quite fast, although this can also be attributed to the positive part of the framework, but it can be difficult for beginners to have time to learn all the new features of the framework.
-
What new features do you expect from Ruby/Rails. Is it possible to see them in the near future? Even though Ruby and Ruby on Rails keep up with the trends and needs of programmers, it would be good to have the capabilities to work with Machine Learning. The Ruby language has some functional possibilities for this, and there is a hope that soon there will be more opportunities for working with Machine Learning.
-
Is it worth to continue coding in Ruby, why? The Ruby programming language has a strong market position. According to Stack OverFlow, the popularity of Ruby remains stable and high. Ruby is insanely one of the leaders among the highest-paid programming languages. The annual fee is 40-60 dollars per year, sometimes as much as 100 dollars per year.
Final Thoughts
And that’s a wrap! Now you know everything there is to know about the high-level unique scripting language Ruby! Get in touch today if you want to know how we can help you with your Ruby project.
Author:
Published: May 10, 2022
Time to read: 8 min
Share: