- 出版社: The Pragmatic Programmers (2006年3月28日)
- 丛书名: Pragmatic Programmers
- 平装: 176页
- 语种： 英语
- ISBN: 0976694077
- 条形码: 9780976694076
- 商品尺寸: 19 x 2.2 x 22.9 cm
- 商品重量: 667 g
- ASIN: 0976694077
- 用户评分: 分享我的评价
- 亚马逊热销商品排名: 图书商品里排第3,026,669名 (查看图书商品销售排行榜)
Best of Ruby Quiz: volume one (英语) 平装 – 2006年3月28日
Solve these twenty-five popular programming puzzles, and sharpen your programming skills as you craft solutions. You'll find interesting and challenging programming puzzles including: 800 numbers; crosswords; cryptograms; Knight's tour; Paper, Rock, Scissors; Tic-Tac-Toe; Texas Hold-Em; and, and more. Learning to program can be quite a challenge. Classes and books can get you so far, but at some point you have to sit down and start playing with some code. Only by reading and writing real code, with real problems, can you learn. The Ruby Quiz was built to fill exactly this need for Ruby programmers. Challenges, solutions, and discussions combine to make Ruby Quiz a powerful way to learn Ruby tricks. See how algorithms translate to Ruby code; get exposure to Ruby's libraries; and learn how other programmers use Ruby to solve problems quickly and efficiently.
portfolio, there is a ton of literature on new ideas, techniques and
tools. But it is more rare to find books that contain practical
examples on how to use these techniques. When it comes to solving
typical problems in programming, 'The Best of Ruby Quiz' is such a
The book is splitted into two parts: The first part contains the
challenges, the second part has the answers.
The quizzes itself range from very simple to moderate tasks, which you
could (in theory at least) solve in a few hours. Some of the tasks
are somehow related to everyday programming tasks (like transforming a
proprietary text format to xml, some are more abstract (like searching
for the words that are banned in a spam filter). But every challenge
is fun and more than one way to solve it.
But of course the answers are the real gold in this book: They are
written by some of the elite programmers in the Ruby Community, like
Jim Weinrich or Florian Gross. When trying to solve some of the
problems, I often found myself embarrassed by a much more simple and
logical solution after looking at the solutions from these guys.
This book is not only for Ruby programmers. Sure it has a bit from a
cookbook for the ruby programming language, as reading through the
code will teach you a lot about the language. But the main propose is
giving you questions and answers to think about programming, and this
is valuable for everyone in that field.
This book is a digest of the 25 most interesting quizzes and their solutions carefully collected by James and released in one volume (using some very pretty typesetting, I must add). It's basically a printed version of the website, with only very little content added - like additional exercises after each quiz.
And this is where the problem of this book lays, in my opinion. To experienced programmers it won't be particularly interesting, since looking at the quiz website itself and participating in the lively discussion on the maling list is much more interesting.
This book could be excellent for newbies, but unfortunately it's not meant for those unfamiliar with the language. So even here, the website is just far more useful. The only real advantage of this book is its dead-tree format, which may be nice for people who have difficulty reading from the computer screen, or for people temporarily without internet access.
The quizzes in "Best of Ruby Quiz" are excerpted from the author's web site "Ruby Quiz" so while you could certainly save yourself a few bucks and just visit the site, the book is a much more polished product. Also, I believe that the immediacy of the book with its superior layout really enhances the learning experience when compared to the web site.
This book makes a great companion to the Pickaxe and the two books form an effective one-two punch for learning Ruby. So go ahead and sit down with a copy of this book, fire up the code editor of your choice, pick a quiz and start coding. Not only will you learn a thing or two about Ruby, you'll have a good time doing it.
Ruby Quiz is online, but the best of book has distilled the free-for-all online atmosphere into a polished collection with the answer (or answers) that the author were most useful and complete.
Great way to learn about the hacker culture too as the answers often include tidbits about why an answer was done the way it was (ie: I had never heard of programmer golf before reading this book)
Up to date books on Ruby (rather than Rails) are scarce, so we should cherish this publication. Good as the Pickaxe is, it lacks examples of fully-working programs. There are plenty here, packed full of Ruby idioms - I learnt an immense amount from the quizzes. You will want to either be taking copious notes while reading this, or be sat in front of the computer, so you can fire up irb and play with the language features you don't understand. Of course, as a collection of idioms, one could imagine the material being organised more efficiently, but it would also be a lot drier.
So much for the Ruby, what about the Quiz? I must say that I was less enamoured of the book as a collection of puzzles. I didn't find the problems themselves that exciting, although that's probably just me. You probably already know if you're likely to find this sort of thing fun. What was more disappointing was that the discussion of the solutions is tilted towards presenting a solution in chunks of code, and then explaining what each bit of syntax was doing. There is much less emphasis on analysing the problems, or weighing up the solutions. This is not to say that the book is bereft of such analysis, but it is sporadic and specific to the exact form of the problem. I understood all the solutions, but did not feel that I had gained any insight into the generalities of how to classify problems and identify solutions. This is not really what the book is about, but the blurb does highlight algorithm selection and problem analysis as one of its selling points, so one might be justified in being a little disappointed.
Nonetheless, I still give this book 4 stars, for the wealth of Ruby action contained within. Maybe future releases will supplant it, but for now, book-starved newcomers to Ruby, having finished the Pickaxe, should consider this book as a must-read source of idioms and example programs, with a fun practical bent as a bonus. Well worth your money.