5 ms·
FWIW, you are my single most respected commenter on HN, and I often find that you've commented with what I would have wanted to say myself were I only a bit qui
by lproven 3y ago
FWIW, you are my single most respected commenter on HN, and I often find that you've commented with what I would have wanted to say myself were I only a bit quicker.
But while this is very interesting and I am learning a lot from it, I do think you're stretching a point to breaking here.
> Here we go,
:-)
> Android uses the Linux kernel, tranparently!
>
> Officially only native shared libraries are allowed by non-rooted devices.
OK. I didn't know that.
> Windows Phone 7 only allowed .NET applications for common developers, C++ applications required a special license from Microsoft.
Interesting.
> Windows Phone 8.x used MDIL (Machine Dependent IL), with a on-device linker at installation time.
OK. Both only ran on Arm32, though, didn't they? So, not native, true, but also not cross-platform binaries?
> Windows Phone 10 used MSIL as main package, and Windows Store does the job of AOT compiling that MSIL with a so called cloud compiler.
Again, fascinating stuff. Still Arm-only, though, right?
> Doesn't matter, unless one is using Metal C, all applications use TIMI.
I submit that it does.
I was saying that 2 OSes I knew of allow the same binaries to run on multiple different CPU architectures: Inferno and Taos/Intent/Elate. There are no native binaries and if you compile source to a binary, the result is inherently natively cross-plaform.
These examples are all fascinating but they are examples of a different phenomenon: where the OS does not allow or does not have native object code for the metal underneath, the only permitted binaries are in some abstract form or for some abstract architecture...
But if the OSes only ran on one arch, then the cross-platform part of the equation is missing.
> What matters is the orignal version.
Did MCP run on >1 native CPU arch?
> There were commercial systems using native compilation like Corvus Systems workstations.
Did the resultant binaries run on different platforms, though?
> Modula-2 was designed for Lillith and M-Code originally.
Originally, maybe, but that is not where it enjoyed mainstream success. I first encountered it as Topspeed Modula-2, the fastest compiler of any kind for the original IBM PC and compatibles.
> Lillith uses bytecode with interpreter on microcored CPUs.
Bitsliced, weren't they?
Anyway, I did not know that. I'd argue that in all other implementations it was just a natively-compiled language like Pascal before it.
> Oberon System 3, nicely documented on its manual.
I will read up on that. I see someone's added it to the Wikipedia page since I did quite a bit of work on that.
> Xerox PARC systems use bytecode formats, before booting the OS, a microcoded interpreter for the respective bytecode format is loaded into the CPU.
OK.
But did that bytecode run on anything else?