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

60 comments

  1. Don't read this comment! by TwistedGreen · · Score: 2, Funny

    So did anyone actually not read the paragraph titled "But Don't Read This One!"?

    I'm proud to say that I skipped it. :)

  2. hmmm by cjthompson · · Score: 0

    I read the first bit, something about a dog... I think the author is on crack.

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

    Mirror in case the site gets slashdotted

    --
    If you're religishitty, KILL YOURSELF!
  4. Bad name by FedeTXF · · Score: 1

    Decimal numbers are called floats in Ruby.

    Baaaaad name. Decimals are not floats. Floats are binary, decimals are decimals.
    How do you call decimal numbers (full presition) in that lang.? Currency? Digits? Anyone?

    1. Re:Bad name by Discordantus · · Score: 2, Insightful

      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.

    2. Re:Bad name by FedeTXF · · Score: 2, Insightful

      I don't criticize the tutorial. I criticize the language.

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

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

    5. Re:Bad name by Anonymous Coward · · Score: 0

      I imagine they are floats. It's just an expositionary detail. Why is obviously trying to get across to non-programmers by using the word "decimal" to refer to real numbers.

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

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

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

    3. Re:seems like an odd choice by ratboy666 · · Score: 2, Insightful

      Ruby syntax *is* Smalltalk syntax. With some extra bits...

      So, I take it that you really don't know Smalltalk or Ruby?

      | a b c |
      | a, b, c |

      Smalltalk and Ruby for local variables... Etc.

      --
      Just another "Cubible(sic) Joe" 2 17 3061
    4. Re:seems like an odd choice by theaphila · · Score: 1

      regarding: "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!", I would like to say
      That's even funnier than the emails I'm getting from the man who's giving me those creepy "i'm thinking about a man" smiles at work these days.

    5. Re:seems like an odd choice by ajagci · · Score: 1
      I take it you don't know Smalltalk. Compare:
      bag add: item atPosition: 3.
      with
      bag.addAtPosition(item,3)
      The named argument lists and lack of oddball syntactic noise alone make Smalltalk syntax far more readable, for both experienced and novice programmers.

      Ruby likes to pretend it's some kind of Smalltalk successor. It isn't. Ruby is a Perl successor that borrowed a few tidbits from Smalltalk.
    6. Re:seems like an odd choice by RevAaron · · Score: 2, Insightful

      Ruby may claim to be (Perl + Smalltalk) / 2, but the syntax really isn't all that much like Smalltalk. The influence is certainly there, there is no doubt about that... But Ruby syntax is not Smalltalk syntax.

      So, I take it that you really don't know Smalltalk?

      Sure, defining local variables is similar. But there are plenty of other differences. That whole dot-operator is one among many.

      I'm a Smalltalk coder who also knows Ruby. I continue to choose Smalltalk over Ruby for a number of reasons, including the environment/IDE of any Smalltalk (GNU Smalltalk excepted) is better than anything I've found for Ruby so far.

      But then again, to each his own. I'm not dissing Ruby, so don't fllp.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    7. Re:seems like an odd choice by RevAaron · · Score: 2, Interesting

      Ruby likes to pretend it's some kind of Smalltalk successor. It isn't. Ruby is a Perl successor that borrowed a few tidbits from Smalltalk.

      A good observation. Ruby is definately not a Smalltalk successor, although it is a nicer language (on paper->in my head) than Python or Perl is, at least to me. But it has nothing to compell me from switching to it from Smalltalk. And when I want to do a task that Ruby would be a tiny bit better, I just use Perl anyway. More fun, somehow- at least to me. :)

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    8. Re:seems like an odd choice by RevAaron · · Score: 1

      OK, I'll bite- how is Ruby "pragmatic Smalltalk?" What is so much more "pragmatic" about the syntax or usage of Ruby? I'm dying to hear your thoughts.

      Don't get me wrong, Ruby is a nice language... But it really doesn't have anything on Smalltalk. And with Smalltalk being almost 20 years older than Ruby, I'd hope they would do more to it than adding regexps and giving it a slightly more Algolish syntax.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    9. Re:seems like an odd choice by Anonymous Coward · · Score: 0

      The named argument lists and lack of oddball syntactic noise alone make Smalltalk syntax far more readable, for both experienced and novice programmers.

      What, you have a study to back up your claims? Didn't think so - I call bullshit.

      Anyway, stick to the damn topic.

    10. Re:seems like an odd choice by GerritHoll · · Score: 1

      Python was not designed for education: it was based on the educational langauge ABC, and a co-objective was to create a language that was suitable for education. It was/is not its primary goal though, only secondary.

    11. Re:seems like an odd choice by Anonymous Coward · · Score: 0

      Don't get me wrong, Ruby is a nice language... But it really doesn't have anything on Smalltalk. And with Smalltalk being almost 20 years older than Ruby, I'd hope they would do more to it than adding regexps

      Well, regexps go a long ways toward making it more practical.

      SmallTalk doesn't have regexps built-in (I suppose there are libraries available) and that is a hinderance towards using it in many applications.

      (of course C++ doesn't have regexps and that hasn't stopped it, but given the choice I'd much rather use a language that has native support for regexps).

    12. Re:seems like an odd choice by oinkoink · · Score: 1

      > Ruby is a nice language, but I don't think it
      > comes out of an educational background. Its
      > 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).

      I don't know Logo, but I think non-programmers would find Ruby a lot more intuitive than Smalltalk. In Smalltalk, 2 + 3 * 4 is 20. In Ruby, it is 14, just as you'd expect it to be.

      Python is a better choice choice for newbies, and it has some good primers. However, Ruby still has an edge. It has much better booleans. It doesn't care about indentation (the most frustrating thing for a newbie is when a program doesn't work because of something that is *invisible*, like a Python program that misbehaves because it has a tab where the programmer believes it has spaces.)

      Ruby also continues to be natural as you learn more. You don't have to use weird kluges to get class variables. There's no diamond-inheritance headache (Ruby mixins accomplish anything you might want multiple inheritance for, but more cleanly). No doc-string abuse. And Ruby's more flexible syntax increases the likelihood that a newbie's program will actually run, which greatly reduces the newbie's frustration (an especially important issue if the newbie is a kid).

    13. Re:seems like an odd choice by Anonymous Coward · · Score: 0

      ...but it really doesn't have anything on Smalltalk

      Oh? Should we talk about C extensions/interfacing with the OS? No?

    14. Re:seems like an odd choice by Anonymous Coward · · Score: 0

      Do you have a study to back up all the claims made about Ruby? Didn't think so. I call all this Ruby cheering bullshit--there is no reason to believe that Ruby is any better in any way than Python, Perl, or any of the other half-baked scripting languages.

      Smalltalk, at least, has been around for 25 years and proven its worth, both in practical applications and in computer science. Let's see where Ruby is in another 20 years; I suspect it's going to be nowhere.

    15. Re:seems like an odd choice by RevAaron · · Score: 1

      Hrmm, I don't know what Smalltalk you're thinking of, but I can't think of one that doesn't allow C extensions. Squeak Smalltalk does. And unlike Perl, Python and Ruby, Squeak Smalltalk (and other Smalltalks; also many Lisp systems) has an FFI as well as the ability to write C plug-ins.

      What is an FFI? Think of it as a C plug-in but without all the work. In Squeak, the FFI works on pretty much every platform Squeak does- Mac OS 9/X, Unix, Linux, Windows, RISC OS, and others. It allows you to specify the function name, the arguments and types it takes. And then you can call the function. Takes one line of code to declare it. Less work than SWIG, even.

      Syntax looks something like this:

      displayDemoWindow: display
      <apicall 'libgtk.so' DisplayDemoWindow ( int display) >

      So, anything else? I hope it isn't all you've got...

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    16. Re:seems like an odd choice by RevAaron · · Score: 1

      I agree, regexps are a good thing. But as you say, there are libraries; and unlike in more monolithic languages like Ruby, Python and Perl there really isn't a difference between regexs being "builtin" or "just a library" in Smalltalk. It is a straight forward task for even a pretty new Smalltalk programmer to extend or modify syntax. Or, at the very least, the adding of a "~=" operator in Smalltalk is trivial- operators are regular methods. I could change the way that plus (+) worked if I wanted.

      Again, another one for the power of Smalltalk over more inflexible languages.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
    17. Re:seems like an odd choice by Anonymous Coward · · Score: 0

      Actually, you can do something like this with ruby/dl now. However, I'm suspicious of the performance of inlined lib calls like this versus traditional extension mechanisms. I'd love some benchmarks if anyone has any handy.

    18. Re:seems like an odd choice by Anonymous Coward · · Score: 0

      Which claims are you referring to? Stick to the damn question.

      Smalltalk, at least, has been around for 25 years and proven its worth, both in practical applications and in computer science.

      And yet, after all that time, for all its glorious power and great environment, it has remained a bit player if you consider the number of projects in Smalltalk compared to other major languages. You could argue that it's advertising, but I don't think so. I never liked the syntax. 90% of the people I chat with don't like the syntax (while the other 10% love it). Maybe there were open source issues, but whatever. It never really caught on, except among the more academic CS types.

      Ruby has really only caught on in the US in the last 3-4 years. Where will Ruby be in 20 years? Way ahead of Smalltalk I'll wager.

    19. Re:seems like an odd choice by RevAaron · · Score: 1

      I'm glad to see that Ruby has support for something like this now, even though it may be in its early stages. I've not any benchmarks. I've used the FFI for some things, but never for anything really performance intensive- I've used it to get information from Windows or Mac OS, for me largely to control the environment, using Squeak as a desktop, and getting a list of the apps/windows to switch to, etc.

      --

      Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
  8. 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
    2. Re:Classic, huh? by snjoseph · · Score: 1

      OK, I should have included this the first time, but I only just had time to go find it. It's Edsger Dijkstra's hilarious satire "User-Friendly Mathematics" (links to PDF).

    3. Re:Classic, huh? by Anonymous Coward · · Score: 0

      Lighten up Francis.

    4. Re:Classic, huh? by kwoff · · Score: 2, Interesting

      That's what I was thinking, too. When I think of classic, I think of Stevens books or the perl Camel book, for example, not something analogous to somethingawful.com (though I guess somethingawful is classic in it's own category of web site).

    5. Re:Classic, huh? by evil+jesse · · Score: 1

      Programming is a serious technical "art", when you approach it that way. The author doesn't in the context of this book. I usually don't. Not everyone needs to all of the time. Also, the book isn't finished. It was announced on the ruby newsgroup, but i don't think its far enough along to have been announced on slashdot. I don't see how anyone can seriously criticise an unfinished book. But its nice to see that someone thought enough of it to /. it in the first place. I think its a good start, ruby needs this kind of thing. Wether curmudgeons, and people who frequent slashdot do or not, is a completely different story :P. They tend to camp on the outskirts of things that look like language advocacy, for obvious understandable reasons. I think the important thing though, is the initiative, and enthusiasm, which will undoubtedly be passed on to the readers. Which seems to be the authors direction.

    6. Re:Classic, huh? by snjoseph · · Score: 1
      I don't see how anyone can seriously criticise an unfinished book.
      Well, I honestly didn't think the parts of it I read were very good. Also I think that if you announce something publicly, you open it to criticism; if it's not in a state where you want criticism, don't publish it (I say this having done some amount of public writing and speaking). I found the prose long-winded, the presentation not amenable to experimentation or reference, the "pure fun" material purely distracting, and the self-aware style pretty irritating. I don't really know anything about Ruby and have nothing against it--seems like a fine language, but this book didn't encourage me to check it out.

      Also, as an experiment, I asked a friend of mine to take a look at the book. She's a liberal arts person, but did some programming at school and knows the basics. Obviously she didn't have the same sort of cranky attitude I did, but her criticism was essentially similar.

    7. Re:Classic, huh? by Anonymous Coward · · Score: 0

      Ahh, so one Boston twit drops the same H-bomb as the other. Yawn.

      And yes, as a self-admitted 23-year-old (meaning that you thought enough of your age to bring it into the post), you ARE a bit too young to be fulsome enough to use the term 'curmudgeon'.

      Life is joy. Conspicuously referencing (brackets []) a learning institution deep in a thread in a vain effort to lend credence to an otherwise opioniated statement (ooiee look, someone else from college thinks like I do) that is already narcissistic anyway (curmudgeon?! 23? have you even programmed in more than three types of program languages yet?) is, well, juvenile?

    8. Re:Classic, huh? by snjoseph · · Score: 1
      Conspicuously referencing (brackets []) a learning institution deep in a thread in a vain effort to lend credence...
      Hey sharpknife, Slashdot automatically inserts the domain of any URL to which one links. My friend's blog is hosted by Havard, her employer.
      to an otherwise opioniated statement...
      I make no attempt to hide the opinionated nature of my opinions. (I have assumed here that you misspelled "opinionated," although perhaps I lack the life experience to know as many words as you do.)
      have you even programmed in more than three types of program languages yet?
      For the record, yes.
  9. 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.

  10. gaaaah! by Jim+Morash · · Score: 2, Insightful

    So painfully self-aware, cutesy, and po-mo-ironic that I think it gave me a stomachache.

    Otherwise, it's pretty good.

  11. Architecture of Hofstadter ? by leoaugust · · Score: 2, Funny

    While reading the text "i" was reminded of "Godel, Escher, Bach" by Douglas Hofstadter. Of course, this text was more "Poignant."

    "I" think.the difference was that Hofstadter wanted to talk to "computers" as if they were "old_wizened_demigods," :while

    here "Why_The_Lucky_Stiff" wants to talk to the "computer" as if it were an "Enraptured_Infant" called "Ruby."

    and "I" mean it in a good way.

    .

    --
    To see a world in a grain of sand, and then to step back and see the beach where the sand lies ...
    1. Re:Architecture of Hofstadter ? by Anonymous Coward · · Score: 0

      Was the lead you ingested as a child just in the water or did you just keep eating paint chips?

  12. How right you are by GCP · · Score: 1, Informative

    Most serious programmers have tons of studying to do. So many tools and interacting technologies that change so rapidly....

    A "classic", to me, is a book that puts the maximum amount of useful and usable knowledge in my head with the least amount of effort. This doesn't necessarily mean the shortest book. A "terse" book can take more time and effort to read than a longer book with better explanations.

    But a book like this, with such a low useful_stuff/useless_fluff ratio, is not my idea of a classic.

    --
    "Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
  13. Mr. Bunny by jtheory · · Score: 2, Interesting

    There was Mr. Bunny's Big Cup 'O Java, too, which I ran across when a guy I worked with got a pre-publication review copy.

    It was... entertaining, from what I recall, but I wouldn't recommend it for learning Java (well, it's out of date now anyway). But the main problem was that the book often sacrificed precision and accuracy for humor, and would have led to some strange misconceptions about Java, for a beginner reading it.

    This book looks interesting, though I only skimmed the beginning (gotta get back to work) -- I'd be interested to hear a review from someone who really knows Ruby. Would it really be useful for someone learning the language, or is it better for getting people interested (...and convincing them to find a book with a more direct approach to actually learn the practical stuff)?

    Here's the Mr. Bunny home page, anyway.

    --
    There are only 10 types of people: those who understand decimal, those who don't, and, uh, 8 other types I forget.
  14. A fun read by Minam · · Score: 2, Interesting

    I'm already proficient in Ruby, and therefore learned nothing new from the Poignant Guide, but it was an amusing read nonetheless. I greatly enjoyed it, and have already recommended it to my coworkers and my wife. Even if you don't like Ruby, the available chapters are worth reading. I'm looking forward to the completion of the remainder of the book.

  15. 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
    2. Re:Ruby needs more than this by axxackall · · Score: 1
      Most of scripting OOP languages are the red-pill after Java. Python is just one of them to mention. There is a way of OOP in Perl and Tcl too.

      And not only OOP (OOP is not a universal need for programming and often OOP woks bad to reflect requirements), don't forget FP. In that case I would immidiately mention Lisp, Scheme, Erlang, Mozart, ML and Haskell. But if you insist on sticking to OOP forever, than it just reduces the list of FP languages to MOP/Lisp, Mozart, OCAML and OHaskell.

      Any way, the list of red-pills is going far beyond Ruby as a single choice.

      --

      Less is more !
  16. I like the style, but not the content by judd · · Score: 0

    This is amusing, but it could be more accurate, and better for the complete novice it's apparently aimed at.

    Eg: "a variable is like a nickname". Meh. A variable is a box. The name of the variable is the label on the box. The value of the variable is the contents of the box.

    Or again: the author says words starting with a colon are "lightweight strings". And then fails to say what a string is, or how much it weighs. I bet your average punter believes a string is a length of twisted fibre.

    Having said that, if the author could keep on track with the intended audience, I would try this out on my daughter (aged 8).

    1. 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
  17. should have used the preview button by theaphila · · Score: 0, Redundant

    regarding: "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!", I would like to say
    That's even funnier than the emails I'm getting from the man who's causing me to smile those creepy "i'm thinking about a man" smiles at work these days.

  18. You can read this one: by tunah · · Score: 2, Funny
    Here's a mirror for obedient /.ers:
    So did anyone actually not read the paragraph titled "But Don't Read This One!"? I'm proud to say that I skipped it. :)
    --
    Free Java games for your phone: Tontie, Sokoban
  19. This crack you speak off.... by Anonymous Coward · · Score: 0

    This mystical foutain of libraries. It's called CPAN.

  20. Two Words. by ThetaPi · · Score: 2, Insightful

    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!"
  21. Recommendation: do not skip ahead for 'the meat' by dankelley · · Score: 2, Insightful

    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.