|
|
10 of 10 people found the following review helpful:
5.0 out of 5 stars
Beyond great: best book, best reference, best index (and funny), September 18, 2007
I am an oldster (you know, 40+) and have learned many a language. Kernigan and Ritchie wrote their "K & R" C-language book in some written language a little higher level than English. After 40 or 50 reads through, I got it. I read C++ books, SmallTalk, Delphi, Visual Basic, and many Java books, HTML, JavaScript, CSS, Awk, Emacs, REXX (!!), and just about everything O'Reily has ever published.
Now, I come to Ruby, and Ruby on Rails. Thank goodness for this book. What a relief to read a book that is 1) comprehensive, 2) practical, 3) accurate, 4) funny at times, and 5) above all, has a good index! Perhaps programming languages are (finally) getting easier to write about, but Dave Thomas is an outstanding technical writer: he knows his audience and writes for us. Look, I know a million programming languages, but I am not the kind of person who zips through a book and suddenly gets it. Most books are written by people who are experts in the nuances, but have forgotten the many steps that lead up to those nuances.
AWDWR is better. It starts with a non-trivial and complete tutorial -- the first half of the book is an application that manages to hit most of the critical aspects of actually doing the job. It is a reasonably broad application covering many points of real webapps. (I read through thinking, yeah, we managed to deal with that in our Java webapp in a month, and here it is, built in to Rails, and better ... more than once). Maybe it is Rails, which seems to be a significant step in maturity over current generations (my last was WebWork/Struts 2, which seems to be the best you can do with Java these days, but really only one part of the larger problem).
But I have to give great respect to Dave Thomas and the other great writers who all made this second edition book a great, great book. I could follow along when reading, I actually did the whole tutorial and found myself learning almost all the way through typing the examples in by hand (mostly by learning how to debug my typos and understanding how the language and framework responded). Now that we're writing our real software, we still look back at the tutorial to get a clear view of how all the parts fit together.
The second part of the book is a solid documentation of the components and APIs available. It is not complete, but nor should it be -- if you want the API, link to the Rails site API. It does cover the important points, however, and ties them back to the tutorial where appropriate. Various important aspects are covered in enough detail to get the idea across, but not so much as to be just a lexicon.
I can't recommend this book highly enough. If this is your first programming book, it will be a struggle, but less than most, and if you're a professional software engineer with one or two languages under your belt (and reasonable proficiency at the command line), you will find this a great reference for learning, and for doing.
|