# What is the bes Ruby's book for beginners?

**URL:** <https://rubytalk.org/t/what-is-the-bes-rubys-book-for-beginners/46531>\
**Category:** ruby-talk\
**Created:** [15 May 2008 16:24 UTC](https://rubytalk.org/t/what-is-the-bes-rubys-book-for-beginners/46531 "2008-05-15T16:24:38Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Renato\_Veneroso](https://avatars.discourse-cdn.com/v4/letter/r/8e8cbc/32.png) [@Renato\_Veneroso](https://rubytalk.org/u/Renato_Veneroso)\
**Post date:** [15 May 2008 16:24 UTC](https://rubytalk.org/t/what-is-the-bes-rubys-book-for-beginners/46531/1 "2008-05-15T16:24:38Z")

</div>

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.

> **···**
>
> --  
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

---

<div class="post-metadata">

**Author:** ![Phil](https://avatars.discourse-cdn.com/v4/letter/p/e95f7d/32.png) [@Phil](https://rubytalk.org/u/Phil)\
**Post date:** [15 May 2008 16:33 UTC](https://rubytalk.org/t/what-is-the-bes-rubys-book-for-beginners/46531/2 "2008-05-15T16:33:56Z")

</div>

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: [Programming Ruby: The Pragmatic Programmer's Guide](http://www.ruby-doc.org/docs/ProgrammingRuby/)  
Huw Collingbourne: [http://www.sapphiresteel.com/The-Book-Of-Ruby](http://www.sapphiresteel.com/The-Book-Of-Ruby)

- --  
Phillip Gawlowski  
Twitter: twitter.com/cynicalryan  
Blog: [http://justarubyist.blogspot.com](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.

---

<div class="post-metadata">

**Author:** ![7stud](https://avatars.discourse-cdn.com/v4/letter/7/57b2e6/32.png) [@7stud](https://rubytalk.org/u/7stud)\
**Post date:** [15 May 2008 16:35 UTC](https://rubytalk.org/t/what-is-the-bes-rubys-book-for-beginners/46531/3 "2008-05-15T16:35:00Z")

</div>

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)".

> **···**
>
> --  
> Posted via [http://www.ruby-forum.com/\](http://www.ruby-forum.com/%5C).

---

<div class="post-metadata">

**Author:** ![Tim\_Hunter1](https://avatars.discourse-cdn.com/v4/letter/t/3ec8ea/32.png) [@Tim\_Hunter1](https://rubytalk.org/u/Tim_Hunter1)\
**Post date:** [15 May 2008 17:00 UTC](https://rubytalk.org/t/what-is-the-bes-rubys-book-for-beginners/46531/4 "2008-05-15T17:00:24Z")

</div>

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.

> **···**
>
> --  
> Posted via [http://www.ruby-forum.com/\](http://www.ruby-forum.com/%5C).

---

<div class="post-metadata">

**Author:** ![Guest15](https://avatars.discourse-cdn.com/v4/letter/g/6de8d8/32.png) [@Guest15](https://rubytalk.org/u/Guest15)\
**Post date:** [15 May 2008 19:11 UTC](https://rubytalk.org/t/what-is-the-bes-rubys-book-for-beginners/46531/5 "2008-05-15T19:11:27Z")

</div>

I'm a fan of Peter Cooper's Beginning Ruby.

> **[Reviewing Beginning Ruby](http://on-ruby.blogspot.com/2007/04/reviewing-beginning-ruby.html)**
>
> I’ve been reading Beginning Ruby by Peter Cooper . I’m really impressed. The forward (a comic by why the lucky stiff ...

> **···**
>
> On Thu, May 15, 2008 at 10:24 AM, Renato Veneroso \<rveneroso@gmail.com\> 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.  
> > --  
> > Posted via [http://www.ruby-forum.com/\](http://www.ruby-forum.com/%5C).
> 
> --  
> thanks,  
> -pate  
> -------------------------  
> Duty makes us do things, Love make us do things well.  
> [http://on-ruby.blogspot.com](http://on-ruby.blogspot.com) [http://on-erlang.blogspot.com](http://on-erlang.blogspot.com)  
> [http://on-soccer.blogspot.com](http://on-soccer.blogspot.com)

---

<div class="post-metadata">

**Author:** ![Dana\_Merrick1](https://avatars.discourse-cdn.com/v4/letter/d/e9a140/32.png) [@Dana\_Merrick1](https://rubytalk.org/u/Dana_Merrick1)\
**Post date:** [16 May 2008 16:30 UTC](https://rubytalk.org/t/what-is-the-bes-rubys-book-for-beginners/46531/6 "2008-05-16T16:30:21Z")

</div>

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

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.
> 
> --  
> Dana Merrick - System Administrator  
> Integrated Computer Solutions, Inc.  
> 54B Middlesex Tpke, Bedford, MA 01730  
> 617.621.0060 x112 - [http://www.ics.com](http://www.ics.com)

---

<div class="post-metadata">

**Author:** ![Markus\_Arike1](https://avatars.discourse-cdn.com/v4/letter/m/ac91a4/32.png) [@Markus\_Arike1](https://rubytalk.org/u/Markus_Arike1)\
**Post date:** [25 May 2008 23:41 UTC](https://rubytalk.org/t/what-is-the-bes-rubys-book-for-beginners/46531/7 "2008-05-25T23:41:50Z")

</div>

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.

> **···**
>
> --  
> Posted via [http://www.ruby-forum.com/\](http://www.ruby-forum.com/%5C).

---

<div class="post-metadata">

**Author:** ![Victor\_Reyes](https://avatars.discourse-cdn.com/v4/letter/v/ed655f/32.png) [@Victor\_Reyes](https://rubytalk.org/u/Victor_Reyes)\
**Post date:** [15 May 2008 16:57 UTC](https://rubytalk.org/t/what-is-the-bes-rubys-book-for-beginners/46531/8 "2008-05-15T16:57:26Z")

</div>

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 \< cmdjackryan@googlemail.com\> wrote:
> 
> > -----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: [Programming Ruby: The Pragmatic Programmer's Guide](http://www.ruby-doc.org/docs/ProgrammingRuby/)  
> > Huw Collingbourne: [http://www.sapphiresteel.com/The-Book-Of-Ruby](http://www.sapphiresteel.com/The-Book-Of-Ruby)
> > 
> > - --  
> > Phillip Gawlowski  
> > Twitter: twitter.com/cynicalryan  
> > Blog: [http://justarubyist.blogspot.com](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](http://enigmail.mozdev.org)
> > 
> > iEYEARECAAYFAkgsZfoACgkQbtAgaoJTgL/taACdHX30KepvrIZp3w2wW/2knI9g  
> > UBcAn3WmvPtLVCPf37BMn68j9q6NTTaN  
> > =lG0n  
> > -----END PGP SIGNATURE-----

---

<div class="post-metadata">

**Author:** ![DJ\_Jazzy\_Linefeed](https://avatars.discourse-cdn.com/v4/letter/d/dec6dc/32.png) [@DJ\_Jazzy\_Linefeed](https://rubytalk.org/u/DJ_Jazzy_Linefeed)\
**Post date:** [15 May 2008 18:40 UTC](https://rubytalk.org/t/what-is-the-bes-rubys-book-for-beginners/46531/9 "2008-05-15T18:40:03Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Lee\_Jarvis3](https://avatars.discourse-cdn.com/v4/letter/l/7ea924/32.png) [@Lee\_Jarvis3](https://rubytalk.org/u/Lee_Jarvis3)\
**Post date:** [15 May 2008 21:10 UTC](https://rubytalk.org/t/what-is-the-bes-rubys-book-for-beginners/46531/10 "2008-05-15T21:10:06Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Rick\_DeNatale1](https://avatars.discourse-cdn.com/v4/letter/r/bbce88/32.png) [@Rick\_DeNatale1](https://rubytalk.org/u/Rick_DeNatale1)\
**Post date:** [16 May 2008 16:45 UTC](https://rubytalk.org/t/what-is-the-bes-rubys-book-for-beginners/46531/11 "2008-05-16T16:45:03Z")

</div>

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.

> **···**
>
> 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
> 
> --  
> Rick DeNatale
> 
> My blog on Ruby  
> [http://talklikeaduck.denhaven2.com/](http://talklikeaduck.denhaven2.com/)

---

<div class="post-metadata">

**Author:** ![Renato\_Veneroso](https://avatars.discourse-cdn.com/v4/letter/r/8e8cbc/32.png) [@Renato\_Veneroso](https://rubytalk.org/u/Renato_Veneroso)\
**Post date:** [16 May 2008 16:51 UTC](https://rubytalk.org/t/what-is-the-bes-rubys-book-for-beginners/46531/12 "2008-05-16T16:51:04Z")

</div>

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

> **···**
>
> --  
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

---

<div class="post-metadata">

**Author:** ![Rick\_DeNatale1](https://avatars.discourse-cdn.com/v4/letter/r/bbce88/32.png) [@Rick\_DeNatale1](https://rubytalk.org/u/Rick_DeNatale1)\
**Post date:** [15 May 2008 21:52 UTC](https://rubytalk.org/t/what-is-the-bes-rubys-book-for-beginners/46531/13 "2008-05-15T21:52:00Z")

</div>

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.

> **···**
>
> 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.
> 
> --  
> Rick DeNatale
> 
> My blog on Ruby  
> [http://talklikeaduck.denhaven2.com/](http://talklikeaduck.denhaven2.com/)

---

<div class="post-metadata">

**Author:** ![Dave\_Mail\_Archive](https://avatars.discourse-cdn.com/v4/letter/d/f04885/32.png) [@Dave\_Mail\_Archive](https://rubytalk.org/u/Dave_Mail_Archive)\
**Post date:** [15 May 2008 23:00 UTC](https://rubytalk.org/t/what-is-the-bes-rubys-book-for-beginners/46531/14 "2008-05-15T23:00:52Z")

</div>

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 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.

---

<div class="post-metadata">

**Author:** ![Alec\_Ross](https://avatars.discourse-cdn.com/v4/letter/a/e56c9b/32.png) [@Alec\_Ross](https://rubytalk.org/u/Alec_Ross)\
**Post date:** [16 May 2008 00:05 UTC](https://rubytalk.org/t/what-is-the-bes-rubys-book-for-beginners/46531/15 "2008-05-16T00:05:03Z")

</div>

...

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

> **···**
>
> In message \<7DB48A4C-7FBB-45EC-A701-15F58EA85895@pragprog.com\>, Dave Thomas \<dave@pragprog.com\> writes
> 
> > 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
> 
> --  
> Alec Ross

---

<div class="post-metadata">

**Author:** ![Karl\_von\_Laudermann](https://avatars.discourse-cdn.com/v4/letter/k/e79b87/32.png) [@Karl\_von\_Laudermann](https://rubytalk.org/u/Karl_von_Laudermann)\
**Post date:** [16 May 2008 14:05 UTC](https://rubytalk.org/t/what-is-the-bes-rubys-book-for-beginners/46531/16 "2008-05-16T14:05:01Z")

</div>

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 May 15, 7:00 pm, Dave Thomas \<d...@pragprog.com\> wrote:
> 
> > 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?

---

<div class="post-metadata">

**Author:** ![Tony\_Mc](https://avatars.discourse-cdn.com/v4/letter/t/c5a1d2/32.png) [@Tony\_Mc](https://rubytalk.org/u/Tony_Mc)\
**Post date:** [24 May 2008 12:49 UTC](https://rubytalk.org/t/what-is-the-bes-rubys-book-for-beginners/46531/17 "2008-05-24T12:49:49Z")

</div>

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 Thu, 15 May 2008 18:00:52 -0500, Dave Thomas \<dave@pragprog.com\> wrote:
> 
> > 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?

---

<div class="post-metadata">

**Author:** ![Ruby\_Freak1](https://avatars.discourse-cdn.com/v4/letter/r/9de053/32.png) [@Ruby\_Freak1](https://rubytalk.org/u/Ruby_Freak1)\
**Post date:** [16 May 2008 14:30 UTC](https://rubytalk.org/t/what-is-the-bes-rubys-book-for-beginners/46531/18 "2008-05-16T14:30:03Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Marc\_Heiler](https://avatars.discourse-cdn.com/v4/letter/m/e8c25b/32.png) [@Marc\_Heiler](https://rubytalk.org/u/Marc_Heiler)\
**Post date:** [24 May 2008 23:34 UTC](https://rubytalk.org/t/what-is-the-bes-rubys-book-for-beginners/46531/19 "2008-05-24T23:34:30Z")

</div>

I recommend the Pickaxe book.

I still use it, especially because it has a nice and extended reference  
section. 🙂

> **···**
>
> --  
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

---

<div class="post-metadata">

**Author:** ![Dave\_Mail\_Archive](https://avatars.discourse-cdn.com/v4/letter/d/f04885/32.png) [@Dave\_Mail\_Archive](https://rubytalk.org/u/Dave_Mail_Archive)\
**Post date:** [16 May 2008 15:43 UTC](https://rubytalk.org/t/what-is-the-bes-rubys-book-for-beginners/46531/20 "2008-05-16T15:43:21Z")

</div>

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 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.
