Ruby is very similar to "traditional" OO languages such as Smalltalk. C++ and Java are not OO -- they are simply procedural, with a bit of pretty syntax and some renamed concepts ("procedure" =&#62; MARKETING DEPARTMENT =&#62; "method").