- Series: Books for Professionals by Professionals
- Paperback: 328 pages
- Publisher: Apress; 1st ed. edition (December 18, 2007)
- Language: English
- ISBN-10: 159059911X
- ISBN-13: 978-1590599112
- Product Dimensions: 7 x 0.7 x 9.2 inches
- Shipping Weight: 1.5 pounds (View shipping rates and policies)
- Average Customer Review: 6 customer reviews
- Amazon Best Sellers Rank: #2,452,691 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.
Practical Ruby Projects: Ideas for the Eclectic Programmer (Books for Professionals by Professionals) 1st ed. Edition
Use the Amazon App to scan ISBNs and compare prices.
Fulfillment by Amazon (FBA) is a service we offer sellers that lets them store their products in Amazon's fulfillment centers, and we directly pack, ship, and provide customer service for these products. Something we hope you'll especially enjoy: FBA items qualify for FREE Shipping and Amazon Prime.
If you're a seller, Fulfillment by Amazon can help you increase your sales. We invite you to learn more about Fulfillment by Amazon .
See the Best Books of 2017
Looking for something great to read? Browse our editors' picks for the best books of the year in fiction, nonfiction, mysteries, children's books, and much more.
Frequently bought together
Customers who bought this item also bought
About the Author
Topher Cyll is a software engineer and writer living in Cambridge, Massachusetts. He received his bachelor's degree in computer science from Williams College and works for a small Boston-area startup. In reverse alphabetical order, he finds programming languages, music, free software, education, bioengineering, and beer terribly exciting. Topher loves Ruby not only for the language itself, but also the light-hearted and intellectually curious community that surrounds it.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
The pace of the book is measured and Topher Cyll does a good job of gradually building up the projects a step at a time. Along the way a variety of practices are demonstrated with many methods stubbed out for demonstration purposes before being filled in when they are needed, and considerable time spent on decoupling code. That latter piece is particularly in evidence in the chapters on building a turn-based strategy game and then developing a RubyCocoa front-end. Despite careful design early on further refactoring is needed to make it easy to apply the front-end and that process is carefully worked through.
Most of the book makes some use of existing libraries. The initial lisp chapter uses the sexp library and the subsequent section on writing a parse relies on rparsec. For the most part, however, use of the libraries is kept to a minimum, allowing for fairly self-contained code. Unit testing is largely ignored until the last chapter, where the need for tests when constructing a grammar/parser is explained and a test-first development model is encouraged. That works well to demonstrate the power of tests for complex (and often brittle) code.
This is not a book designed for public transport reading. Working through chapters on the bus I frequently found myself wanting to reach for my laptop to get a better grasp of how a piece of code worked. While the explanation is generally very good, with material of this complexity there is nothing like running the code and tweaking it to make sure you've understood exactly what each transformation does. It's a book to take your time over, so be prepared!
A few editorial errors have crept in, suggesting a re-organisation of the contents late in the day. In particular an early reference to s-expressions seemed to presume that the lisp and/or parsing chapters were featured early. That's not a big deal and will hopefully be corrected in later printings; the author does encourage skipping around within the book, but there is value in working through it roughly in order, and not just for the two "paired" chapters that explicitly build on one another.
Perhaps the most striking thing about this book is the reminder that even for those of us whose primary programming activity is web development, studying other areas can be extremely helpful. Not only is it helpful to see how other developers structure their code, but tools like genetic algorithms and parsers are likely to be very helpful where web applications require sophisticated processing and/or backend systems. And it never hurts to learn a little lisp. For the ruby developer who's comfortable with the language and wants to stretch out a little, this book would be an excellent investment.
Disclaimer: I was sent a copy of this book for review by the publisher.
If you have more experience with Ruby, this book is still compelling. It walks through some nonstandard projects -- interesting projects on their own, and certainly the sort of projects that will get your mind working, and have you looking at the problem and the language in a new light.
Throughout, care is taken with the writing -- the text isn't a boring technical manual, but is compelling and interesting, while packing in a lot of technical detail!