Platinum Sponsors

SUN

ELCA

Gold Sponsors

AdNovum

Credit-Suisse

Silver Sponsors

SAP

SyBOR AG

Partners

Netcetera AG

JUGS - Java User Group Switzerland

Stadt Z├╝rich Wirtschaftsf├Ârderung

cR Kommunikation

Eveni AG

LiSoG - Linux Solutions Group e.V.

Star Alliance

ICTnet

simsa

Creatronic Media Supply

Media Partners

Netzwoche

inside-it.ch

javamagazine

InfoWeek

IT Reseller

JavaSPECTRUM

APRESS

Day 3: What happened on Wednesday, 2007-06-27

Erich Gamma, Distinguished Engineer at IBM Rational Software's Zurich lab, helped start the Software Pattern movement, was the original lead of the Eclipse Java development environment (JDT) and also contributed to the JUnit testing framework. Dr Gamma delivered this morning's Jazoon keynote address describing his latest project: Jazz - a platform that facilitates team collaboration and coordination throughout the software lifecycle using the "Eclipse Way". The "Eclipse Way", the process used during the development of the Eclipse development application, has become widely known for its success in using "Process Patterns" based on iteration, transparency, and continuous improvement. This approach relied on techniques of continuous builds, integration, release, demonstration, feedback, and testing. There are other elements necessary for achieving a successful implementation of the Eclipse Way. After experimenting with process framework tools such as EPF, he quickly discovered that processes that depend on developers voluntarily and continuously reading (static) documentation were doomed to failure. Therefore one must bring the process into tools as much as possible. In particular, tool support is necessary to ensure that "the boring parts" are addressed as carefully as everything else. Dr. Gamma provided a sneak preview of Jazz, a tool which provides support for specifics such as milestone creation/tracking, continuous integration, dynamic task creation/resolution, and especially a wide variety of actions performed during the "end game" cycle, which is the final sprint toward a releasable product for improving quality from "good" to "golden". He also noted that since each development team has its own dynamic and implementation of process, a successful tool needs to be reactive rather than controlling. Finally, Jazz will not be open source software but rather "open commercial" software - source will be available, but there will be restrictions. Regardless, based on the size and reaction of the audience, this will soon be yet another "must-know" technology..

Social events

A large break in Wednesdays' afternoon program was provided for attendees to enjoy social events. Unfortunately, the weather was not agreeable so the cruise was not well attended. However in its place, through the spontaneous generosity of the Sihlcity cinema organizers, conference attendees were treated to the surprise Swiss pre-premiere of the new Bruce Willis action movie, Die Hard 4.0, which resulted in a packed audience.

Later that evening, Java Users Group Switzerland (JUGS) and SunMicrosystems sponsored the live band "Karaoke from Hell" for theJazoon party in the Platins Club. Because of the great show the good vibes, and the courage of Karaoke amateurs, some of the conference attendees showed their courage by spontaneously providing the audience with a pole dance.

Neal Gafter, Closures in Java BOF

Gafter gave short but enlighten examples of why anonymous inner classes are not suitable for many callback handling purposes and for implementing control statements in libraries. The problems of anonymous inner classes include: too much boilerplate code, poor nesting, complicated exception handling, the inability of control statements like break, continue and return to effect the enclosing scope and the inaccessibility of local variables in outer scope unless declared 'final'. He used these examples to derive requirements for closures in Java and showed his approach in fulfilling these requirements.
The essence of his proposal consists of these characteristics: closure expressions, function types, control statements and transparency. He elaborated this concept by showing examples of function types and how they can be implemented by current compilers. His argument for why library-based solutions (such as Collection.map) are a good thing is that they create the possibility for embracing data parallel implementations in a library without changing the language or compiler. He concluded by mentioning that a prototype implementation of his proposal would help exercise the approach in real life. In the discussion that followed, topics as stack traces, non local control transfers and the implementation of the closure object were addressed.