Learning Ruby 3 Advice

Hey everyone.
I have only recently began learning programming. I intend to become a web developer, and I intend to learn Ruby aswell as the ruby on rails framework. After a small amount of research Ive found that Ruby 3 was released in December 2020. My question is, what books are available for learning Ruby 3? I learn best from Textbooks and just tinkering with code, but I’m worried that due to how new Ruby 3 is I won’t be able to find a decent resource. Would books written for Ruby 2. X still be useful or is the update so big that Ruby 2. X books are now redundant?

Many thanks
Damon.

My suggestion would be to learn anything above Ruby 2.4. There’s not a lot of difference between 2.4 and 3.0. And you can always refer to the change logs! I will suggest you to learn Ruby 2.4 with the 2.4 interpreter. Then slowly move to the Ruby 2.5, 2.6, 2.7 and 3.0+.

Although there are new features constantly added to Ruby, the jump to version 3 is not so great - all my Ruby 2.X code is running fine in Ruby 3.0.

I have only recently began learning programming

As you have only recently begun to learn programming, you need to learn the core programming concepts of variables, loops, arrays, data structures, classes, modules etc. These core concepts are fairly constant, so just use the most recent book you can find.

What may be more of an issue, is whether any libraries you want to use are updated and running yet for Ruby 3.

So in the learning phase, I would recommend getting a decent book, installing whatever version of Ruby and library (e.g. Rails) it is using, and get a grip on the technology first. Then you will be able to update to the latest version when you know what you are doing.

(Incidentally, depending on your technical knowledge, using a system such as rvm or rbenv makes it easy to switch between different versions of Ruby and libraries. I wouldn’t recommend this for an absolute beginner.)

As already mentioned, find anything above 2.4, as later difference is mostly in performance and small changes that you can also find here:

https://rubyreferences.github.io/