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