Killerapplication or how to use groovy

classic Classic list List threaded Threaded
18 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Killerapplication or how to use groovy

Jochen Theodorou
Ok,

just to collect some ideas for a killer application I want to start this
thread here. There was some discussion about groovy needing something
like that. Well I think grails will be such an application but ideas are
most welcome. Personally I think that writing a buildsystem in groovy
would not only let groovy nefit from it, and it would not only improve
groovy's abilities as shell scripting language, it would also be a
possibility to make a clean build script for groovy. It's just and idea
as any other idea you maybe have and should write in this thread ;)

ybe blackdrag
Reply | Threaded
Open this post in threaded view
|

RE: Killerapplication or how to use groovy

Dierk König
Cool idea :-) Maybe based on Maven2 or such...

My idea for a killerapp would be a refactoring tool for groovy itself.
It would need to be based on the approach that the father of all
reactoring tools (for smalltalk) followed: working at runtime
rather than on static information.
The trick behind this is that you have a testsuite with at least
method coverage. For refactorings like 'rename method', you run the
testsuite. All calls to the old method are stored and changed
after the run. Such a tool could be written in Groovy itself and
plugged into the IDE's.

cheers
Mittie


> -----Original Message-----
> From: Jochen Theodorou [mailto:[hidden email]]
> Sent: Freitag, 9. Dezember 2005 18:02
> To: [hidden email]
> Subject: [groovy-user] Killerapplication or how to use groovy
>
>
> Ok,
>
> just to collect some ideas for a killer application I want to start this
> thread here. There was some discussion about groovy needing something
> like that. Well I think grails will be such an application but ideas are
> most welcome. Personally I think that writing a buildsystem in groovy
> would not only let groovy nefit from it, and it would not only improve
> groovy's abilities as shell scripting language, it would also be a
> possibility to make a clean build script for groovy. It's just and idea
> as any other idea you maybe have and should write in this thread ;)
>
> ybe blackdrag
Reply | Threaded
Open this post in threaded view
|

Re: Killerapplication or how to use groovy

Warner Onstine-3
In reply to this post by Jochen Theodorou
One thing I'm working on currently is using Groovy for is a code
generator that is very rails-ish in what it will do. Essentially I am
taking a full-app approach like rails and generating everything
(maven/ant build, directory structure, additional scripts to be used
once the initial app is generated).

These scripts align closely with the rails scripts and would be used
to generate models, views and controllers (initially for
Tapestry/Hibernate/Spring, but planning on extending it further for
other technologies).

Glad to share it once I have it in a more complete state. Right now I
have the initial coding done where it creates the structure and I'm
working on the scripts to generate the rest of the stuff (the hard
part).

-warner

On 12/9/05, Jochen Theodorou <[hidden email]> wrote:

> Ok,
>
> just to collect some ideas for a killer application I want to start this
> thread here. There was some discussion about groovy needing something
> like that. Well I think grails will be such an application but ideas are
> most welcome. Personally I think that writing a buildsystem in groovy
> would not only let groovy nefit from it, and it would not only improve
> groovy's abilities as shell scripting language, it would also be a
> possibility to make a clean build script for groovy. It's just and idea
> as any other idea you maybe have and should write in this thread ;)
>
> ybe blackdrag
>
Reply | Threaded
Open this post in threaded view
|

RE: Killerapplication or how to use groovy

Dierk König
cool. don't forget the testcases ;-)

Mittie

> -----Original Message-----
> From: Warner Onstine [mailto:[hidden email]]
> Sent: Freitag, 9. Dezember 2005 18:28
> To: [hidden email]
> Subject: Re: [groovy-user] Killerapplication or how to use groovy
>
>
> One thing I'm working on currently is using Groovy for is a code
> generator that is very rails-ish in what it will do. Essentially I am
> taking a full-app approach like rails and generating everything
> (maven/ant build, directory structure, additional scripts to be used
> once the initial app is generated).
>
> These scripts align closely with the rails scripts and would be used
> to generate models, views and controllers (initially for
> Tapestry/Hibernate/Spring, but planning on extending it further for
> other technologies).
>
> Glad to share it once I have it in a more complete state. Right now I
> have the initial coding done where it creates the structure and I'm
> working on the scripts to generate the rest of the stuff (the hard
> part).
>
> -warner
>
> On 12/9/05, Jochen Theodorou <[hidden email]> wrote:
> > Ok,
> >
> > just to collect some ideas for a killer application I want to start this
> > thread here. There was some discussion about groovy needing something
> > like that. Well I think grails will be such an application but ideas are
> > most welcome. Personally I think that writing a buildsystem in groovy
> > would not only let groovy nefit from it, and it would not only improve
> > groovy's abilities as shell scripting language, it would also be a
> > possibility to make a clean build script for groovy. It's just and idea
> > as any other idea you maybe have and should write in this thread ;)
> >
> > ybe blackdrag
> >

