Slashdot Mirror


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

14 of 60 comments (clear)

  1. Obligatory by Mizery+De+Aria · · Score: 3, Funny

    Mirror in case the site gets slashdotted

    --
    If you're religishitty, KILL YOURSELF!
  2. There's also a mailing list and a project site... by tcopeland · · Score: 4, Informative

    ...for the code for the book.

    The list archives are here and the project site is here.

  3. I hate to say it, but I like it. by daviddennis · · Score: 3, Interesting

    It's amusing. I laughed several times. It's definitely different. Obnoxious, sometimes, but different in a cool sort of way.

    Ruby seems like Perl, written to be a lot less obscure and much more object-oriented. Cool. And the style reminds me a bit of Mr Bunny's Guide to ActiveX. If you liked his book, you should read that too, whether you're interested in ActiveX or not.

    But the non-existance of Chapter 4, just after the book started to get into the meat of things, was a bit of a non-starter.

    I guess it will be ready for Slashdot in, well, six months.

    Or twelve?

    Or ... ?

    I guess it's up to the LuckyStiff. Maybe he's doing luckier stuff nowadays.

    D

  4. seems like an odd choice by ajagci · · Score: 3, Insightful

    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.

    1. Re:seems like an odd choice by SandSpider · · Score: 4, Interesting

      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.

      The one advantage that Ruby has over Smalltalk and Logo is that it's included with every copy of OS X. So is Perl, but please, please, please nobody teach children to program using Perl. It could doom us all!

      Python is included with OS X as well, so that would be a fine alternative. Me, I like Ruby. Just because.

      =Brian

      --
      There is nothing so good that someone, somewhere, will not hate it.
    2. Re:seems like an odd choice by Anonymous Coward · · Score: 4, Insightful

      Not really, Ruby is a very clear and consistent language, much more so than Perl and Python. Squeak/Smalltalk is okay but I feel Ruby is like "pragmatic smalltalk".

      I think Ruby would be a great teaching language, it's so darn simple, everything is an object, including classes, everything responds to methods, there is no distinction between methods and fields, debuggers and profilers can be written entirely in Ruby itself without external hooks, etc.

      PS: Python was originally a "sysadmin language" for writing scripts clearer than Perl, at least that's what I thought Guido wrote once.

  5. Classic, huh? by snjoseph · · Score: 3, Interesting
    Methinks, perchance, no. Maybe I'm a just curmudgeon (at 23! not bad!), but I do like to think that programming is a serious technical art based in serious science, not the electronic equivalent of making a zine. There's a certain value in acting like what we do is actually a real profession, not something just any teen can accomplish with enough M&Ms, Jolt Cola, and "sassy" instructional cartoons.

    OK, I'm definitely a curmudgeon. Still I think I'm right.

    1. Re:Classic, huh? by ichimunki · · Score: 4, Insightful

      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
  6. Nifty, but... by Jerf · · Score: 4, Insightful

    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.

  7. Re:Bad name by __past__ · · Score: 3, Insightful

    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.

  8. Re:Bad name by Discordantus · · Score: 3, Insightful

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

  9. Ruby needs more than this by Anonymous Coward · · Score: 3, Informative

    Like more robust libraries and some better documentation. I know mr. stiff has contributed to that end and I hope he doesn't waste more of his time on silly story books!

    When I moved from Perl to Python for big projects, it was pretty cool. I could read my code, and it was a lot more consistent because of the built-in object support. Python doesn't exactly register high on the "elegance" meter but it works.

    Then I tried Ruby .. WOW, code just flowed from my fingers and I was constant amazed at how little effort it took to make a well-written program.

    But, Python has all the docs and libs. So at work I use Python. I enjoy the new features that are being bolted on here and there, but it's got all the signs of a language that peaked in popularity before the design was finished.

    So I don't use Ruby for much except code generation and other little tasks. I want to though.. I'm waiting until somebody writes better libs and docs, or at least until I have the time to contribute.

    So please, less pretentious web sites, more English documentation.

    1. Re:Ruby needs more than this by JamesOfTheDesert · · Score: 3, Informative

      Please try here, here, and here. Oh, and here

      --

      Java is the blue pill
      Choose the red pill
  10. Re:I like the style, but not the content by avdi · · Score: 4, Informative

    A variable is a box

    Wrong. In C/C++ a variable is a box. In Ruby (as in Python and many other dynamic languages) a variable has reference symantics, making the "nickname" metaphore reasonably apt.

    --

    --
    CPAN rules. - Guido van Rossum