Terry Westley wrote:
> Here's a naive question about JVM/AVM:
> Instead of creating a new AVM, is technically and politically feasible
> to extend the JVM "standard" to add the capabilities we'd like to see
> in an AVM? Then, if I target code to this JVM/AVM, I need only have
> users fetch the latest version of the JVM.
> I'm worried that a separate AVM would go nowhere if it's just targeted at
> the Ada niche market.
The value of the JVM is that it is already on the desktop or
server machine. That wouldn't be true about an AVM.
Given the new Microsoft C# VM (CLI), Sun might be willing to consider
doing a bit to enhance the JVM to better support Ada. In general,
the JVM is already pretty good for Ada. My only complaint is that
it lacks composite "value" types. All composite objects in the
JVM are necessarily on the heap.
The C# VM has support for composite objects that
live only on the stack, and can be returned
by value from a function. This can dramatically enhance the efficiency
of using abstract data types. As it is, the JVM cannot be used
in a real-time environment unless you stick to manipulating ints,
floats, and pointers as your only kinds of local variables. Even
something as mundane as a complex number, or a 3-vector, could not
be manipulated without significant garbage-collection overhead in
I know the Java community, and especially the Real-Time Java
community, have talked about "value" types, but nothing has
happened yet. Note that both of the Real-Time Java "standards"
have some notion of stack-resident "objects" but it is unclear
how that would be supported by the JVM, other than by some
magic as yet unspecified JVM extension.
> Terry Westley
> [log in to unmask]
-Tucker Taft [log in to unmask] http://www.averstar.com/~stt/
Chief Technology Officer, AverCom, Inc. (A Titan Company) Burlington, MA USA
(AverCom was formed 1/1/01 from the Commercial Division of AverStar)