Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Programming Books Media Book Reviews IT Technology

Ruby Developer's Guide 94

Reader Cole Tucker writes with this review: "The Ruby Developer's Guide was written with the intent to provide an overview of Ruby tools used for developing real-world applications. The book touches on a variety of areas, from GUI development to neural networks, and discusses existing Ruby packages that developers can take advantage of. In the end, the book comes out as a Ruby version of the Perl Cookbook." To see what he means by that, read on below for the rest of Cole's assessment of this book.
Ruby Developer's Guide
author Robert Feldt, Lyle Johnson, and Michael Neuman
pages 720
publisher Syngress
rating 7
reviewer Cole Tucker
ISBN 1-928994-64-4
summary Good introduction to Ruby -- an overview as well as a practical cookbook.

The writers of the book are very enthusiastic about both Ruby and the Ruby Application Archive (RAA), Ruby's response to CPAN. Overall, the text does a very good job demonstrating the base knowledge necessary for each of the libraries introduced and so can be quite useful to any developer with an understanding of core Ruby programming.

Directed towards programmers with a working knowledge of Ruby, the text is a quick read even with working through the examples. It effortlessly introduces the basic concepts of each package worked through and then gives locations where more in-depth information can be gathered. If you wish to work through any of the topics covered without digging through documentation just to obtain a basic grasp of the package, then this book is for you.

The book itself is a Syngress publication, and comes with a "1 year upgrade buyer protection plan" which seems to mean they have an errata page for the book and an "Ask the Author" section on the books website, along with a couple of other features mostly involving email. Looking at the errata page, it seems to be useful and up to date. The "Ask the Author" section also seemed to be fairly well-used by prior customers. Syngress seems to be serious about keeping customers up to date about the state of the book and providing services beyond that.

As for the book's problems, none of which are horrible, but do get old after a while: First, the book is big, and not completely because of content. The examples in the book span pages, and the text used in the source is a larger font that in the rest of the text. The examples also are full applications within themselves, instead of being presented in chunks and then having the full source available online. Another annoyance is each time the book mentions installing a package or library it goes through the whole "$./configure.rb; make; make install" process. The book also appears to have some organization issues, with notes for the text in the table of contents, which just served to irritate me. The final negative thing I noticed was that, though the text assumes programming knowledge of Ruby, the first chapter is dedicated to walking the reader through downloading and installing Ruby. The chapter is a big one too. So the book has a couple of hitches, mostly related to layout or mixed expectations towards the ability of the reader.

If you can deal with these small issues and are interested in the material covered, I can definitely recommend the Ruby Developer's Guide. The content is definitely there and they authors know their stuff.

Chapter List:

  1. Booting Ruby Discusses downloading and installing Ruby, IDE and editor support for Ruby and syntax stylings.

  2. GUI Toolkits for Ruby Covers use of Tk, GTK+, FOX and SWin GUI toolkits with a brush through on others available.

  3. Accessing Databases with Ruby Introduces the Ruby/DBI, Ruby/ODBC, Ruby/LDAp and Ruby DBM-file drivers.

  4. XML and Ruby Talks about the use of XML, including a basic introduction to it and then goes into parsing and creating XML using libraries from the RAA.

  5. Web Services and Distributed Ruby Goes into the libraries used for RPC's, SOAP and running distributed services with Ruby.

  6. WWW and Networking with Ruby Implements a server using high-level and low-level Ruby networking classes, then goes into using Ruby for the web, finishing up with a discussion of mod_ruby and eruby.

  7. Miscellaneous Libraries and Tools This chapter finishes the discussion centered around the RAA, going into graphics programming, data structures, genetic algorithms and other topics that didn't fit into a chapter of their own.

  8. Profiling and Performance Tuning Introduces the aspect of analyzing algorithms in Ruby, profiling your programs and discusses the advantages of similar Ruby constructs depending on what your focus is, with the intent of getting lean, mean programs.

  9. Parse Generators Discusses using Ruby instead of Bison or Yacc for creating a parser, and then goes into the advantages of various Ruby libraries to each other.

  10. Extending and Embedding Ruby Covers writing extensions to Ruby in C and C++ and later embedding Ruby into programs.


You can purchase the Ruby Developer's Guide from bn.com. Want to see your own review here? Just read the book review guidelines, then use Slashdot's handy submission form.

This discussion has been archived. No new comments can be posted.

Ruby Developer's Guide

Comments Filter:
  • by keesh ( 202812 ) on Tuesday April 30, 2002 @11:16AM (#3435726) Homepage
    Disclaimer: I do a lot of work with both Perl and Ruby, and I've just finished converting 50,000 lines of hacked Perl into 6000 lines of maintainable Ruby. I'm prejudiced.

    It's not that the language uses shortcuts really. Sure, there's a $_ in there to keep the Perl people happy, but it's not often used. No, the reason Ruby is so fast to code is because the libraries are so good.

    See, Perl has some nice little tricks like map and grep. In Ruby these are methods of the Array class. However, they're implemented in a module. Want to grep a hash? No problem. Want to map (collect) on your own custom build data structure? Just import the module into your class and there you go. One short line of code. That's modularity for you.

    Sure, there are a few problems. The I/O stuff isn't half as modular as it should be, but that will change soon.

    Basically, though, there aren't any of those kludges associated with other languages. Everything is nice, clean, pure, unlike Perl's 'most of the time it does this, except when it does this' attitude. It's that that is the real time saver.
  • by jbgreer ( 4245 ) on Tuesday April 30, 2002 @11:32AM (#3435837) Journal
    I'm using Ruby. [ I like Slashdot, but I'm not sure your message is going to be a useful poll. ]


    WRT to your 'maybe if it had gotten out there before python' comment: explain, then, why it is MORE popular than Python in Japan, in spite of having come out later. I think the acceptance issues have been driven more by the fact that much of the work has been done in Japan (and, hence, much of the documentation is in Japanese).


    /me swivels in chair and looks at shelf behind
    As for 'Like no documention': Like, dude, I've got Like 4 books on the shell behind me about, Like, Ruby.


    As for wrong bindings. You have actually written the authors about these, right? So far I've found Ruby module authors to be just as pleasant and helpful has their Perl and Python counterparts, in spite of my complete lack of Japanese language skills and their oft admitted poor English skills.


    I would argue that Ruby is benefitting from maturing after Python, like all languages should. Matz is learning what to include and what to avoid in his language design.


    Finally... you can't seriously expect us to take the "this software has bugs, so we can't use it" argument, do you? All software has bugs. All languages have warts in their design and bugs in their implementation.

The rule on staying alive as a program manager is to give 'em a number or give 'em a date, but never give 'em both at once.

Working...