Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

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.

Goal 

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. 

Participants 

  • Dierk König
  • Jochen Theodorou
  • Jeremy Rayner
  • Guillaume Laforge
  • Graeme Rocher
  • Alex Tkachman
  • Russel Winder
  • Scott Hickey
  • Alexandru Popescu

To be confirmed:

  • Charles Nutter

Brainstorming

Project discussions 

Performance

  • 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 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)

Other ideas

  • 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).
  • ...

Decisions 

Here we'll put a link to a page listing the decisions taken at GDC#4 regarding the Roadmap of Groovy 2.0.