Mg,

my main client here in Czech Republic allowed me to turn all our WebObjects 
projects from Java to Groovy years ago (and still there are non-trivial parts 
of the legacy codebase in the original Java :))

Those project include a couple of web applications like e.g., an auctioning 
system or a task-specific... let's say database, with a very rich support for 
table management and report generation (those are commercial and my client 
makes the money on them), plus some internal tools used by us only (for which I 
am paid as a programmer, but from my client POV they are, of course, 
non-commercial). The sizes of the projects vary from 10 to 50 000 Groovy source 
lines, not counting groovy expression embedded in the HTML templates or 
untouched .java files (of which there's just a couple; most original Java code 
is in not-yet-refactored parts of .groovy sources). I am the main programmer 
and maintainer of the stuff, with an occasional help of some subcontractor. 
Oldest of them are maintained for fifteen-odd years (which is the time I 
started writing WO in Java; before that it used to be the infinitely better 
Objective C, but alas, Apple closed that possibility :/ )

From my POV, Groovy is just great, allowing me to at least partially return to 
the clean and concise ObjC-like code, skipping the terrible boilerplate and 
problems induced by Java: originally, some of the projects exceeded 100 000 
Java lines, caused by über-ugly things like

NSArray validOfferItems() {
    NSMutableArray ma=null;
    if (auction!=null) {
        NSArray all=auction.orderedPriceOffers();
        if (all!=null) {
            ma=new NSMutableArray();
            for (Enumeration en=all.objectEnumerator();en.hasMoreElements();) {
                DBPriceOffer po=(DBPriceOffer)en.nextElement();
                if (po.validOffer()) ma.addObject(po);
            }
        }
    }
    return ma;
}

which of course was re-written to

NSArray validOfferItems() {
    auction.orderedPriceOffers.findAll { it.validOffer }
}

long ago (I've got a couple of my own ASTTs and extensions to get rid of NPE 
and the need to write those ugly ?'s to all the expressions.)

Contrariwise, I rarely use Groovy for scripting. Occasionally, yes, when the 
task is too complex; but for a vast majority of my scripts, zsh suffices and 
it's more convenient for it's portable anywhere. (Perl might be even better, 
but somehow I never found time to learn the thing :))

All the best,
OC

> On 27 Jun 2020, at 0:24, MG <mg...@arscreat.com> wrote:
> 
> A quick survey: Who on this mailing list works on or knows of a project where 
> Groovy is the main language of development, i.e. it is not used as "just" a 
> script or DSL language in addition to e.g. Java ?
> If possible name the company/country/project and give some impression of the 
> size of the project (lines of code, # of people working on it, etc), 
> timeframe of development, and whether it is os or commercial (or both) G-)
> 
> Thanks in advance,
> cheers,
> mg
> 
> 
> 

Reply via email to