I finally got my copy of "Head First Ruby" by my friend, Jay McGarvin. I feel super proud to hold a copy of his hard work in my hands.
I'm going to read it cover to cover (+ do all the exercises) and write up a book review upon completion. So far I've already read through chapter one and built a little number guessing game. In the next chapter, we will be breaking up the code with classes and methods which is great! In my Ruby gem project, I struggled with this bit a little. My code worked, but it was jumbled into one big file (which ultimately is still fine because at least it works, right?). But during my code review, Avi suggested splitting it up into classes and talked about "breaking points" and responsibilities. Perhaps it's a stylistic choice for implementing some organization, but now I have a class responsible for interacting with the user, and I have another class responsible for the logic of gathering the requested data. This makes sense, I get it now but I am interested in seeing how Jay explains this concept too. I am never opposed to learning about the same concepts in different ways!
It may seem that I am a wee bit biased since I'm team Jay, however I am being 100% honest when I say that I am really enjoying this book so far! It is easy to read and fun. It doesn't feel like a stuffy-authoritative-formal book; instead, it's like he's sitting right in front of me and we're having a conversation about ruby basics! FUN! There are also lots of exercises, pictures with clever captions, and little quizzes (with answers on the next page)... it's entertaining! Well done! I suggest you do all the exercises and play along, don't just read along. Also, because I randomly have a undergrad degree in Human Development (which I never used), I appreciated the points he makes about learning HOW to learn.
In total there are 15 chapters, plus a bonus chapter briefly reviewing the most advance topics. So there's 513 pages of content to get through. I don't know what will be a realistic time frame for me to finish it all, but by the end of it I should have a working Sinatra app which I'm pretty excited for!
If you are interested in learning Ruby, you may want to check this one out! I have a good feeling about it and I'm happy to add it to my collection!