DEV Community

Discussion on: Which ruby book would you recommend?

beccasaurus profile image
Rebecca Taylor

Why's (Poignant) Guide to Ruby 🦊🦊πŸ₯“

_why & the Poignant Guide are important pieces of Ruby's history and culture.

Note: the book is... quite insane. β­οΈπŸ’

IMO: You're not expected to make it all the way through, but I recommend making it through to learning Ruby metaprogramming with Dragons – also don't miss the part where the porcupine steal's the foxes' pickup truck! This book is the origin of "Chunky Bacon." πŸ¦”πŸšš

_why was an artist in the community who had an impact on the culture of Ruby which lasts to this day.

The first project of _why's that I recall using was Camping πŸ•
This is the first micro web framework which I know of existing.
It was a brilliant combination of Markaby (HTML markup in Ruby, also _why)
and ActiveRecord and a micro MVC pattern.

_why also created Shoes πŸ‘Ÿ
This was a fresh take on simple GUI programming using a Ruby DSL.

You can still honor _why each year by hacking and sharing your [inventive, artistic, insane] projects on the Whyday holiday each year (August 19th)

"Chunky Bacon." 🦊🦊πŸ₯“

thorstenhirsch profile image
Thorsten Hirsch • Edited

The Poignant Guide is indeed insane. It's somehow pretty similar to the "Head First..." series. Even though I like their idea it turned out that I don't like them. To my own surprise the visualisations were of no help for me, instead they were a distraction. I am a visual learner, but it seems like I need to make my own visualisations and cannot learn with these gimmicky comics.

I like:

  • Practical Objected Oriented Design in Ruby
  • Eloquent Ruby
  • Metaprogramming Ruby

The last one sounds pretty advanced, but it is the best one in this list. In this book the title is explained like this:

in Ruby metaprogramming is actually only programming

I'm pretty sure this is not true for all other languages. Whether you agree or not - this book teaches the OO architecture of ruby in depth, which helped me a lot for designing the class hierarchy of my own applications.

neotamizhan profile image
Siddharth Venkatesan

All three books listed here were excellent. Having followed Sandy Matz's talks and podcasts for a while, her Practical Object Oriented Design in Ruby was close to heart. It helped instill some good OOP practices which helped beyond ruby as well. Metaprogramming Ruby was also an interesting book. It taught walking on hands (which was how metaprogramming seemed to me) in a lucid and fun way...