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:

JVM, a virtual machine to execute WWW applets stored in j-code
(the Java pseudo-code, affording portability and compactness of
code, according to the same principles that led to the UCSD Pascal
System's p-code--fun and fond memories!--and to Smalltalk's bytecode);

Java, a language derived from C++ but modified so as to be closer to
Ada 95 (on purpose or not, it does not really matter; they wanted a better
language than C++ and ended up moving closer to Ada 95);
and

HotJava, Sun's WWW browser that currently understands and executes
Alpha applets (other browsers also have or will have the ability
to download and execute WWW applets; for instance Netscape 2.0 understands
Beta applets).

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.

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.