Reply | Threaded
Open this post in threaded view
|

Re: Killerapplication or how to use groovy

Warner Onstine-3
Most definitely, those will be in there ;-).

-warner

On 12/9/05, Dierk Koenig <[hidden email]> wrote:

> cool. don't forget the testcases ;-)
>
> Mittie
>
> > -----Original Message-----
> > From: Warner Onstine [mailto:[hidden email]]
> > Sent: Freitag, 9. Dezember 2005 18:28
> > To: [hidden email]
> > Subject: Re: [groovy-user] Killerapplication or how to use groovy
> >
> >
> > One thing I'm working on currently is using Groovy for is a code
> > generator that is very rails-ish in what it will do. Essentially I am
> > taking a full-app approach like rails and generating everything
> > (maven/ant build, directory structure, additional scripts to be used
> > once the initial app is generated).
> >
> > These scripts align closely with the rails scripts and would be used
> > to generate models, views and controllers (initially for
> > Tapestry/Hibernate/Spring, but planning on extending it further for
> > other technologies).
> >
> > Glad to share it once I have it in a more complete state. Right now I
> > have the initial coding done where it creates the structure and I'm
> > working on the scripts to generate the rest of the stuff (the hard
> > part).
> >
> > -warner
> >
> > On 12/9/05, Jochen Theodorou <[hidden email]> wrote:
> > > Ok,
> > >
> > > just to collect some ideas for a killer application I want to start this
> > > thread here. There was some discussion about groovy needing something
> > > like that. Well I think grails will be such an application but ideas are
> > > most welcome. Personally I think that writing a buildsystem in groovy
> > > would not only let groovy nefit from it, and it would not only improve
> > > groovy's abilities as shell scripting language, it would also be a
> > > possibility to make a clean build script for groovy. It's just and idea
> > > as any other idea you maybe have and should write in this thread ;)
> > >
> > > ybe blackdrag
> > >
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Killerapplication or how to use groovy

Alan Green-2
In reply to this post by Jochen Theodorou
blackdrag,

Thanks for starting the thread. It's great to see so many people with so
many fresh ideas.

Jochen Theodorou wrote:
> Well I think grails will be such a[ killer] application but ideas are
> most welcome.

Yep, I think Grails is a good possibility. The attributes of a "killer
app" are:

(a) that it does something new or in a new way
(b) that thing is something that people want to do
(c) Groovy is obviously the better way to do it.

Java's "killer app" was applets. For a while, everybody was trying Java
just so they could play with applets. Eventually, most people decided
that applets weren't all that useful, but went on to use Java for other
things.

Grails matches these criteria fairly well. Here are two others:

- Groovlets - very easy and lots of fun as a CGI replacement. There are
plenty of little applications (2-10 dynamic pages) that don't neeed the
overhead or the future-proofing of the full servlet/JSP stack. Groovlets
are also neat for prototyping.

- Unit testing - Groovy does this very well. Downside is that it's not
immediately obvious that Groovy is superior to Java, but that can be
rectified with a pithy tutorial.

Of these, Groovlets strikes me as the most promising, with Grails and
unit testing providing easy ways for new Groovy users to branch out.

Alan.
Reply | Threaded
Open this post in threaded view
|

Re: Killerapplication or how to use groovy

Russel Winder
In reply to this post by Jochen Theodorou
On Fri, 2005-12-09 at 18:01 +0100, Jochen Theodorou wrote:

> Ok,
>
> just to collect some ideas for a killer application I want to start this
> thread here. There was some discussion about groovy needing something
> like that. Well I think grails will be such an application but ideas are
> most welcome. Personally I think that writing a buildsystem in groovy
> would not only let groovy nefit from it, and it would not only improve
> groovy's abilities as shell scripting language, it would also be a
> possibility to make a clean build script for groovy. It's just and idea
> as any other idea you maybe have and should write in this thread ;)
>
> ybe blackdrag
Given my recent experiences with Autotools, SCons and Ant, I can safely
attest to the fact that creating a complete replacement for Ant using
Groovy so as to follow the SCons style of builder oriented building
would be a Big Win.

Unfortunately, I suspect Groovy is always going to be bound to the Java
world as it is founded on Java  and therefore cannot compete with the
Python-based systems in the world more generally  -- issues such as
startup speed for scripts, poor binding to GTK+, Swing being fairly not
good, etc.  So having a totally Java focused Groovy is both sensible and
restricting.  But pragmatic.
--
Russel.
====================================================
Dr Russel Winder                +44 20 7585 2200
41 Buckmaster Road              +44 7770 465 077
London SW11 1EN, UK             [hidden email]

