On Jan 30, 2022, at 10:08 AM, Dan Stromberg
<drsalists(a)gmail.com> wrote:
On Sun, Jan 30, 2022 at 8:58 AM David Barto
<david(a)kdbarto.org> wrote:
Yes, the UCSD P-code interpreter was ported to 4.1 BSD on the VAX and it ran natively
there. I used it on sdcsvax in my senior year (1980).
This reminds me of a question I've had percolating in the back of my mind.
Was USCD Pascal "compiled" or "interpreted" or both?
And is Java? They both have a byte code interpreter. Yes, modern Java is JIT-compiled,
but does that make Java a compiled language in the Oracle implementation, or is it an
interpreter with a pretty good runtime? Wasn't Java referred to as
"compiled" even back before the JIT compiler was added? Granted, gcj is
compiled. But Oracle's implementation of Java is commonly referred to as a
"Compiler". And what about back before Java's JIT compiler was added -
ISTR recall Java was referred to as a compiled language before the JIT addition.
And then there's the CPython implementation of Python. It too uses a byte code
interpreter, but it's commonly referred to as "interpreted". But is it
really? Granted, it has an implicit, cached compilation step, but is it less compiled for
that?
Is there consistency here?
UCSD Pascal was “compiled” into the byte code of the interpreter. I wrote a P-code
assembler in my senior year as part of the compiler class. Java started out doing the same
thing and over time native code generation was added in gcj.
David