Karl von Laudermann | 16 May 16:05

Re: PickAxe tutorial (was What is the bes Ruby's book for beginners?)

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?

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.


Gmane