Groovy and the loosely dynamic world

November 1, 2009

Toying around with Groovy with a hiatus of about 4 months from the initial foray, the feel is good n nice that I have a Java world I can toy around with more comfortably than through Java itself.

The idea of no types to run all your code initially through and then worry about type defining them later, more as a refactoring part. The quick RAD way to a Java Spring Project was really nice. What do I really think about it..from the experience in Smalltalk( majorly), Ruby, Core Java/ JEE…, VC++ and wee bit of C#.Net..

* Great to see a dynamic, loosely typed Java code enabled… too much of a pain writing

HashMap<String, ArrayList> map1 = new HashMap<String, ArrayList>() ;

or the likes..  brevity wins:

def map1=[:]

* The entire lot of wrappers over String, Maps, Reflection, Sql , MarkupBuilder et als..

What is really lacking:

* The IDE support for a full Smalltalk/ Eclipse feature set of watch/ inspect expressions, edit and continue as in Smalltalk living in the world of debuggers

* Extensive support for sender, implementors and references..

Musings :

* Groovy in the client side Browser.. replace java script with Groovy especially with its MarkupBuilder and wrappers for ArrayList, Maps , Strings is just too good a way to get rich internet apps code just that much easier..

* Doubt this is ready though for enterprise dev roll out in the sense the teams with less than capable developers as they abound in the Java world can run amok and cause more pain/grief than gain with loose typing.. unless there are the same rigors of TDD/ BDD etc as in Ruby or python, reinforced dynamic typing can be highly misused

-More on this as I have the time and specifics I can start bringing in..probably the whole spring sample app completely in Groovy..

Grails could be the next target to explore, but not really enthused trying out a copy of Rails… (that is the best in its category..)!

All in all a reaffirmation of nearly everything in Smalltalk is the best way to go …!