[jira] [Commented] (GROOVY-8329) Consider statically typed/compiled as default for Groovy 3.0

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[jira] [Commented] (GROOVY-8329) Consider statically typed/compiled as default for Groovy 3.0

JIRA jira@apache.org

    [ https://issues.apache.org/jira/browse/GROOVY-8329?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16201850#comment-16201850 ]

Endre Stølsvik commented on GROOVY-8329:

Well, I guess it helps if you control the entire setup. But it doesn't really help if I get hold of a file from some random place. To get to where I was hoping for, it would have to be some "intrisic feature" of the file, if not from the language itself. I guess I am pretty far from what you, the developers, want from Groovy. I dislike non-typed languages more and more as I grow as a developer (while I can find the feature very useful and smooth in very limited scopes, I find it overall as a _really_ bad idea), while you folks find this to be a defining aspect of Groovy from which departing from would be absurd.

(PS: In the pull, why do you remove the @authors? I find author tags very nice: It both credits the authors, which I find is very good, in particular for an open source project - "building one's name", given that it rarely pays actual money. And it helps me as a user to understand who is experts in different domains of a project: "If this guy talks about some feature, it is actually the horse's mouth". And of course, you could actually contact the guy, without having to resort to traversing the repo to find out. Also, are all those authors happy with this? It is kinda like ripping the signature off from a painting.)

> Consider statically typed/compiled as default for Groovy 3.0
> ------------------------------------------------------------
>                 Key: GROOVY-8329
>                 URL: https://issues.apache.org/jira/browse/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