[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Portable Self?
On Tue, 30 Jul 1996, ian (i.r.) woollard wrote:
> ...
> I notice that when you want to execute Java you have to translate the
> Java code into byte codes so that they can be executed. However,
> there's nothing very special about the bytecodes that Java produces;
> in theory they could be written in any language.
> ...
I know this was done with Ada at some point, and that it worked.
> The problems I see are:
>
> - interfacing to libraries (presumably not too hard)
> - actually writing the compiler (presumably Jecels version of self is
> closest to what you want)
> - the dynamic nature of self code (e.g. potentially changing
> constants/code on the fly-don't know whether Java allows this sort of
> self modifying code!)
I agree that this would be excellent, and I also agree with the problems
listed above.
I suspect the Ada project (a reference to which I could probably find if
someone wanted) worked well because of a tight mapping between Java
classes and Ada classes.
Unfortunately, the mapping between Self and java would not be so clean.
You can't change methods (code) on the fly. Java is very much a
class-based language.
You still could probably find a way to compile Self into Java. It
woudn't be nearly as fast as it might be if you had the tight mapping,
but it could work. And it really might help to get more people
interested in Self, which would be good.
(It kind of reminds me of a tradeoff in Scheme->C compilers: you can use
C functions to map Scheme functions, and the C stack to map the Scheme
stack, which works fine in every way EXCEPT continuations. So then you
have to compile Scheme to C with a higher level of abstraction.)
Java is more than a language; it's also a national obsession, a lot of
excitement, and a lot of hype. No reason not to take advantage of the
energy! In a sense, Java is also about an increase in interest in OO
programming and in good design.
Greg Travis
greg@earthweb.com