Why's (Poignant) Guide to Ruby
Colonel Panic writes "Why the lucky stiff has written one of the most unusual (and poignant) books about programming that I've ever encountered. The best description for it so far (seen on comp.lang.ruby) is that it's sort of like 'The Little Prince meets SICP'. However, it defies all attempts at description (at least in this small space), you've got to read it for yourself. Like SICP, the full text is available for free. This one is destined to become a classic - it will likely be known to future generations of jobless American computer scientists as 'The Fox Book.'"
For instructional purposes, I imagine it is much easier on the student to speak of decimal numbers than to launch into an explanation of binary, much less the true nature of floats. I can grok it, and you (presumably) can grok it, but that's due to long-term exposure. This is obviously aimed at being a lightweight text, not one that gets into the mucky internals. there are plenty of those around, but this is the first programming tutorial that I would feel comfortable giving to someone who is just interested in learning to program as a novice.
Children could be taught to program early in their school years.
Yes, and that's what we have languages like Logo for. Or, if you want something readable and more adult, Smalltalk (and the Squeak.org environment). Python, of course, originally also was designed for education.
Ruby is a nice language, but I don't think it comes out of an educational background. It syntax is cleaner than Perl's but doesn't seem like it would be all that intuitive to non-computer users either (both Smalltalk and Logo seem better in that regard).
Altogether, Ruby just seems like an odd choice when it comes to really caring about teaching people to program. Not a bad choice, but not clearly better than the more obvious choices either.
Nifty, but this is about three chapters too premature to be posting it on Slashdot.
Seriously, the author is biting a LOT off and while one chapter is a good start, it remains to be seen whether the author is biting off more then they can chew.
Truthfully, many programming languages are easy but even in this introduction there are signs that this isn't going to go down as well as the author would like, like the "symbols" discussion which I understood perfectly but is likely to make, say, my zoology-trained wife go "huh? so what are they good for? why not just use strings?"
You can also over-simplify Perl or Python this way too but when you start discussing @ISA or __metaclass__es, you're in trouble, and there is often just no way around those things, esp. if you're trying to read the code of others.
I am hopeful this will turn out well; it looks like a lot of fun and is full-unto-overflowing with personality, which can certainly reach out to a new audience. But it is also extremely ambitious and will be time consuming, so I must confess to a little bit of pessimism that that quality of output can be sustained all the way to the end of the book.
Oh, and entirely seperately, comparing a single chapter of an otherwise-unfinished book to the SICP disrespects the SICP. You do neither work a favor by comparing the two.
I don't criticize the tutorial. I criticize the language.
So painfully self-aware, cutesy, and po-mo-ironic that I think it gave me a stomachache.
Otherwise, it's pretty good.
C and derived languages have a datatype called "integer" which is actually just a small subset of integral numbers, as well as a datatype called "char" which doesn't hold characters at all, but is a subset of "integers". This doesn't seem to have stopped their adoption, even if it contributes to the aquired stupidity common amongst their users.
Programming can be fun again. Film at 11.
I'm not sure I follow... a glance at ruby's docs implies that it uses good 'ol IEEE 754 standard floating point numbers, and it calls them... "Float"s. Another look shows that the "BigDecimal" library /module/thingy actually uses decimal arithmetic. So I'm uncertain what you are criticizing...
Yukihiro Matsumoto (the creator of Ruby) has frequently and often stated that one of the reasons to program in Ruby is that it is fun. And I quote: "Fun is the most important thing in the world... Ruby makes programming fun."
This book could fit perfectly into that when it is done. Therefore I think I'll reserve judgement until later. Especially since Why's web site is the only geek site I've ever recommended to my non-geek friends just because it's so amusing and fun to read.
I do not have a signature
Chunky.
Bacon.
I like the comics, they are sometimes funny and make concepts easy to remember. They may be silly, but people will remember them because of that. Hopefully, they will remember the concepts too.
"When God kisses Satan and the Incarnations applaud." "Death is dead. Long live Death!"
Normally, very little is lost by skipping ahead in a technical book. You're in a rush, and you just want to know how the new language maps into other languages you know. It is probably a mistake to read in this skip-ahead way, but in many cases the writing is so unengaging that we cannot stomach reading it all.
Well, the defining characteristic of this "book" is that some readers will find it enormously engaging, so much so that they will read all the words, starting at the start. This is quite an accomplishment for the writer, and it might be very beneficial for readers who enjoy the style, since Ruby is probably not best learned by analogy to the other popular languages.
The book is aimed at newbies, but experts might also find it amusing or perhaps even insightful.