groovy-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Endre Stølsvik (JIRA) <>
Subject [jira] [Created] (GROOVY-8329) Consider statically typed/compiled as default for Groovy 3.0
Date Sun, 24 Sep 2017 22:23:00 GMT
Endre Stølsvik created GROOVY-8329:

             Summary: Consider statically typed/compiled as default for Groovy 3.0
                 Key: GROOVY-8329
             Project: Groovy
          Issue Type: New Feature
            Reporter: Endre Stølsvik

Personally, I do not understand why anyone would ever want to drop typing from JVM based languages
(or in any other language, for that matter). Thus, I only started using Groovy "for real"
when I discovered the @CompileStatic annotation, which really made everything great!

If I could choose, I'd go for statically typed by default, with @DynamicCompile or somesuch
as an annotation I could turn on for methods that uses the XML parsing features etc.

To me, it seems like more and more people are realizing that statically typed languages is
the way to go, notice e.g. TypeScript, Facebook's retrofitting of types onto PHP with Hack,
and even PHP's own typing in PHP 7.

Now with Kotlin joining the fray of JVM-based languages, whose literally first two words on
the wepage is "statically typed", getting special support in Spring, and - notably - getting
full support in Gradle, I'd say that this applies more than ever. If Groovy "looses Gradle"
to Kotlin due to the ability to get a statically typed build script (oh, the joy!), I believe
Groovy will have a much harder time attracting new users. Turning Groovy into one of the statically
typed JVM languages, instead of hampering users with "everything is an Object"-based runtime
resolution, will increase the appeal of the language.

The 3.0 can be a great point to change this. It could of course be reverted back to previous
logic by some -D switch (would need support in IDEs too, I guess), or by sticking some magic
"whole-sale annotation" at the top of the source file, or something like this.

This message was sent by Atlassian JIRA

View raw message