Why should I add Ruby to my programming toolbox

I am currently taking a bootcamp to add Ruby for Rails to my programming toolbox (I already know several others). I am really starting to question if I want to continue. Is the language as quirky as it initially appears? All languages have their pros and cons, but it appears that I am missing something with Ruby. I keep hearing that it is a “fun” language and you can program as you speak. But all I am seeing is weird wording, non-standard term usage, and internally inconsistent coding.

Does it get better with use? What am I missing? Is it worth it?

Preferences with programming languages are to a large extent a matter of taste. Of course, one can “acquire” a taste of something if they give it enough time. That’s what happened for me with Ruby for example.

What about the language seems odd to you? What languages have you used so far that you’re comparing it to?

That’s not true at all from a Software Engineering point of view. Every programming languages has pros, cons, and trade-offs, plus specific situations where it is the best fit. For example, building operating system kernel libraries needs low-level languages like C, C++, or Swift, building scripts needs a dynamically typed or untyped language like Bash, Perl, or Ruby. Servers that require high throughput at a very large scale could benefit from languages like Java and C#. It really depends on the problem. Not all programming languages are created equal at all. Ruby is the cream of the crop when it comes to high-level dynamically typed languages for business domain modelling and problem solving when algorithms aren’t very performance sensitive. Otherwise, it would be recommended to mix Ruby with other programming languages. Fundamentally though, if we were to make all Python, JavaScript, and Ruby libraries available in any of those languages, Ruby is easily the most expressive and fluent of them with the most readable English-like code. It objectively needs the simplest code with the best readability to solve problems. That said, I’d use Crystal or Java if performance intensive algorithms are involved because they’re statically typed and can better optimize performance as a result. I’d use a lower level language if I needed to build operating system hardware drivers. So, in summary, a Software Engineer has to consider the pros, cons, and trade-offs they care about for the problems they’re solving before they could pick the best programming language to use. And, Ruby definitely excels in certain areas for certain problems in ways that beat the competition objectively.