signature.asc (196 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

RE: Killerapplication or how to use groovy

Russel Winder
In reply to this post by Dierk König
On Fri, 2005-12-09 at 18:20 +0100, Dierk Koenig wrote:

> Cool idea :-) Maybe based on Maven2 or such...
>
> My idea for a killerapp would be a refactoring tool for groovy itself.
> It would need to be based on the approach that the father of all
> reactoring tools (for smalltalk) followed: working at runtime
> rather than on static information.
> The trick behind this is that you have a testsuite with at least
> method coverage. For refactorings like 'rename method', you run the
> testsuite. All calls to the old method are stored and changed
> after the run. Such a tool could be written in Groovy itself and
> plugged into the IDE's.
Sorry but a "killer app" must be something outward facing.  Anything
introverted such as refactoring tools etc. is a superb marketing /
selling point and well worth following up -- especially in an Eclipse
context, probably also IntelliJ IDEA, but will not be the killer app
that gets Groovy centre stage in the limelight.

Personally I think Groovy will not have a problem gaining full
acceptance as long as when the RCx and the final release come out, there
is a solid marketing campaign based around the JSR, the TDK and ensuring
that all the old hassles are not allowed to resurface.
 
--
Russel.
====================================================
Dr Russel Winder                +44 20 7585 2200
41 Buckmaster Road              +44 7770 465 077
London SW11 1EN, UK             [hidden email]

signature.asc (196 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Re: Killerapplication or how to use groovy

Russel Winder
In reply to this post by Alan Green-2
On Sat, 2005-12-10 at 10:31 +1100, Alan Green wrote:

[ . . . ]

> - Unit testing - Groovy does this very well. Downside is that it's not
> immediately obvious that Groovy is superior to Java, but that can be
> rectified with a pithy tutorial.

The only problem here is that JUnit 3.8 type testing (which Groovy
currently relies on) is old-hat and old-fashioned -- even though it may
be extremely prevalent.  TestNG (and I assume JUnit 4 if it ever gets
released) is a far better way of doing unit testing.  Of course you can
only use this if you use Java 5 or Java 1.4 with something like
RetroWeaver (I personally do not like the documentation comment based
system of TestNG for use with Java 1.4).  Yes, I know that people will
tell me that Java 1.4 is going to be the mainstream Java for another 10
years or more in most installations and that many installations haven't
even got to Java 1.3 yet.  My point is that killer app is about looking
forward not back.  If Groovy is to eschew Generics then that is fine as
a design decision.  It can even eschew annotations, again as a design
decision -- though I think Groovy has actually already taken the
decision to have annotations.  The real point here is that the Groovy
unit test infrastructure needs to be clearly and completely separated
from JUnit from the programmer use point of view.  I think it is very
nearly there already but I suspect more can be made of this.  Also the
question of whether to be annotations based needs addressing.

Are we sure that a tutorial can solve the problem alone?

--
Russel.
====================================================
Dr Russel Winder                +44 20 7585 2200
41 Buckmaster Road              +44 7770 465 077
London SW11 1EN, UK             [hidden email]

signature.asc (196 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Killerapplication or how to use groovy

Thomas R. Corbin
In reply to this post by Russel Winder
On Saturday, 10 December 2005 03:44 am, Russel Winder wrote:

> On Fri, 2005-12-09 at 18:01 +0100, Jochen Theodorou wrote:
> > Ok,
> >
> > just to collect some ideas for a killer application I want to start this
> > thread here. There was some discussion about groovy needing something
> > like that. Well I think grails will be such an application but ideas are
> > most welcome. Personally I think that writing a buildsystem in groovy
> > would not only let groovy nefit from it, and it would not only improve
> > groovy's abilities as shell scripting language, it would also be a
> > possibility to make a clean build script for groovy. It's just and idea
> > as any other idea you maybe have and should write in this thread ;)
> >
> > ybe blackdrag
>
> Given my recent experiences with Autotools, SCons and Ant, I can safely
> attest to the fact that creating a complete replacement for Ant using
> Groovy so as to follow the SCons style of builder oriented building
> would be a Big Win.
>
> Unfortunately, I suspect Groovy is always going to be bound to the Java
> world as it is founded on Java  and therefore cannot compete with the
> Python-based systems in the world more generally  -- issues such as
> startup speed for scripts, poor binding to GTK+, Swing being fairly not
> good, etc.  So having a totally Java focused Groovy is both sensible and
> restricting.  But pragmatic.

        I've been using groovy wrapped around ant for some time and have found it to
be a wonderful environment.    It's much easier to read than an ant xml file
or a makefile and it's so much more flexible because of the scripting
capabilities.
12