> After reading Brian's book, I was able to construct well-designed Ruby > scripts, refactor all of my earlier Watir scripts, and can now understand > more lengthy and complex pieces of Ruby code. I also really like how Brian > didn't start with the typical "hello world" example and instead jumped right > into scripts that can solve real-world problems. A "test the water with > both feet" kind of approach. =)
I've been skimming the first hundred pages or so, especially the first 50. What I like is that even though the problems are not terribly complex, they are complex enough that a naive programmer would make all sorts of mistakes in the course of solving them. The book helps you avoid making those mistakes. What I find, reading closely, is that as you type along with the exercises and read the descriptions (which are good stories, logical and nicely laid out) you are actually learning good programming practices, without actually noticing. It just seems like the natural thing to do. Every other page or so I find myself saying "that was cool, I'll have to remember how he did that". Someone with fewer historical mistakes under their belt than me would simply learn good practices instead of having to remember not use bad ones. A long time ago I used to teach guitar lessons. I always liked teaching kids 8 or 9 years old, because they had no concept of what was hard or not. Teenagers and adults who had been exposed to records and videos would think "playing barre chords is hard" and "playing above the 4th fret is hard". The kids didn't have those prejudices: to an 8-year-old, that stuff is just how one goes about playing the guitar. It's all *equally* hard. Likewise, a beginner who did all of the exercises in this book and understood all of the explanations would find themselves at the end to be quite a good Ruby programmer. They wouldn't have known that blocks are hard, methods are hard, test/unit is hard, classes are hard, etc. etc. That's just the way you (should) program Ruby. _______________________________________________ Wtr-general mailing list [email protected] http://rubyforge.org/mailman/listinfo/wtr-general
