On 05.03.2009, at 16:38, Mike Stephens wrote: > "Ruby supports multiple programming paradigms, including functional, > object oriented, imperative and reflection." > > Is this correct? Yes. > What features does Ruby have, compared to say Java, > that support the imperative paradigm? In ruby you can just write a script without class/module definitions like: #! /usr/bin/env ruby def f1 .. end .. def fn .. end statement1 statement2 .. \EOF That's the imperative way. In Java you always have a class definition and a main method which is alled. class Bla { p. s. v. main(...) {..} } Yes you don't have to instantiate a class or define a custom constructor in Java, but that's anyway not another paradigm. For the functional part in Java you can define classes which you use as pseudo function parameters, but that's really not nice to use, because foreach operation you want to p.e. map(), you have to define a whole class in eparate file. regards, Sandor Szs --