16
votes
Requesting resources for learning Ruby
Does anyone here have experience with Ruby programming? More specifically mRuby or DragonRuby for game programming?
I came across DragonRuby as free for its 7th anniversary and I’m considering checking it out, but I have no experience with the Ruby programming language itself.
Most of my programming experience recently is in C# and Python, but I have some experience with JavaScript/TypeScript.
Does anyone know of good resources for learning Ruby coming from that background, or thoughts on if it is worth it to try to pick up?
I’m not really interested in LLM-based Ruby workflows, at least until I have a decent grasp of the language and syntax myself.
There will be much more pragmatic resources in other comments, but if you're feeling a lack of whimsy in your life and also want to learn some Ruby, I must recommend _why's poignant guide.
It's hard to describe without spoilers, and it's probably not the most efficient way, but it is, IMO, the most fun way to learn Ruby.
The poignant guide is, without exaggeration, singlehandedly responsible for my entire career.
I did not think of myself as someone who could write computer programs, but I did think of myself as a writer. why's guide talked about programming as a form of writing that happens to have an audience of machines and people.
Its surreal, it's silly, and it hands you this fully formed omnitool-- computer programming-- and treats it like a fun little toy you can play with in your garage. I'll always be thankful for the book and as time goes on I sympathize more and more with the complicated feelings he communicated about working in technology.
His follow up book (...thing?) is also really good: https://github.com/steveklabnik/CLOSURE
No longer a programming book really, but a pretty awesome read.
Since you already know how to program, it seems that you mostly just need to learn syntax. In those cases, I turn to LearnXinYminutes for whatever language is being learned. You already know the common principles, and you'll pick up on specific quirks as you work with the language.
Given you already know Python and Javascript, I'd say: 1) Just dive right in, and 2) use an AI chatbot. Your existing programming knowledge will transfer easily (especially Python). Converse with an AI to fill in details, such as by asking how Ruby compares to Python with respect to some aspect, or by asking for example Ruby code for whatever.
After many years, Ruby remains my favourite programming language.
Back in the day, I remember this:
https://github.com/ryanb/ruby-warrior
https://palkan.github.io/ruby-warrior/
This is how I learned Ruby 10 years ago https://pine.fm/LearnToProgram
The other recommendation I have is using Exercism to do some exercises in Ruby.