Groovy has entered the realms of being a statically compiled language, competing with Java, Scala, Ceylon and Kotlin for market share. Is this the right direction for Groovy to go? This session will investigate this and many other questions.

Groovy started life as the dynamic symbiote to Java. In order to achieve this Groovy wasn't totally "duck typing", it supported optional runtime type checking. It was though still very much a dynamic language with a full meta-object protocol, competing with JRuby, Jython and Clojure for market share.

With the additional of @TypeChecked and @CompileStatic and other things, Groovy has entered the realms of being a statically compiled language, competing with Java, Scala, and Kotlin for market share.

Is this the right direction for Groovy to go? Is claiming to be both a static and a dynamic language ruining the Groovy message? Is it ruining Groovy? Is @TypeChecked fundamentally different from @CompileStatic? This session will investigate these questions and may serve as a place to learn about these things or a place to debate the future direction of Groovy.