Slashdot Mirror


Three Books About the Ruby Programming Language

DJSpray writes "I've written a review of three books about the Ruby programming language, available on my weblog here. The three books are Yukihiro Matsumoto's Ruby in a Nutshell from O'Reilly, Hal Fulton's The Ruby Way (Sams), and Programming Ruby: The Pragmatic Programmer's Guide by Dave Thomas and Andrew Hunt (Addison-Wesley). Note that the third book is available online here for those who prefer that sort of thing. Executive summary: while I have found several of the other O'Reilly Nutshell series books to be excellent, this one is riddled with errors, confusing writing, and omissions, and does not live up to O'Reilly's usual standards. Fulton's book is filled with good cookbook examples and well-written explanatory material, as well as solid tutorial examples, but it is not structured as a reference. The Pragmatic Programmer's book works well as a reference and covers language features in increasing depth, but with fewer examples. Ruby beginners may find that the latter two books actually complement each other nicely, while I can't recommend this edition of the Nutshell book at all."

5 of 45 comments (clear)

  1. Re:What is Ruby? by bwt · · Score: 3, Informative

    Ruby is a competitor to both Python and Perl. In some sense, it is an attempt to combine the best features of each. My belief is that it succeeds well at this goal. It offers an even purer OO approach than python, while offering much of perl's strong syntactic sugar.

  2. Re:Ideal language by bwt · · Score: 4, Interesting

    Many people who might like ruby better are happy enough with perl and python. Perl has a much larger class library because it's the established player. Many people who were dissatisfied with perl's loosy-goosy style and OO approach probably already left and went to python.

    At some point many potential switchers say "OK, maybe ruby is slightly better at this and has this other advantage, but I can live without that slight advantage because I get a bigger community and class library to draw from by staying with [perl|python]"

    Personally, I don't find that argument persuasive because I think it's good to know more langagues and I give my first look to ruby and fall back to python or perl only if I need class libraries that I don't want to write myself.

  3. I own two by Fished · · Score: 3, Interesting
    I own Ruby in a Nutshell and Programming Ruby. For the most part, I agree with his assessment. Ruby in a Nutshell was originally published in Japanese only. My impression is that it was translated by someone with limited experience; everything is syntactically correct, but the writing style is wooden and it's just not a very interesting read.

    However, I think the Practical Programmers' book is much better than you give it credit for. It does a credible job of introducing an experienced programmer to the Ruby Language (although it's really not for those who are not familiar with an Object-Oriented Language). I have found that that is my standard Ruby resource.

    Incidentally, I only picked up Ruby a few months ago, and have found it to be a great language. Unfortunately, some of the support is not yet there. I've ended up doing my latest project in Java because I don't want to lock myself into a language that will not support high-end scalability features.

    --
    "He who would learn astronomy, and other recondite arts, let him go elsewhere. " -- John Calvin, commenting on Genesis 1
  4. Re:What is Ruby? by Dr.+Photo · · Score: 5, Informative

    I'd place ruby somewhere between "a cleaner python" (at least, in terms of design-- ruby learned the lessons of Python for free, that Python had to learn the hard way...) and "a saner Perl"... (of course, Perl's insanity is half the fun!)

    It's got all the LISPy goodness of Python (and supports true closures & continuations, which IIRC are only to be found in experimental implementations of Stackless Python), the regexpy powerfulness of Perl, and the dynamic-OO cleanness of Smalltalk.

    I find it really makes programming fun again, and it's very easy to write extensions for it in C (or C++, if that's your bag, baby)... in fact, using ruby as the "brains" behind a bunch of C modules gives you the silly-fast speed of C, while correcting C's worst deficiencies (you get free GC, safer string handling, namespaces, OO, etc.)

    Ruby's "chock-full of heady goodness", and definitely worth adding to your repertoire.

  5. Ruby Developer's Guide also good by bwt · · Score: 3, Informative


    A 4th book on Ruby that I kind of like is _Ruby Developer's Guide_ by Robert Feldt, Lyle Johnson, Michael Neumann (Editor), Lyle Johnson, Jonothon Ortiz.

    This has a series of chapters on more applied topics that would be good for the Slashdot programmer audience: DBI, XML, SOAP, Performace, Parsers, etc... The book is a little wordy, but the topics covered are very useful and it imparts a lot of useful information for people who don't want to relearn basic syntax.