Re: Groovy?

Owen Densmore <[email protected]>
Newsgroups gmane.comp.java.beanshell.user,gmane.comp.java.beanshell.devel
Message-ID <[email protected]>
On Jan 30, 2004, at 12:25 PM, Ian Clarke wrote:

Pat wrote:
> Just curious if anyone is familiar with Groovy, the Java based 
> scripting language.
> I'm wondering how it compares to BeanShell...  good and bad, what can 
> we learn
> from it, etc.

I wrote an O'Reilly blog that had some responses including other java 
scripting languages (the blog included Bsh and PNuts).  One responder 
mentioned Groovy.
	http://www.oreillynet.com/pub/wlg/4188

I know when I think about java scripting, my main interest is "java for 
the rest of us".  Java is running into a crisis: it is too hard for 
non-systems programmers to learn.  By systems programmers, I mean 
fairly sophisticated folks working at a fairly detailed level of 
programming.  Sun is concerned, because most IT houses do not want that 
level of sophistication.  Instead they want a "shell" for access to 
prebuilt Java components.  Mark Hapner, a "father of J2EE" mentioned 
once that they want systems where the programmer adds ten lines of code 
to a system to get the result needed.

So the scripting language needs to be java friendly, but much, much 
less verbose.  The foreach construct is one example, loose typing 
another, closures or code blocks or proceedures as first class objects 
is a third.  And the "illusion of interpretation" is a must.  PNuts, 
for example, does "compile as you go", thus providing interesting 
performance advantages.

All of these systems make design decisions that may turn users away.  
PNuts, for example, has no primitive types: all ints are "wrapped" by 
the Integer class, and so on for all numeric types.  This reduces PNuts 
speed in some instances, but then the automatic type changing when 
needed, moving up to BigInts etc is quite nice.

I'd love to see a conference of these languages to see how they could 
synergize and benefit from each other's work and insights.  Some have 
constraints that cannot be broken: Jython is Python for example.  
Others are wide open, simply trying to be as effective as possible to 
their (changing) goal set.

I'll end with one example.  In the scientific community, Java is just 
to damn hard for your basic researcher to understand.  There are two 
really nice java based modeling systems, RePast and NetLogo.  RePast 
exposes all of java to the modeler, while NetLogo is in a logo version, 
very simple and approachable.
	http://complexityworkshop.com/tutorial/
The RePast community would love to have more modelers be able to use it 
but java is a fundamental barrier.  They are considering alternatives 
for the modeler which include Jython and other java shells. In the mean 
time, NetLogo is developing an absolutely stunning community, growing 
in leaps and bounds, and now many modelers simply start with NetLogo, 
living with its restrictions rather than trying to learn java.

Owen Densmore          908 Camino Santander       Santa Fe, NM 87505
[email protected]    Cell: 505-570-0168         Home: 505-988-3787
AIM:owendensmore   http://complexityworkshop.com  http://backspaces.net



-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.