Hacker News new | ask | show | jobs
by divideby0 4324 days ago
Groovy has supported compile-time safety since version 2.0 with the optional @CompileStatic annotation. It's one of the few languages where you can mix static and dynamic typing, even within the same class. With this annotation enabled, you get pretty close to pure Java performance but with 1/5 the lines of code in some case.

For something like Android, running Groovy with CompileStatic enabled by default would make a lot of sense.

1 comments

> It's one of the few languages where you can mix static and dynamic typing

In theory, but in practise virtually everyone uses the dynamic typing only. Groovy's really only used with Grails and for testing Java classes.

> Android, running Groovy with CompileStatic enabled by default would make a lot of sense

Unlike other statically-typed languages, Groovy's CompileStatic code was written by only one person and having it be the default would expose all the bugs.

> but in practise virtually everyone uses the dynamic typing only.

Why ? is it a social thing? or a technical thing?

Any optional and inconvenient feature in a programming language will never be used. It's why static typechecking in Python and Pypy and whatever will never take off.