3 ms·
> I'm 100% sure Java is to blame I shouldn't but I will anyway: People who are 100% sure of things are generally wrong and this case is no exception. I'm bei
by brian_cloutier 8y ago
> I'm 100% sure Java is to blame
I shouldn't but I will anyway: People who are 100% sure of things are generally wrong and this case is no exception.
I'm being facetious here but what if I told you that nearly all machines are virtual machines? Your CPU doesn't really execute instructions, it interprets them by first translating them to microcode.
There's nothing inherent to the idea of not coding directly on the lowest level possible which forces your programs to have bad performance. Zero-cost abstractions really do exist.
I mean, Erlang uses a virtual machine called BEAM, erlang programs sit at a remarkably high level of abstraction, and it's not like erlang systems are known for their chronically high latency.
The Android Runtime also compiles applications before running them [1]. The instructions being run are native code in elf files [2].
Certainly Android has had latency issues, and I'm no fan of Java, but that was more of an architectural thing than a Java-Is-Such-A-Bad-Tool-Lol thing.
[1] https://source.android.com/devices/tech/dalvik https://source.android.com/devices/tech/dalvik
[2] https://stackoverflow.com/questions/26254538/difference-between-dexopt-and-dex2oat/26263071#26263071 https://stackoverflow.com/questions/26254538/difference-betw...
- rayiner 8y ago> I'm being facetious here but what if I told you that nearly all machines are virtual machines? Your CPU doesn't really execute instructions, it interprets them by first translating them to microcode. Well that’s not true.
- Phrodo_00 8y agohttps://en.wikipedia.org/wiki/Microcode https://en.wikipedia.org/wiki/Microcode