Version 32 of Ruby

Updated 2008-01-16 11:15:27 by dkf

From the FAQ[L1 ]:

“Ruby is a simple and powerful object-oriented programming language, created by Yukihiro Matsumoto (who goes by the handle "matz" in this document and on the mailing lists).

“Like Perl, Ruby is good at text processing. Like Smalltalk, everything in Ruby is an object, and Ruby has blocks, iterators, meta-classes and other good stuff.

“You can use Ruby to write servers, experiment with prototypes, and for everyday programming tasks. As a fully-integrated object-oriented language, Ruby scales well.”

RLH Scales well? In what way?

The home page for Ruby is http://www.ruby-lang.org/ .

Its most articulate advocates write such descriptions as, "... it has a couple of real killer features; in particular the way blocks and the pervasive use of the visitor pattern come together change the way one writes programs for the better."

A lot of the attention Ruby has gotten lately is due to Ruby on Rails: http://www.rubyonrails.org/ .

During Oct 2007, http://www.sitepoint.com/books/rails1/ was making "Build Your Own Ruby on Rails Web Applications" available in PDF format for free...

This author summaries Rail's guiding principles as:

  • convention over configuration (assumptions for defaults rather than requiring extensive initial configuration)
  • DRY
  • agile development

There is a Ruby/Tk if you want to bring your Tk skills into a new world:

  require 'tk'
  root = TkRoot.new() { title "Hello, world!" }
  Tk.mainloop()

(from http://httpd.chello.nl/k.vangelder/ruby/learntk/ ) More on Ruby/Tk (for MacOS!) appears in the "Ruby/Tk Primer: Creating a cron GUI Interface with Ruby/Tk" [L2 ].


 What: Ruby
 Where: http://www.ruby-lang.org/ 
        http://www.rubycentral.com/book/ext_tk.html 
        http://poignantguide.net/ruby/
 Description: Programming language for quick and easy programming.
        A clean, consistent language design where everything is an object,
        CLU style iterators, singleton classes/methods, and
        lexical closures.  Makes use of Tk (with bindings similar in
        concept to Perl/Tk) for its GUI support.
        Currently at version 1.8.4 .
 Updated: 08/2003
 Contact: mailto:[email protected] 

See http://www.rubycentral.com/book/ext_tk.html for more information. This [L3 ] review of Ruby Cookbook tries to give a sense for how Ruby feels.


RS: Like Scheme, Ruby has arbitrary-size integers as default - another hint that Tcl should have it too... Octet-packed integers come to mind..

AK: I consider the Octet-packed integers more something of a file-format, and less of an in-memory format. Note aside: In Slim Binaries I refer to the paper about Universal Symbol Files. This paper advances the notion of octet-packed integers to, albeit slightly differently than metakit if I read the code right. - RS: Well, a very simple alternative would be to just keep the string rep and let expr work on that if it runs into a "integer value too large to represent".


See http://www.approximity.com/ruby/Comparison_rb_st_m_java.html for one comparison of Ruby to C++, CLOS, Dylan, Java, Objective C, Perl, PHP, Python, Smalltalk,


Ruby vs Tcl:

http://journal.dedasys.com/articles/2006/03/06/ruby-vs-tcl


Category Language