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