Jim Weirich wrote:
> We will be introducing Ruby to our XP Users group in Cincinnati next week.
>  I thought it would be fun to create a list of "Ten Things Every Java
> Programmer Should Know About Ruby" to help the transition.  I've got a
> number of things in my head, but would love to hear ideas from the mailing
> list.
> 
> So go ahead and submit your ideas.  What things should a Java programmer
> be aware of when starting out in Ruby?
> 

One of my favorite features in Ruby is the fact that the object 
definition never closes. You can always add new methods, change methods 
and delete existing methods on an object at runtime even if that object 
is implement in C or is one of the core objects of the system.

The Ruby Facets library 
(http://calibre.rubyforge.org/facets/doc/index.html) is a great example 
of doing this and anybody that has done even a minor project usually has 
augmented one of the core objects a little to make it fit in their 
application domain better.  And since you are simply modifying a 
existing class and not creating a new (or subclassing a existing class) 
all your literals work still. So when you do:

foo = "A string of text"
foo.my_special_function

It just works. Just my 2 cents.

Eric