The length of time to learn Ruby depends on prior programming experience. If you are a seasoned developer, you can grok the fundamentals in a few hours. It may take a month to build something reasonable using Ruby. At this point, you would still be a novice Ruby developer. However, with your experience in solving programming problems and your google ability, you could still land a junior Ruby developer role.
If you are starting programming, then there is a 1-2 year initial phase of just learning programming paradigms and methodologies before you would even start looking at something like Ruby. At this point, another year will likely get you in reasonable shape to start looking at junior Ruby developer roles.
Another year is because the ability to recognise design patterns and data structures will not be second nature. A seasoned developer can look at a piece of foreign code and recognise guard clauses, factory patterns, DTOs and adapters and much more. A novice might not see these patterns for what they are, and it is because of this point that they will need more time to develop Ruby, even with the same amount of Ruby experience.
What is Ruby?
Ruby is a dynamically typed interpreted programming language (scripting language) built to support many different programming paradigms. For example, some of the paradigms supported are functional, OOP and procedural. It was created by Yukihiro Matsumoto.
The first release of Ruby was in 1995, starting with version 0.95. Since then, there have been multiple releases and the current release, as of November 2022, is version 3.1.3, which was released on the 24th of November, 2022.
What is Ruby on Rails?
Ruby on Rails is the server-side web framework for Ruby developers. Comparatively, this would fall under ASP Net or Spring for .Net and Java developers, respectively. It was initially released in 2004, and the latest stable release was released on the 9th of September, 2022.
Like ASP Net, Ruby on Rails provides an MVC (model-view-controller) framework and systems to access databases and systems for developing web pages and web services.
When working in Ruby on Rails, the experience should be familiar to seasoned web developers as the design is focused on typical web standards. For example, data transfer is done via JSON or XML, and web pages are created with HTML, JS and CSS.
Where to learn Ruby?
The documentation for the Ruby language can be found at ruby-doc.org. You will find links to the API docs for different versions of Ruby, how to download and install Ruby, and links to practice sites for learning Ruby.
YouTube is a gold mine for learning any programming language, and learning Ruby or Ruby on Rails is no exception.
Why should you learn Ruby?
Ruby was originally designed to be an easy-to-learn and use language. It can run on backends for processing automation scripts and web servers. A massive advantage Ruby has is that you could code most web applications in just one language. But as with almost all web-based applications, you will need to know a little bit of the Javascript basics to get by.
So learning Ruby is a good choice if you are beginning web development as you won’t be needing to learn a bunch of different technologies at once, and this way, you can focus on learning Ruby.
Is Ruby a slow language?
Ruby has been known in the past to be a somewhat slow language when compared to Python. However, this is not still the case. Ruby is an interpreted language which means it will almost always be less performant than a compiled language like C# or Java.
The speed of Ruby today is easily comparable to that of Python, so either language is a good choice depending on the type of application you are building. Like in most cases, the language you choose is often dictated by the frameworks available to that language. The takeaway from this is not to consider Ruby a slow language but to be mindful of why you would be selecting Ruby as your choice of language.
In C#, you would be working with the .Net framework or .Net Core, which provides all the standard style libraries you would expect, e.g. for handling strings, date and time and collections. It also comes with the ASP frameworks for handling web applications.
In Python, you might be looking at working on data science applications, machine learning or AI, as there are a large number of Python packages available that have implementations of algorithms designed for this type of work.
What are some famous applications written in Ruby?
The most well-known web application in Ruby (Ruby on Rails) is the GitHub website. Considering the size of the site, the amount of traffic the site attracts, and the sheer volume of data being transferred through the site should show that Ruby on Rails can handle any web application that you throw at it.
Some other notable sites built using Ruby on Rails are Kickstarter, Soundcloud, Shopify and Airbnb. That is a pretty impressive list of sites, proving that Ruby on Rails doesn’t suffer from any deal-breaking issues in delivering quality software to your clients.
Conclusion
Ruby is one of the simpler languages to learn when studying programming languages. It has a quality ecosystem of frameworks and libraries that make developing web applications or automation scripts a breeze.
For more advanced developers with experience in other web frameworks, Ruby on Rails may not offer enough difference to warrant the education and time to learn a new language. However, the simple approach baked into Ruby may attract seasoned developers who have been frustrated by tackling problems in Java and dealing with excessive overhead.
The ability to work in multiple programming paradigms, such as functional or object-oriented programming, is also a big plus for Ruby.