On Wed, 5 Mar 2014 18:20:43 +0100
Alexander Rødseth <rodseth_AT_gmail.com> wrote:
> If you don't think the definition of a compiled language is that it
> can be compiled down to native code, I would love to hear your
> definition.
Well, then any language would be a compiled language.
The problem here is, that the language interpreter does certain things
for certain expressions, thus compiling an interpreted language only
involves knowing what the interpreter does and putting it into direct
system calls.
However, most interpreted languages haven't been designed to be
compiled. Thus, the syntax may be very simple, but what is interpreted
in the end tends to be very complex (take Java and Python as good
examples for that).
> Some even think that Java can be counted as a "compiled language",
> even though it only compiles down to bytecode (until JIT-ed). Regular
> Python also compiles down to byte code (.pyc/.pyo), so if you should
> happen to think Java is a compiled language, surely you must think
> that Python is a compiled language too.
Java definitely is an interpreted language, because the computer needs
a translator to understand what the hell is going on.
If you compile Java, the resulting machine-code may run as expected,
but is far from a cleanly written C-program because of the overhead and
because of the fact Java hasn't been designed to be compiled, but
interpreted.
> C programs can also be run as scripts, but it doesn't make C a
> scripting language.
Where did you pick that up?
> I think the compiled/scripting distinction is pretty meaningless. It's
> more interesting to consider which languages are faster and if low
> level code can be called or not (can you call C functions, could you
> write an operating system?). Arguably, expressiveness and developer
> productivity (however measured) might be even more important.
I agree on that point. Let's not get hung up at the definitions, but
return to a constructive discussion.
Cheers
FRIGN
--
FRIGN <dev_AT_frign.de>
Received on Wed Mar 05 2014 - 16:58:07 CET