From: Chad Perrin Date: 2007-03-12T18:07:36+09:00 Subject: Re: I need to learn... On Mon, Mar 12, 2007 at 10:35:08AM +0900, Robert Hicks wrote: > I would like to learn Ruby so I am looking at getting "Programming > Ruby". I am also looking at converting stuff to RoR, so I was looking > at getting "Agile Web Development with Rails". > > Would those be good? The short answer: "It depends." Programming Ruby, also known as "the Pickaxe" because of the pickaxe on the front cover, is an excellent book for people who are already programmers in (an)other language(s). It's also a very nice reference to have on your shelf. If you're a brand new, or relatively novice, programmer, you might want to choose something that does a little more hand-holding in the early stages of learning Ruby (and learning to program in general). Programming Ruby basically assumes you know most of the concepts of programming that come up in the first few chapters, but don't know how they apply in Ruby. So -- if you're a programmer already, Programming Ruby's an excellent choice. If you've never programmed before, or have only barely touched program source code (such as doing some very simple imperative stuff with PHP or JavaScript), you'd probably be better served by choosing a book like Chris Pine's "Learning to Program". There's now an effective middle road, in the form of another book called "Everyday Scripting with Ruby". You might want to have a look at that while you're deciding as well. There are other books available, but these are the three with which I'm familiar that I know are at least reasonably good. In fact, from what I've seen, all three are truly excellent -- they just target different audiences. They are also, conveniently, all published under the Pragmatic Programmers imprimatur. "Agile Web Development with Rails" is also an excellent book, but not for learning Ruby, per se. It's an excellent book for learning Rails itself, the framework. You really don't need to know much Ruby to do basic Rails development -- though if you start using Rails heavily you will *definitely* benefit from learning Ruby itself pretty heavily. If you're already a PHP web developer, you should be able to get started with Rails pretty quickly with the Rails book by starting with the appendix that gives a brief overview of the Ruby language. That'll help you translate programming concepts from a language like PHP to Ruby, insofar as is needed to do basic work with Rails. Surprise: Agile Web Development with Rails is also a Pragmatic Programmers book, and of a high quality similar to the others I've mentioned. While I'm talking about the PragProgs, I should mention where the Pragmatic Programmers name arose: Some time ago, Dave Thomas and Andrew Hunt wrote a book called The Pragmatic Programmer. It doesn't teach any particular programming language, and in fact doesn't teach you to program, really. It does, however, provide excellent details on how to be a *good programmer*, once you already know how to program, *regardless of the language*. I recommend it wholeheartedly, as one of the seminal works of programming practice. Back on topic: If you're serious about Rails, and want to start with Rails then move into Ruby, I suspect that the second book you should pick up after Agile Web Development is a book called "Ruby for Rails". I haven't had a chance to go through it at all, but by reputation it is an excellent book as well, and teaches Ruby programming from a Rails perspective, going beyond merely teaching the framework and the minimum of Ruby knowledge necessary to use Rails. I hear good things about "The Ruby Way", as well. I salivate for this book, and will probably get it next month. It's probably a good second or third Ruby book (depending on how much programming you know when you start with Ruby and how quickly you learn the language). Neither Ruby for Rails nor The Ruby Way is a Pragmatic Programmers book, but don't let that deter you. I've heard nothing but glowing recommendations in relation to these two books. I can't personally vouch for them, but I certainly have heard enough to be reasonably sure I wouldn't waste my money to purchase them. I hope that helps. -- CCD CopyWrite Chad Perrin [ http://ccd.apotheon.org ] "The ability to quote is a serviceable substitute for wit." - W. Somerset Maugham