Hi everybody, This is my first message to this forum. I'm interested in learning Ruby and would like to know what book you think I should start with. I've worked as a developer for over 17 years and as a Java developer for 3 and a half years. However I don't know anything about Ruby. So I need a book that teaches Ruby from the scratch. What book do you advice me reading? I want a book that is good both in content and easiness of reading and learning. Sorry if this question has been posted before. I did a quick search on the forum trying to find a topic like this one but I didn't find it. Thanks in advance.
on 15.05.2008 18:24
on 15.05.2008 18:34
Renato Veneroso wrote: > Hi everybody, > > This is my first message to this forum. > > I'm interested in learning Ruby and would like to know what book you > think I should start with. I've worked as a developer for over 17 years > and as a Java developer for 3 and a half years. However I don't know > anything about Ruby. So I need a book that teaches Ruby from the > scratch. > > What book do you advice me reading? I want a book that is good both in > content and easiness of reading and learning. > While I don't think it is a very good book, you should probably get "Programming Ruby 2d edition" because I think it may be the best there is. The first part of the book is a tutorial, and the second part of the book is a Ruby reference, which you definitely need because the Ruby docs are so bad. As a back up book/reference, you might want to try "The Ruby Way (2nd ed)".
on 15.05.2008 18:37
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Renato Veneroso wrote: | Hi everybody, | | This is my first message to this forum. | | I'm interested in learning Ruby and would like to know what book you | think I should start with. I've worked as a developer for over 17 years | and as a Java developer for 3 and a half years. However I don't know | anything about Ruby. So I need a book that teaches Ruby from the | scratch. | | What book do you advice me reading? I want a book that is good both in | content and easiness of reading and learning. Well, there is _why's Poignant Guide. Chris Pine's Learn to Program (though that is of less use for you, since you know your way around a programming language :P) is quite good, too. Though, you might have the best result with Programming Ruby by Dave Thomas et al. A free version is available for free online (though, it covers Ruby 1.6, so is a bit outdated). Also, Huw Collingbourne just announced his introductory book for Ruby. Note: all of these are free in one form or another, and there are probably even more introductory books available on Amazon and in your local Borders. :) The links: _why: poignantguide.net Chris Pine: pine.fm/LearnToProgram/ Dave Thomas: www.ruby-doc.org/docs/ProgrammingRuby/ Huw Collingbourne: http://www.sapphiresteel.com/The-Book-Of-Ruby - -- Phillip Gawlowski Twitter: twitter.com/cynicalryan Blog: http://justarubyist.blogspot.com ~ - You know you've been hacking too long when... ...you dream you have to write device drivers for your refrigerator, washing machine, and other major household appliances before you can use them. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkgsZfoACgkQbtAgaoJTgL/taACdHX30KepvrIZp3w2wW/2knI9g UBcAn3WmvPtLVCPf37BMn68j9q6NTTaN =lG0n -----END PGP SIGNATURE-----
on 15.05.2008 18:59
Although I have over a dozen Ruby books, I find myself using the following two very frequently: The Ruby Way - 2nd Edition Hal Fulton Programming Ruby 2nd Edition Dave Thomas Victor On Thu, May 15, 2008 at 12:33 PM, Phillip Gawlowski <
on 15.05.2008 19:00
Renato Veneroso wrote: > Hi everybody, > > This is my first message to this forum. > > I'm interested in learning Ruby and would like to know what book you > think I should start with. I've worked as a developer for over 17 years > and as a Java developer for 3 and a half years. However I don't know > anything about Ruby. So I need a book that teaches Ruby from the > scratch. > > What book do you advice me reading? I want a book that is good both in > content and easiness of reading and learning. > > Sorry if this question has been posted before. I did a quick search on > the forum trying to find a topic like this one but I didn't find it. > > Thanks in advance. Welcome to Ruby! Peter Cooper's _Beginning_Ruby:_From_Novice_to_Professional_ is a good starting book if you don't have a lot of programming experience. Since you do have a lot of programming experience you could easily get by with Dave Thomas' _Programming_Ruby:_The_Pragmatic_Programmers'_Guide,_Second_Edition_, which has already taught 1000's of people - including me - about Ruby. If you want two books about Ruby, Hal Fulton's _The_Ruby_Way_ would be a good book to buy next.
on 15.05.2008 20:40
You'll love Ruby. The book that got me really understanding how to tackle beginner problems was Everyday Scripting with Ruby for Teams, Testers and You by Brian Marick. It's for the true beginner. You'll also want to devour "Ruby Cookbook" (O'Reilly) by Carleson and Richardson. It's never farther than arms reach for me. Unlike other books mentioned in this post, mine will cost you real, physical legal tender.
on 15.05.2008 21:12
I'm a fan of Peter Cooper's Beginning Ruby. http://on-ruby.blogspot.com/2007/04/reviewing-beginning-ruby.html
on 15.05.2008 23:10
I personally don't think the pickaxe book is very good for learning Ruby from a beginners perspective. But it is no doubt a great reference. I would go for "The Ruby Way" or Chris Pine's tutorial to get you started. The new O'Reilly book co-authored by Matz is also available, but I haven't seen many reviews yet. Regards, Lee
on 15.05.2008 23:52
On Thu, May 15, 2008 at 5:10 PM, Lee Jarvis <ljjarvis@googlemail.com> wrote: > I personally don't think the pickaxe book is very good for learning > Ruby from a beginners perspective. But it is no doubt a great > reference. I would go for "The Ruby Way" or Chris Pine's tutorial to > get you started. > > The new O'Reilly book co-authored by Matz is also available, but I > haven't seen many reviews yet. On the other hand, a lot of folks seem to like the tutorial parts of the pickaxe, and the new O'Reilly "The Ruby Programming Language" has very little in the way of a tutorial but is a GREAT reference. There's really no one-size fits all recommendation for a beginner, a lot depends on what the beginner already knows, is he a complete new comer to programming, or someone with experience from other languages, who needs to be de-programmed first <G> I've heard lot's of praise for Chris Pine's book, but I've got no direct experience. While "The Ruby Way" get's lots of recommendations, personally I was put off by the attempt to be overly broad in coverage, but more by very poor proofreading. I don't know about the 1st ed, but the 2nd ed is plagued by lots of little errors. -- Rick DeNatale My blog on Ruby http://talklikeaduck.denhaven2.com/
on 16.05.2008 01:01
On May 15, 2008, at 4:52 PM, Rick DeNatale wrote: > > On the other hand, a lot of folks seem to like the tutorial parts of > the pickaxe, and the new O'Reilly "The Ruby Programming Language" has > very little in the way of a tutorial but is a GREAT reference. This is a topic that's been vexing me a lot in the last few weeks. I'm working on the third edition, and I keep going back and forth on the tutorial section. I personally like the quirkiness of doing things like describing classes before expressions, simply because it gives us a vocabulary to talk about things. But I know other people feel its the wrong way around--explanations should build bottom up. I've been trying it both ways, and I'm frankly stalled. I'd be interested to hear opinions. Keep as is (perhaps losing the jukebox, and adding a chapter on basic OO for people coming from procedural languages), or reorder it into something more conventional? Dave
on 16.05.2008 02:06
In message <7DB48A4C-7FBB-45EC-A701-15F58EA85895@pragprog.com>, Dave Thomas <dave@pragprog.com> writes >I'm working on the third edition, and I keep going back and forth on > > > >Dave > > ... People vary. I guess that most readers - at least in the near future - would be cool w/ OO. I'd suggest a pointer to an appendix for those that are not. Thanks for the books, and Best Regards, Alec
on 16.05.2008 16:05
On May 15, 7:00 pm, Dave Thomas <d...@pragprog.com> wrote: > interested to hear opinions. Keep as is (perhaps losing the jukebox, > and adding a chapter on basic OO for people coming from procedural > languages), or reorder it into something more conventional? I vote for keeping it the way it was in 1st. and 2nd. ed., with classes described before expressions. The first reason is simply because you're writing the 3rd edition of an existing book; are you sure you want to change the fundamental structure of the book? Second, when I read a document to get an overview of a new language, I find it rather tedious to work through the obvious stuff first, before getting to what makes the language interesting. "Oh, so you do addition of numbers using the + symbol in infix notation? You don't say! *snore*" Reading the Pickaxe 1st ed. online is what made me a Ruby programmer, and presenting the interesting bits of the language first is what drew me in, and made me hungry to start using it. I feel that the Pickaxe is a great book for teaching Ruby to someone who is already a programmer, and familiar with object-oriented topics. It does not teach the fundamentals of programming to someone unfamiliar with the concept. The only reason I can think of why you'd want to rearrange the book to put the expression stuff before the class stuff would be to rectify this, and make the book a good one for non-programmers as well. But that wouldn't be sufficient. You'd also have to add a lot of material explaining basic programming concepts, like what the heck is a "variable", and a "class", what does "assignment" do, etc. That would IMHO both make the book much longer, and dilute the good stuff that's already there. So I vote to keep the structure the way it is. The Pickaxe is currently a very effective book for teaching the Ruby language to experienced programmers, and I don't think this should be fundamentally changed in a new edition of the same book.
on 16.05.2008 16:30
Dave, First let me say "Thank you" for your contributions to Ruby and Rails. We wouldn't be where we are without your work. That said, the biggest problem I had with both of your books was the implied assumption that the reader was coming intact with prior programming skills in PERL, PHP, C++ etc. It is a difficult decision for any teacher to pick a target audience. Do you go for the raw beginner and bore the advanced reader or assume a certain level of skill and overwhelm the pure newbie. This problem is true in any scholastic endeavor. One method for explaining complex subjects is to have an advanced text and a "companion" that explains the fine points. While reading "Pickaxe", I very often found myself confused by the sample code. You would be talking about one subject and give a eight line piece of sample code that used GSUB and regex and several other methods that an experienced programmer would understand, but I didn't. So there I am Googling GSUB and other stuff and it takes me 4 hours to figure out the sample. Having a "Companion" web page with a wiki or blogger style discussion for each page would have been very helpful for me. I think the site would be self sustaining by the community just as this site is. In fact, I guess you could simply start a Google Group for each title/ edition and users could simply create each topic as a page number, like "Page 268" and then readers could go to that discussion and search for it too. Just my 2 cents TW Scannell
on 16.05.2008 17:43
On May 16, 2008, at 9:30 AM, Ruby Freak wrote: > Having a "Companion" web page with a wiki or blogger style discussion > for each page would have been very helpful for me. I think the site > would be self sustaining by the community just as this site is. In > fact, I guess you could simply start a Google Group for each title/ > edition and users could simply create each topic as a page number, > like "Page 268" and then readers could go to that discussion and > search for it too. These are good points. The PickAxe was never intended to teach programming, but it's hard to know just how much to assume. For a companion site: each of our titles has it's own discussion forum, accessible via the book's home page (the link is under the cover picture). That might be a good place to organize that kind of community discussion. Dave
on 16.05.2008 18:34
There is a new book out co-authored by Matz, the man who created Ruby. It's called The Ruby Programming Language, and it is very, very good. It's only a couple months old, but it is the most up to date (1.8 and the not-yet-released 1.9). Because of its age, it's not likely to be recommended by a ton of people here, but it was written to be _THE_ source on the Ruby language. Check it out! -Dana
on 16.05.2008 18:45
On Fri, May 16, 2008 at 12:30 PM, Dana Merrick <dmerrick@ics.com> wrote: > There is a new book out co-authored by Matz, the man who created Ruby. It's > called The Ruby Programming Language, and it is very, very good. > > It's only a couple months old, but it is the most up to date (1.8 and the > not-yet-released 1.9). Because of its age, it's not likely to be recommended > by a ton of people here, but it was written to be _THE_ source on the Ruby > language. > > Check it out! > -Dana It is a very good book, and might serve as an introduction to Ruby for some readers. However, it's really much more of a reference book than a tutorial, and I suspect that for some people it would serve better as a second book on Ruby. -- Rick DeNatale My blog on Ruby http://talklikeaduck.denhaven2.com/
on 16.05.2008 18:51
Hi folks, Thank you all for replying my message. After reading all your advices I decided to take a chance with "Beginning Ruby" by Peter Cooper. One thing I always do before buying any book is reading the book reader's review on Amazon website. In the case of "Beginning Ruby" it is almost an unanimity that it's an excellent book for beginners. Of course I'm not a novice programmer (I'm new only to Ruby) and some parts of the book may not be so useful for me. Nevertheless, it seems the book will give me the background I need to get into the Ruby world. Thank you very much again. Renato
on 24.05.2008 14:51
On Thu, 15 May 2008 18:00:52 -0500, Dave Thomas <dave@pragprog.com> wrote: > I'm working on the third edition, and I keep going back and forth on > the tutorial section. I personally like the quirkiness of doing things > like describing classes before expressions, simply because it gives us > a vocabulary to talk about things. But I know other people feel its > the wrong way around--explanations should build bottom up. > > I've been trying it both ways, and I'm frankly stalled. I'd be > interested to hear opinions. Keep as is (perhaps losing the jukebox, > and adding a chapter on basic OO for people coming from procedural > languages), or reorder it into something more conventional? Sorry to come to this late. I was fine with the OO stuff and I think introducing classes before expressions was a great idea. When I first met ruby the insight that everything (even classes!) was an object and therefore had methods was refreshingly different from other languages I had worked with, so it made sense to introduce ruby by introducing classes. Where I struggled with the Pickaxe book (2nd edition) was when I first encountered blocks and functional programming. This was simply new to me (I had never worked with a functional language before) and I had to read a few sections a few times to understand what was going on. I also had to try things out, which was good. I really like Programming Ruby and used it as a way to learn ruby. It worked well for me then and continues to work well as a reference. I personally believe that there are plenty of introductions to OO methodology (both websites and books) so there shouldn't be too much introductory material of that sort added to a new edition. Oh yes, the other thing I recall finding difficult at first was where the objects and methods defined in irb really belong - it felt like an exception to the "everything is an object" rule because I was working at the top level. Best, Tony
on 25.05.2008 01:34
I recommend the Pickaxe book. I still use it, especially because it has a nice and extended reference section. :-)
on 26.05.2008 01:42
Renato Veneroso wrote: > I'm interested in learning Ruby and would like to know what book you > think I should start with. I would like to also recommend The Ruby Programming Language by David Flanagan and Yukihiro Matsumoto. It is a well written, incredibly detailed discussion of all ascpects of the Ruby Language. In much the same manner as in his book, Javascript: The Definitive Guide, the author has a knack for clearly describing the inner-workings of Ruby.