Ruby is a programming language that focuses on developers and productivity. In this article we answer the main questions about Ruby when it becomes a technology option in the development of a new digital product.
So let's talk about Ruby, a language well known mainly because of Ruby on Rails and whose main objective is to enhance the developer's productivity.
Ruby is one of the most dynamic, reflective, object-oriented, general-purpose programming languages. This is why I believe you will be more productive while using it - and you probably will agree with me after reading the following paragraphs.
Ruby is an interpreted, multiparadigm programming language, that has an automatic management memory (somewhat criticized, but let leave this subject for another article) and that was developed in 1995, in Japan, by Yukihiro Matsumoto, better known as "Matz".
Matz wanted to create a balanced and powerful language. For that, he merged the best practices of his favorite programming languages at the time, such as: Perl, Smalltalk, Eiffel, Ada and Lisp. Its focus is to keep the natural language for developers. He uses the following expression:
"Ruby is simple in appearance, but is very complex inside, just like the human body".
Wow, it would be very easy for me to list a number of Ruby's benefits because, particularly, it is one of my favorite languages. I will only bring two that, in my opinion, are the main ones when deciding which technology to choose from to your project.
Here we look at productivity from the prism of learning speed, applying best practices, and creating a testable and maintainable code.
Taking these pillars into account I believe Ruby has a special highlight, let's see a class written in Ruby:
1. class Orange 2. def initialize 3. @juice_available = 100 4. end 6. def squeeze 7. @juice_available -= 50 8. end 9. end 10. orange = Orange.new 11. orange.squeeze 12. # => 50
If you have a modicum of programming languages you probably understood what this piece of code is doing without anyone explaining it to you. I think this speaks for itself. The beauty of Ruby is that the code talks to you.
You might be thinking: "but this code is very simple". And it is! Take a look at this example of a class in Ruby for converting numbers to phone.
And of course I couldn't forget to mention, but here's a video from the creator of Ruby on Rails developing a complete blog in 15 minutes, in 2005. Imagine how much it has evolved since then!
The Ruby toolbox is very well built and mature. The community as a whole is pretty complete, and if you're a developer who's still learning, I'm sure you won't be short of material. Additionally, the coolest thing is the amount of tools available to you:
Want to see a complete list of available tools? Check this out!.
Ruby makes it easy whenever we need to develop a new web application or an API. When we need to develop applications quickly, the chances of choosing Ruby as an option are very high. But why? Because there are great frameworks, tools and libraries at our disposal and also a setup of a complete CI/CD environment and a production environment that we can quickly do.
We were recently challenged to build a large company's digital product MVP into production within 25 days. We had a lot of problems, but we managed to meet the deadline because we chose the right technology, in this case, Ruby. :)
I don't think it's easy to scale any application - and it's too simplistic to think that way, because each challenge has its own peculiarities and quirks.
Yet this is a recurring question that we have to answer. You've probably heard that Ruby is slow and even cites Twitter as a "failure" for the language it uses. But the truth is that very few applications will reach the number of requests that Twitter needs to respond to per second. Besides that, there are other very successful cases.
This is why I don't believe in those silver bullet tools, that is, a tool that solves all problems. Even though I like Ruby a lot, it wouldn't be different.
If you're a developer or work in software development, you've probably heard of Github. Yes, it is the same one you are thinking about. Github is an application developed in Ruby using a Ruby on Rails framework.
Going forward, draw your own conclusions about Ruby's scalability. :)
I know of several Ruby use cases, but I'll name a few that are well known throughout:
In addition to those that I can say are more prominent, we develop here within the ateliware:
As it is a super consolidated language and focuses on developer productivity, it is difficult to find anyone who has already had some contact with Ruby and has not liked it. The simplicity and the number of tools available for sure become a highlight and a positive point of the language. I believe it won't be a problem for your company to hire developers in the market.
Every year Stackoverflow conducts a survey of community developers (of which there are many) to find out "sense" and opinion. In this ranking, Ruby still remains the darling of developers. I'll link the article here so you can follow the details.
I share an almost obvious relationship about some cases that I believe Ruby is not the ideal tool:
The content was longer than I'd expected, but I've tried to answer fundamental questions to help you decide what technologies will be best for your next digital project or product.
I always like to leave a reading recommendation so that you can deepen your knowledge and draw your own conclusions:
Do you still have questions? Get in touch with us through our Twitter or Linkedin. See you there!