On Extending Java

The design of Java sports a simple and elegant object model. Its simplicity may well be the language's main selling point - it is both easy to learn and to implement - but in the long run the same simplicity may prove to be a sign of a lack of expressive power that could hinder the development of large software systems. We present four non-intrusive language extensions, tuples, closures, anonymous objects and iterators, give examples of use and detail a translation scheme into plain Java. These extensions enhance the expressive power of Java and allow certain common programming idioms to be coded more naturally.

These four extensions are described in an article which appeared at JMLC'97 (abstract and article (36402 bytes)).

As soon as the translator from extended Java to plain Java is ready for distribution, we will make it available for download.

Last updated by Andreas Krall on March 17th 1997.