Google 2007 JavaOne Advance Conference Guide User Manual
Page 60

58
|
| technical sessions | track nine : tools and languages
* Content subject to change.
TECHNICAL SESSIoNS
| TRACK NINE | TOOLS AND LANGUAGES
Tools and Languages
TS-9720 Advanced Groovy
Rod Cope, OpenLogic, Inc.
Groovy is a relatively new dynamic object-oriented scripting language for
the Java Virtual Machine (JVM) that feels like a mixture of Ruby, Python,
and the Java programming language. It gives you the expressive power
of Ruby, the simplicity of Python, and direct access to the (enhanced) JDK
software and all existing Java code. You can declare variable, argument,
and method types if you want static typing or simply leave them off to go
fully dynamic. Better yet, use static typing just when you need it, such as
when you want to integrate heavily with existing Java code.
It’s easy to start using Groovy, but there are lots of goodies that aren’t
so obvious in the beginning. This session covers things such as currying,
single object iteration, dynamic language extensions, enhancing the JDK
software, default parameters, advanced closures, and active proxies. The
goal is to learn how to take advantage of the really powerful features of
Groovy to get things done faster and easier.
Attendees should be familiar with the Java programming language and
basic Groovy.
TS-9782 Ajax and JavaServer Faces Technology Tooling in Eclipse
Jess Garms, BEA Systems, Inc.
Tim Wagner, BEA Systems, Inc.
See the latest web and Java EE 5 tooling from Eclipse. This session
explores the newest features in the Eclipse Web Tools Platform (WTP)
project—including WYSIWYG JavaServer Pages (JSP)/JavaServer Faces
technology editing, Ajax tools such as DOM inspection, CSS tracking, and
JavaScript language debugging—and support for the Java Persistence API
and other Java EE 5 technologies.
The WTP project lead, Tim Wagner, presents a demo-driven talk that
explores the WTP feature set, concentrating on those features that
enable web application development. Attendees experience the range
of support and functionality available with the open source project—no
commercial tools are shown. The presentation also covers such
platform technologies as refactoring, update sites, and the new JSR 269
implementation in Eclipse.
TS-9861 Advanced Java Programming Language refactoring:
Pushing the Envelope
Tom Ball, Sun Microsystems, Inc.
NetBeans release 6.0 has a new Java programming language model for
analyzing and refactoring source code, based on Jackpot technology and
the Java 6 technology-based Compiler API, which makes it much easier
for developers to create and deploy new refactorings. Now that there is
a powerful framework for creating new refactorings, what can be done to
push the envelope beyond today’s standards? Sun has been working on
several new refactorings that address the following:
• Source conversion to Java 5 programming language conventions,
including the specifying of generic type information (based on existing
usage), use of the enhanced for loop, automatic annotating, and enum
detection and conversion
• Locating and repairing security problems in source code
• Moving code to use the Java platform concurrency API
• Refactorings that are controlled by code metrics
This presentation describes the new Java programming language model,
how developers can create and deploy their own refactorings, and the
current state of the new advanced refactorings.
TS-9920 Eclipse Europa: New Features and Technical Integrations
Bjorn Freeman-Benson, Eclipse Foundation
Mike Milinkovich, Eclipse Foundation
Eclipse, like other popular IDEs (the NetBeans integrated development
environment, Microsoft Visual Studio, and so on), continues to improve
its base functionality. This presentation covers new and interesting
features in the Java technology and web tooling facets of the Eclipse
Europa release (scheduled for June 2007). It looks at both the colorful user
interface aspect (with pretty slides) and the nitty-gritty extension points
aspect (with dense code slides) of these new features.
As the Eclipse ecosystem continues to grow, the set of Eclipse projects
grows along with it. The other half of the session is about the technical
issues surrounding cross-project interactions: Eclipse is a good single-
purpose platform (for example, as a Java integrated development
environment), but it really excels as a multipurpose platform. The
presentation explains some of the design decisions and technical choices
that led to some of the important multipurpose frameworks.
This session makes the safe assumption that the audience members are
already familiar with the basics of Eclipse: that it’s a Java integrated
development environment, that it’s a framework for building IDEs (C++,
Fortran, PHP, Python, Perl, Tcl, and so on), that it’s a framework for tool
integration, and that it’s a great platform for rich OSGi-based applications
on both the client and the server. Assuming that you know all that, the
presentation launches into more depth from there.
Te
ch
n
ic
al
S
es
si
o
n
s
:
Tr
ac
k
9
|
To
o
ls
a
n
d
L
an
g
u
ag
es
n
n
n
n
n
n
n
n
n