On Tuesday, 20 August 2013 at 12:49:36 UTC, Luís Marques wrote:
On Tuesday, 20 August 2013 at 07:45:28 UTC, Paulo Pinto wrote:
...
I don't quite agree with this. Imagine if I said "they just
have to change their Javascript compilers to produce native
code". It's clear that the semantics of the JS language do not
map well enough to the x86 semantics for us to consider the
produced x86 code to be "fully native". It would be x86 code,
but you wouldn't be able to do systems programming, like in C++
or D. To a lesser extent the same is true with, say, C#. The
design of the language makes it less native to a x86 CPU than
C++.
Native code has nothing to do with systems programming or the
mapping of
one-to-one from language to microprocessor instructions.
Before the Java and .NET craziness, VM everywhere, all mainstream
compilers generated native code.
Had Sun and Microsoft decided to generate native code instead of
their current solution, we wouldn't even be discussing this.
This managed vs native is a marketing concept spread by Microsoft
when they introduced .NET and wanted to make a distinction when
talking to Windows developers.
And the main reason why young developers now think that any
strong typed language needs to be executed by a VM.
Language semantics always matter, regardless how the code is
generated.
--
Paulo