```
> Fra: Kevin Smith [mailto:kevinbsmith / yahoo.com]

> --- Christopher Sawtell <csawtell / paradise.net.nz> wrote:
> > > The question is: can I pull it off? To see, I wrote the
> > first chapter,
> > > which you can find here:
> > >
> > <http://www.visibleworkings.com/little-ruby/Chapter1.pdf>
>
> I think it's promising. I do think you could pull it off,
> but it's definitely not "there" yet, for me. I haven't read
> the original, so I have no idea how this compares in style.
>
> A few comments, which you can take or leave as you wish:
>
> 1. Pet peeve #1: factorial should not be implemented using
> recursion. It's just a loop. Simpler. Faster. Safer.
>
> # warning: untested code ahead!
> def factorial(n)
>   result = 1
>   n.downto(2) do | value |
>     result *= value
>   end
>   return result
> end
>

Hey! Ruby is proper tail recursive, so since the recursive
factorial is much easier to understand and runs as fast, it
is a nice starting example. It would be cool to get back to it
later to explain tail recursiveness.

> 2. Pet peeve #2: programming books that focus on math. I
> don't mind having factorial in there somewhere, but putting
> numbers first will turn off a lot of non-math folks, I
> think.
>

Math is a nicely simple extrepsion of abstract ideas. Ideally to start off
a book with imho.

> 3. The first function in your book is pretty complex. I
> would tend towards something simpler. In the numbers realm,
> a method that returns n*n, or n*2. In the words realm, a
> method that always returns "Bob" or something, perhaps?
>

Factorial is a excellent starting example, because it computes
something non trivially in a few lines.

> 4. The persona on the right seems more knowlegable than I
> would expect. Describing the factorial function in English
> would be reasonable, for a math-person, I suppose. But a
> non-math person won't be able to relate.
>

The right person does seem to know a little bit to much about programming
ruby for my taste, but it seems reasonable to expect a person
learning ruby to express factorial in text.

> 5. Naming a method factorial2 is confusing. I thought it
> might be factorial 2 aka factorial(2) at first.
>

Me too. This point is very good.

In general I'm pretty pleased with the first chapter. It reminds
me of a Don Knuth book on infinitisimals. (But I suspect he "borrowed" the
style from Sochrates.

/Mikkel
```