[Mono-list] Wheen someone asks about java...

Tom tom7ca@yahoo.com
Sat, 14 Jul 2001 23:08:45 -0700 (PDT)

--- Bob Salita <bsalita@hotmail.com> wrote:
> Which major, mature and widely used languages
> are these? Is the implementation major, mature
> and widely used, or just the language?

Among compilers, I have used Jython (Python) and
Scheme.  I have experimented with Eiffel and Ada
compilers to JVM, and they seemed OK for application 
delivery, but I don't have much experience with
them. Phipps, while at IBM, built a compiler for 
NetRexx, a widely used IBM scripting language.
PERCobol looks pretty serious to me, although I
haven't used it.  AspectJ is a Java extension that
is more and more used for commercial projects (there
is no equivalent in the C# world).  And there is
a Fortran77 compiler that's been used to port the
Linpack libraries.

In addition, there are numerous Java-based
that are quite important for practical applications
(several JavaScript interpreters, Tcl, etc.).

> Roger's point is that there is much talk about the
> JVM supporting many languages but nearly zero major,
> mature and widely used languages.

Well, it's hard to tell how widely used these tools
are: most of Java development is in-house and server
side to begin with.  

However, I suspect that demand for these systems
is actually low, not because of any problems with the 
JVM, but because most organizations find it easier to 
standardize on Java.  The language is only a small
part of the Java platform, and if people are going
to invest a lot of time in learning the APIs, they
might as well learn the Java language with it and
benefit from a huge developer community, lots of
documentation, and mature development tools.

I also have my doubts that if CLR actually catches
on, anything other than C# will be very significant
in the long run.  Vague promises of C++ and VB
by Microsoft are a carrot to their developers to
make the switch more palatable, but I don't think 
they are really meaningful.

> If the JVM now supported legacy C, C++ and VB, 
> many of us would head down your way. If you can 
> provide that, its not to late for us change horses.

As far as I can tell, CLR doesn't really support C, 
C++, or VB.  It supports "managed C++" and a new 
variant of VB that is not compatible with the old one.
CLR also supports easy interoperability with native
C++ objects, but so do some Java runtimes, including
the GNU Java runtime, do.

In principle, it is possible to compile unmodified
C/C++ to moderately usable JVM code; it has been done
for other, similar platforms about 15 years ago.  I'm 
unconvinced that it is worth doing, however.

I also think it would be pretty easy to extend a
JVM to interoperate automatically with a C/C++
either based on bytecodes or based on native code.
GNU gcj is one example, and adapting and integrating
EiC or CINT into a JVM wouldn't be so hard either.


Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail