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
--