Kenneth McDonald wrote:
If you need to do efficient web dev and think Rails is great for that,
if you like Ruby as a language to use, if you don't want to take too
much risk with a language who has a very small community (Groovy vs
Ruby communities). If you want to get rich and save the world from the
bloatware attacks :)
I think the above is, while fairly accurate, a little harsh. Groovy was
designed with Java in mind, and its semantics offer effectively all of
the advantages of Ruby, while integrating with Java much more cleanly.
In addition, Groovy offers optional typing, IMHO a major feature that
all scripting languages should have. (Basically, you can declare a type
on a variable, parameter, etc.; if you do so, those declarations are
checked at runtime.) This is a convenient way of enhancing code
robustness, potentially allows for such things as operator overloading
and more efficient code compilation, and also has significant advantages
in terms of increasing code readability. Groovy has also looked at what
Ruby arguably 'got wrong' and avoided most of those problems (while
introducing a few of its own). So Groovy has strengths.
More simply, Groovy does have strengths, some significant, that JRuby
lacks.
Agreed. And we're working to narrow the gap on those strengths. In
general, we're trying to decide what people want out of JRuby that it
doesn't have today.
Goal #1 was "make it compatible with Ruby 1.8". We've achieved that,
modulo a continuous stream of minor bugs and a few impossible features.
Goal #2 has been "make it faster than Ruby 1.8", and the compiler mostly
does that, modulo a few areas where the Ruby/JVM disconnect add enough
overhead to offset the compiler. But for the most part, we're going to
have great perf numbers for 1.1
So what's Goal #3? I'd argue it's making Ruby a better member of the
Java platform. That's going to mean, for some cases, that you need to do
a little extra work or allow JRuby to turn off some features to allow
Ruby to fit well on the JVM. It may mean programming in a subset of
Ruby, avoiding the pieces that make integration trickier. But it can happen.
- Charlie
---------------------------------------------------------------------
To unsubscribe from this list please visit:
http://xircles.codehaus.org/manage_email