|
 |
The Future of Java
Dr. Gilad Bracha, Sun Microsystems
Linköping, January 23, 2002, 13.30
13.30-14.30 Session 1: Adding Generics to the Java(tm)
Programming Language Generic types allow users to write programs that
work uniformly over a family of types. Generic types make programs
more robust and type-safe, and more readable, by eliminating the
clutter of unnecessary casts. Typical uses are container classes such
as collections, lists and stacks. We are developing a proposal for
adding generic types to the Java programming language through the Java
community process. We'll highlight key features of the proposal, and
contrast it with seemingly similar features such as C++ templates. The
emphasis in this design is on compatibility and a seamless transition
to the upgraded language. An experimental compiler supporting these
features is publicly available. We anticipate shipping this in the 1.5
product release.
14.30-15.00 Coffee break
15.00-16.00 Session 2: Verification in the Java(tm) Virtual
Machine : Past, Present and Future Byte code verification is one of
the key innovations in the Java(tm) virtual machine (JVM). Classic
byte code verification performs type inference on incoming byte codes
prior to their execution, ensuring the type safety of the
system. Obviously, verification is crucial to the security guarantees
provided by the JVM. Today, we are moving toward verification based on
typechecking rather than type inference, improving efficiency and
robustness of the verification process. In this talk, we explain the
basis for verification, relate some of its history and discuss the
reasons for the planned transition.
16.00-16.30 Coffee break
16.30 - 17.30 Session 3: Mixins in Animorphic Smalltalk We
describe the use and implementation of mixins in the Animorphic
Smalltalk system, a high performance Smalltalk virtual machine and
programming environment. Mixins are the basic unit of implementation,
and are directly supported by the VM. At the language level, code can
be defined either in mixins or in classes, but classes are merely
sugar for mixin definition and application. The Strongtalk type system
supports the optional static typechecking of mixins in an encapsulated
manner. Mixins are used at key points in the library. The system is
the fastest Smalltalk implementation to date, typically three times
faster than others.
|