March 18, 2004

Groovy JSR: I doubt it

The announcement of Groovy being submitted as a JSR has caused a maelstrom of reactions from people asking all kinds of questions:

  • Who will lead the JSR?
  • Who will be part of the Experts Group?
  • Who will write the TCK?
  • Where will the source be kept?
  • etc...

Those are all good questions which will need to be answered in time, but until then, I notice that everybody is making a very important assumption:  that JSR 241 will be accepted by Sun.

This outcome is far from being guaranteed.

Actually, I am pretty sure that Sun will refuse this JSR, for a number of reasons.  Maybe the justification will be technical (the language is too young, community is too small, it looks like Java but it's not quite Java, etc...) but I believe the real reason is strategic.

Simply put:  Groovy is a very real threat to Java.

Do you remember how five years ago, C++ users used to laugh at the simple idea that Java might one day displace C++ in enterprise applications?  Well, for all I know, maybe in five years from now, Groovy (or another "scripting" language) will have become mainstream and we will be wondering how can Java programmers not be disgusted by the complexity of their language of choice.

Don't get me wrong:  I am a Groovy fan.  Ruby used to be my scripting language of choice and over these past years, I have accumulated a certain number of Ruby scripts that are working really well, but right now, I can't think of any reason to use Ruby when I have Groovy.

Groovy does everything Ruby does, with three additional points:

  • Its syntax is Java-like.
  • It has access to the entire Java objectscape.
  • It can compile to .class files.

For all you know, the next ejbgen.jar that I ship could be written half in Java and half in Groovy.  You won't notice.  My regression tests won't notice.  And the version after that might be 100% Groovy.

And this is precisely what should worry Sun.  And why I think Groovy will not be accepted as a JSR.

But I wish good luck to James and I sincerely hope I'm wrong.

 

Posted by cedric at March 18, 2004 08:48 AM
Comments

How can you consider groovy a competitor to Java? It needs the Java platform to run! Its like saying WordPerfect is a competitor to the windows operating system. It might be a competitor to Word, but not the OS. The only thing groovy competes with is other languages, as such it competes with the Java language but not the platform. Without the java platform groovy is nothing. Think .net - VB, C#, J# all different languages using the same common runtime. Groovy is just another language using the same platform as the Java language.

Posted by: Sam Newman at March 18, 2004 10:25 AM

So, Groovy is a competitor to the Java language, not the platform. Thus, standardization through the *Java* Community Process makes sense, no? :)

Posted by: Carlos Villela at March 18, 2004 10:40 AM

Oh God, please no.

Accepting Groovy into the JCP would be akin to forcing an extraordinarily productive and effective XP development organization into a waterfall-style methodology.

Posted by: Joe Duffy at March 18, 2004 01:17 PM

groovy will be accepted but with a name change. sun care about the vm more than the language. grooovy will supplant java the language not the platform.

Posted by: lurker at March 18, 2004 03:29 PM

> And this is precisely what should
> worry Sun. And why I think Groovy
> will not be accepted as a JSR.

Cute theory. Too bad it is totally unrooted in reality.

Sun does not have any veto power on JSRs like this; it's a majority vote of the SE/EE Executive Committee that decides whether or not to accept this JSR for development.

Posted by: at March 18, 2004 07:50 PM

> Actually, I am pretty sure that
> Sun will refuse this JSR

You do realize, don't you, that Sun *cannot* "refuse this JSR" -- it's up to a majority vote of the Executive Committee? Nah, you wouldn't have said this if you'd actually read the JCP process documents.

Posted by: Read The Fine Print at March 18, 2004 08:01 PM

Reality Check: whether Sun has or does not have a veto power on a specific JSR is hardly the sticking point. Rules are rules and rules can be bent. Sun certainly has ways to influence the vote. When money comes to play then the idealistic "community" (including Apache) will have to step aside. Community is good for the PR image, but money rules the world (which the OSS community has about $0 worth). Follow the money.

Cedric is right. Just go watch how businesses work. The executive committee has little power over whoever McNealy decides to play a round of golf with.

Posted by: Fine Print Does You No Good at March 19, 2004 05:32 AM

>Ruby used to be my scripting language of choice and
>over these past years, I have accumulated a certain
>number of Ruby scripts that are working really
>well, but right now, I can't think of any reason to
>use Ruby when I have Groovy.

Ruby supports continuations; Groovy does not.

Posted by: adam connor at March 20, 2004 07:58 AM

Um, you were wrong Cedric. Unanimous decision in favor of Groovy: http://www.theserverside.com/news/thread.tss?thread_id=24798

Posted by: gerryg at March 30, 2004 05:51 PM

Please have a look at my website.

Ernest Garcia o

Posted by: Ernest Garcia at July 1, 2004 03:17 AM
Post a comment






Remember personal info?