One day I'll finally learn Ruby, once I manage to find a learning resource which isn't aimed at complete newbies and goes in depth into the metaprogramming and intricacies of the language.
https://github.com/dazhizhang/ruby-rails/blob/master/Metapro...
My thoughts exactly. I loved it so much I emailed the author and - embarrassingly - told him he was the Mark Twain of programming books! He replied and was also very embarrassed by the comparison.
Or maybe that was for his other book, Design Patterns in Ruby, I don't remember as I try hard to forget the details of embarrassing moments. I'm still waiting for a Lacuna-like company to arise and help me forget them all…
Still, either book is well worth a read, both are top of my recommendations. If he (Russ Olsen) ever writes one about Haskell then perhaps it'll finally go mainstream :)
Tutorials just don't cut it for me, they never have. It's just a grueling format and it does nothing but put me off the tech I'm looking at.
[0]: https://exercism.org
http://www.rubyinside.com/media/poignant-guide.pdf
or
It's an incredible work.
Ruby is the spiritual successor to Perl, and the niche it filled was to be the "beautiful" programming language. If you don't appreciate _why's guide and the idea of code as magical incantations, you're not going to enjoy your Ruby experience. I don't think there's many rubyists that didn't appreciate _why.
With something as weird as Ruby, where there's so many ways to do everything, you're going to want to start with beginner's mind anyway.
I am familiar with _why and I agree with parent, I've read the Poignant Guide as a relatively experienced programmer (I had 2-3 years of experience back then), 90% of the guide was useless to me. Unless you are a complete beginner, you don't need bacon or water pipe analogies to understand basic concepts like variables or functions.
[1] https://www.oreilly.com/library/view/metaprogramming-ruby-2/...
When learning a new language I often search for its "A Tour of C++" or "Effective Java" equivalent, but they're not common.
The "In a Nutshell" series are a passable substitute.
https://www.ruby-lang.org/en/documentation/
Personally, I think something similar to K&R style would be my preferred learning material; short and concise but clear and easy to understand.
Now, for a language that was profoundly different (like going from BASIC to Haskell), I'd probably look for something more basic. ;)
This is often the best way to become quickly acquainted with a new language, as the code you'll encounter will be sophisticated and idiomatic. It will also be implementing basics of the API, which are relatively consistent across languages.
_why's style was perfect for Ruby. But it doesn't work for other programming languages.