- Series: Zed Shaw's Hard Way Series
- Paperback: 320 pages
- Publisher: Addison-Wesley Professional; 3 edition (December 17, 2014)
- Language: English
- ISBN-10: 032188499X
- ISBN-13: 978-0321884992
- Product Dimensions: 7 x 1 x 9 inches
- Shipping Weight: 1.2 pounds (View shipping rates and policies)
- Average Customer Review: 3.8 out of 5 stars See all reviews (17 customer reviews)
- Amazon Best Sellers Rank: #151,087 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Learn Ruby the Hard Way: A Simple and Idiomatic Introduction to the Imaginative World Of Computational Thinking with Code (3rd Edition) (Zed Shaw's Hard Way Series) 3rd Edition
Use the Amazon App to scan ISBNs and compare prices.
Prepare for your professional certification with study guides and exam prep tools from Wiley. See more
Frequently bought together
Customers who bought this item also bought
About the Author
Zed Shaw is an avid guitar player, programmer, and writer whose books teach people all over the world how to write software. His book Learn Python the Hard Way has been read by millions of people around the world. His software has been used by many large and small companies. His essays are often quoted and read by members of many geek communities. He is an entertaining and lively writer, who is sure to keep you laughing and make you think.
Browse award-winning titles. See more
If you are a seller for this product, would you like to suggest updates through seller support?
Top Customer Reviews
My only issue is that it's written by a Pythonista that has converted the Python version to a Ruby book. This means that some style is lost in translation. I recommend using the Tailor gem or Rubocop to get a good idea for what's missing style-wise. One very good example is defining or calling functions without arguments: in Ruby, you don't use function(), you would just use 'function'. Also, there are some Python-y rants about "functions" v.s. "methods". While I'm not arguing with him over semantics (never argue with programmers over semantics), it seems a little trite. It could just as easily be called "Learn Ruby the Hard Way, from a Pythonista". Ultimately, you're going to interact with the Ruby community, not Zed Shaw, so keep in mind that a Ruby-centric style is important.
Again, this is still one of the best resources for beginning-level Ruby, if not the best I've seen. I may have more feedback after using this as a training tool for a few friends, so feel free to ask any questions!
The first third is an introduction to programming, which covers topic like variables, basic text manipulation, and looping. A lot of guidance is given to the reader, while noting how to find more information online.
The middle third of LRtHW focuses on making the leap from examples to writing longer, more substantial programs with multiple files and branching. At this point, the author places a larger focus on using external sources of information. While still covering common problems that the reader might encounter, more references are made to looking up information in the Ruby documentation and looking at projects on GitHub.
The final third of the book covers many of the skills needed by a working programmer. The projects get larger in scope and more references are made to online resources. Some of the topics include how to structure programs and gems, automated testing, writing rudimentary 'game engines', and has a large focus on using Ruby on the web. Since most real world use of Ruby will be online, the emphasis on web programming is quite helpful.
Overall, I'm quite impressed with Learn Ruby the Hard Way. I would imagine this book will mostly be read by those with little or no programming experience. While I can't evaluate the book from that perspective, everything seems to be laid out very well for a new programmer. The logic and progression makes sense and is easy to follow. Showing readers how to find more information online is helpful and not something often encouraged by most authors. Perhaps my favourite part of LRtHW was the author telling readers to seek out material beyond one's comprehension and try to understand a little of it.
My only nitpick was that it seemed to have a little too much of a Python feel for a Ruby book. All the code examples I tried myself worked perfectly, but some of the text had odd word choices that seemed more appropriate for a book on Python. Not that this would have any effect on a new programmer, but it did seem a bit jarring.
I would definitely recommend Learn Ruby the Hard Way.