Groovy Developer Conference #4
Location and dates
GDC #4 will take place in London, on Monday 15th and Tuesday 16th of October 2007. More information to follow.
The goal of this meeting will be to define the roadmap of Groovy 2.0.
A major goal for Groovy 2.0 will be to improve drastically its performance to get as close as possible to Java.
- Dierk König
- Jochen Theodorou
- Jeremy Rayner
- Guillaume Laforge
- Graeme Rocher
- Alex Tkachman
- Russel Winder
- Scott Hickey
- Alexandru Popescu
To be confirmed:
- Charles Nutter
- How to best spend 10000 euros for the project
- Packaging and Modularity (jmx, etc)
- proper TCK / GLS generation
- compiler performance and/or new compiler based on an LALR grammar
- runtime performance
- benchmarking platform
Staticly compiled Groovy
- do we need it really
- 'strict' keyword idea
- runtime java agent idea
New dynamic runtime system
- new MetaClass system
- fast path using static dispatch
- magic script in a magic place initializing EMCs
- mixin proposal on the jsr wiki: http://docs.codehaus.org/display/GroovyJSR/Mixins
New features and evolutions
- Multiple assignments
- ASM 3, Antlr 3, Java 5
- change GroovyObject to support correct private access?
- anonymous inner classes & nested classes (to be debated)
- reverse asType()
- asBool mechanism for Groovy Truth
- annotation-based macro AST, ex: BoundProperty macro
- class-scoped categories
- Annotation-based meta-reflection API for introspecting available names and attributes for buidlers and metaclasses.
- Improve security support in Groovy with default restricted policies
- Builder Builder: a builder for defining builders
- Python generators / list comprehension
- support Unicode caracters for -> > >=1/2 etc
- mechanism to create dates easily (2006:10:26) (import java.util.GregorianCalendar as D; new D(2009,2,3).time)
- Better support for Closures as Events, MetaEvent like MetaProperty (GROOVY-1762, and possibly more embellishment)
- Kill 60 bugs in 60 minutes. Find 60 bugs in Jira (e.g. feature suggestions, really old bugs) where lack of direction rather than lack of time is the reason for them not being done. Decide whether to kill them off, allocate to someone for investigation, add them to roadmap or mark them at lowest priority (wimp's option).
Here we'll put a link to a page listing the decisions taken at GDC#4 regarding the Roadmap of Groovy 2.0.