Ruby seems to closely match its Wikipedia description: "combines syntax inspired by Perl with Smalltalk-like features". There is however one quite interesting and useful feature in Ruby that I had not seen before. Like Python, Ruby does late-binding of instance variables and does not make you pre-declare them - they come into existence when you use them. Ruby has exploited this capability by making it easy to include methods into a class that are declared externally to the class in "function libraries" called modules. This is actually a wonderful feature, and even better, the Ruby community seems to have realized that in most situations it is much better to include than to subclass, and including modules seems to be pervasive in Ruby code. I think I could learn to like Ruby.