

The Most Unusual (and Best) Computer Language Book I've Ever Seen. - coglethorpe
http://poignantguide.net/ruby/index.html

======
JimmyL
Unusual? Certainly. Best? Not for me.

I had some time this past summer and decided that I wanted to experiment a bit
with Ruby. I tried _Poignant_ three or four times, and each time I would put
it down after half an hour, with the same thought - "Why is this book, widely
regarded as the One True Way to learn Ruby, fucking around so much? I don't
want foxes and cartoons, I want syntax, rules, conventions, and information."

Maybe it's just me, but the way I tend to learn a new language is with a bunch
of docs on one screen, and an IDE/REPL on the other. I read some stuff from
the doc, try it out on the other screen, and move one. After a few units of
time doing that, I'll write up a trivial project to try and make the various
bits I've learned work together. Once that's done, I'll have a sufficient
grasp of the syntax and general themes of the language that I can dig deeper
into various parts of it to learn what I need to keep going.

You know what the "best" language book I've read is? K&R, ore more precisely,
K&R2. It gets to the point, and tells you exactly what you need to know about
what you looked up in very clear and exact language. It doesn't hold your
hand, and it doesn't make you read about foxes.

 _Poignant_ always seemed like it was designed for someone who had no idea
what programming was and wanted to end up being somewhat fluent in Ruby.
That's good and all - there's certainly a market for that - but not what I
look for when I'm in the market for a book on a programming language.

EDIT: Why the downmod - casual use of the f-bomb or contravention of
established orthodoxy?

~~~
jballanc
With all due respect, if you had such trouble with _Poignant_ , the you
probably also would have had a hard time with Ruby. Not to imply that you
couldn't understand Ruby or write in Ruby, but just that Ruby has a very
distinct character, a personality almost, and I suspect you and Ruby would not
have gotten along.

For me, it's that way with Python. Honestly, Python is not fundamentally
different from Ruby except this: In Python, there is "one right way". For some
programmers that's a saving grace, for others it's akin to a death sentence.
To each his/her own...

~~~
tdavis
Claims like this bother me, whether about Ruby or Python. a programming
language is simply that -- a language used to program computers. It doesn't
have a personality. It has a distinct syntax, methods, etc. It is the
community which gives it a personality, if any.

~~~
jballanc
Matz would disagree with you:

 _"I believe people want to express themselves when they program. They don't
want to fight with the language. Programming languages must feel natural to
programmers. I tried to make people enjoy programming and concentrate on the
fun and creative part of programming when they use Ruby."_

[http://www.linuxdevcenter.com/pub/a/linux/2001/11/29/ruby.ht...](http://www.linuxdevcenter.com/pub/a/linux/2001/11/29/ruby.html)

~~~
tdavis
Honestly, I don't even agree with me. That comment came out wrong. What I
meant to say was that I feel it is obtuse to say something like "you will
probably have a hard time with Ruby if you have a hard time with this goofy
book."

------
jackowayed
I love the poignant guide! It (along with Ruby being an awesome language) got
me into Ruby.

It's great because you read it because you enjoy it, and then you happen to
learn Ruby in the process.

It also has some interesting analogies, examples, and ways to remember things.
When talking about how block variables go inside |pipes|, he says:

 _I like to think of the pipe characters as representing a tunnel. They give
the appearance of a chute that the variables are sliding down._

Much better at helping you remember the syntax than "block variables go in a
comma-separated list which is enclosed by pipes" like you'd find in a normal
book.

~~~
brandonkm
Indeed. You get the sense when reading it, that the author was having a blast
writing it, which makes learning Ruby fun. Also, the way its written is almost
like a captivating book, so you can't help but dive further in.

I remember picking up 'The Ruby Programming Language' written by Matz, got to
the 2nd chapter before I hopped online and found the poignant guide. Made for
a much more interesting time learning Ruby.

~~~
jballanc
For what it's worth, _why did the illustrations for Matz's book too...

------
sgharms
I'm a bit surprised this is a top link off of HN, I remember it topping reddit
many years ago – hardly hacker “news.”

As I said about this product then, taking 3 tabs of LSD should not be required
before reading a “how to program in this language“ book. The cartoons are
great, but if they had some bearing on the content e.g.

3.times{ puts 'chunky bacon' }

then I wouldn't feel so much like I was sitting through some performance from
the gifted kid class which is sort of boring and semi-insulting: Why yes,
imagining what it would be like to be a butterfly at Valley Forge is very
creative, but is neither dramatic nor historically enlightening (cf. Beavis
and Butthead watching Beck's “Pay no Mind”).

------
paulgb
If you like this learning style (as I did), and you are interested in haskell,
BONUS' Learn You a Haskell for Great Good is a good intro as well:
<http://learnyouahaskell.com/>

------
unalone
Wow: a lot of people really have some dislike for this book. Not surprising,
since Hacker News emphasizes the code-obsessed mind.

I'm not somebody who lives in the world of programming, and this is the only
guide to coding that I've ever read and learned from. _why phrases things in
ways that make their concepts easy to grasp and he makes for a compelling
read. People who insult that or call it drugged-up miss that he's not writing
a technical guide. He's writing a _poignant_ guide, and that means that the
larger goal is getting people really emotionally invested in the language. You
learn the bare minimum to the language, which is enough so that _then_ you can
go on and find technical manuals, understanding enough to not be instantly
turned away.

I hate tech manuals. I use a few reference books, but I can't pick up a "Guide
To X Language" and get very much from it. A guide that makes coding fun is
exactly what I need.

~~~
bmelton
I recommend why's guide to every non-techie I know who wants to jump into
programming.

I had an HR friend of mine trying to make sense out of some data, and wanted
to contract me to write a really simple script to make some sense out of his
flat file data.

I didn't have time, and since he wasn't an idiot, I figured he could take it
on himself, and gave him a link to the poignant guide, which he claims worked
like a charm.

Now he's making me justify my salary to him.

For people who already know programming concepts, and just need to know syntax
and what's different about Ruby from what they already know, I think the
poignant guide is the long way there.

For this crowd, I understand the bitter reception.

------
leed25d
Frankly, I do not think very highly of _why's writing style. I find the book
to be very difficult to read.

If you want an example of excellent technical writing, consider Paul Graham's
'On Lisp' or 'ANSI Common Lisp'.

~~~
unalone
_why isn't writing a technical book, though. He's writing a fun book that
introduces people to a coding language.

------
siong1987
This is my recommended book for every programmer who wants to start learning
ruby. One of the why's product.

------
arem
I think it's rubbish. Probably just fine for a complete novice into program
design, but utter rubbish to learn anything substantial from.

