On 05.03.2009 16:38, Mike Stephens wrote: > The Wikipedia entry for Ruby says: > > "Ruby supports multiple programming paradigms, including functional, > object oriented, imperative and reflection." > > Is this correct? Yes. Although IMHO reflection is not a programming paradigm but rather a specific language feature. But Wikipedia seems to disagree here. > What features does Ruby have, compared to say Java, > that support the imperative paradigm? Java is imperative as well. "imperative" in this context just means that you explicitly state which operations have to be executed in order. In contrast, "declarative" languages (such as SQL and some functional languages) just define the outcome and the language runtime or compiler is free to deliver specified results in any way it sees appropriate. This is probably best known for SQL, where the RDBMS's optimizer tries to find the best execution plan given the statement and the data accessed. But this also happens in other languages for example Prolog. http://en.wikipedia.org/wiki/Imperative_programming http://en.wikipedia.org/wiki/Declarative_programming Kind regards robert