[Date Prev] [Date Next] [Thread Prev] [Thread Next] Date Index Thread Index Search archive:
Date:Mon Apr 19 11:02:24 1996 
Subject:Java (slightly off topic) 
From:Jonathan Cunningham 
Volume-ID:960421.01 

Has anyone thought yet about implementing Java within Poplog?

I've just started looking at the language. I have a strong hunch that
it may turn out to become a very important general purpose language
in about, say, two years time. This is because (a) it looks a bit like
C++, but C++ is too hard for many programmers to learn (not you nor
me, of course :-), and (b) it has most of the virtues of languages like
pop11 (ie garbage collector, no "bare" pointers). Plus it is pure OO.

Also, it has something I've suggested a couple of times as an option for
pop11: limited types. This has the effect that run-time type checking is
still necessary (as in pop11), but because variables are typed, it is
only necessary to do the type check at assignment time, rather than each
time the variable is used (e.g. passed to a built-in function). I'm sure
variables get used more than they get assigned to (well, they do in my
code: I don't often compute and store values which are never used). Poplog
pop11 already has this for one type: procedures. I guess it would be easy
to do it for a few other types (small integers, strings etc.) even if it
weren't done generally.

I have't got far with my reading yet, but so far the Java core looks
quite small: most of the power will come (as in poplog) from all the
associated libraries that will be developed.

Historically, big languages have always lost out (PL/1 and Algol-68 spring
to mind). C++ may be the next to go: it has too much baggage (no
language needs both references and pointers, as just one example).

What will C++ be replaced by? There are several candidates, but it won't
be Smalltalk, nor Lisp (nor Pop11 :-( ). It's unlikely to be Eiffel.
I would be willing to place a small bet that it will be some language
derived from, and very similar to, Java.

Everyone and their cat are implementing Java interpreters at the moment.
It is a short step to compiling native code instead. The Poplog environment
could be a good way to cash in on the rush, since most of the initial
necessary Java class library functionality is already available in
Poplog, and the Poplog VM is already a good match for Java semantics.

Maybe it is finally time for the mainstream language used by all and
sundry to include a GC.

Contrary views? Something I've missed or haven't read yet?

(Of course C++ won't go away, but maybe time critical code will be
written in C - as it sometimes is now - with a compiled Java (instead of
C++) used for the rest. Similarly, Visual Basic has a long future ahead
of it: but I don't want to stray even further off topic).

Jonathan