I had spent a good deal of time working with Java, and some point around 2007 I became interesting in Ruby, and started
development Rails apps. I really enjoy the dynamic nature of Ruby. However I have come to miss the expressiveness of
static typing. Recently I did a little work on a Grails app and found that Groovy seemed to be doing everything I had
ever wanted. So I put together his language feature fight card below.
As you can see Groovy comes up on top for my favourite language features.
Groovy
Ruby
Java
Classical inheritance
classPerson{}classEngineerextendsPerson{}
classPersonendclassEngineer<Person
classPerson{}classEngineerextendsPerson{}
Interfaces
interfacePerson{voidtalk(name)}classEngineerimplementsPerson{deftalk(words){println(words)}}//implement interface with mapdefperson=[talk:{words->printlnwords}]asPerson