Resources for Ada

Ada and the Web and Java

Ada vs. Java vs. C++
Intermetrics: Ada/Java section
Aonix: Ada/Java compiler
GNAT/Java idea


Sun's Java site
ISO Java Study Group


Lovelace tutorial: Java section
SIGAda Web working group


Decaf, Java class Decompiler
(written in Ada 95)

One of the most exciting developments after the revision of Ada (what we now call "Ada 95") is the fusion of Ada technology with the WWW.

"How?" you ask. Sun's "Java" technology adds "live" elements to otherwise static pages downloaded through the WWW. What is usually referred to as "Java" covers three aspects:

"So?" you ask. Well, there are two Ada-to-JVM compilers. Intermetrics (AppletMagic) and Aonix (ObjectAda) have re-targeted their Ada 95 compilers to generate j-code. And some people are toying with the idea of re-targeting GNAT to generate j-code.

Thus, we can write WWW (Beta) applets in Ada 95! Imagine that: you take some of the millions of high-quality Ada code already in existence, adapt them to interface with the Java predefined library, and presto! you've created multimedia, networked, or distributed applications that can be downloaded by millions and executed on countless machines. That is cool.

And you won't even need to learn a new language: Ada is already known, it's standardized, it has a validation suite and hundreds of validated compilers, and it interfaces without problems to components already written in other languages (e.g. in the Java language itself).

Compare that to the effort required from C++ programmers who may believe that Java is somehow "like" C++. They cannot use C++ for WWW applets, so they will constantly hit walls as they discover that their usual C++ idioms do not carry over to Java. Ouch! For additional details, see our minimal comparison of Java with C++ and Ada 95.

Ada 95 is what the Java language should have been. Fortunately, it will be possible to use Ada 95 and the Java technology together without being dragged into another new, still evolving, C-syntax-based, non-standardized language.

Another interesting (or shall we say "striking") aspect is that the Java virtual machine includes garbage collection. This means that we will soon have access to the first Ada system that collects garbage, should any be left around... In other words, this is the end of the mythical, or was it mystical, garbage collector allowed but never required by the Ada reference manual.

A Java Study Group has been established by ISO to investigate the possibilities for international standardization of an architecturally neutral applications environment for distributed applications. The Sun Microsystems Java environment is a popular example of this capability. See the September 27, 1996 announcement.

To probe further, check the Ada/Java section of Intermetrics and read an excellent introduction to the use of Ada for Java programming, in David Wheeler's Lovelace tutorial -- and of course see Sun's Java site. There is also a page for the SIGAda Web working group (still under construction, and slow because loaded with big graphics).

An interesting application written in Ada 95 is Decaf, a Java class Decompiler. Version 1.0 provides similar output as the javap program included in the Sun JDK distribution; the author has ambitious plans for future developments.

Page last modified: 1998-02-09