I don't need to rewrite my apps in order to run them on a different architecture. Recompiling is enough for compiled languages, and for interpreted languages you just need to add the interpreter appropriate to the architecture.
I suppose you missed that it was a bit tongue in cheek but if you want to take it seriously, I think it still stands. You can just compile to JVM bytecode instead of the assembly of your vm of choice. It's indeed different in practice but I don't think it's all that different in principle.
Really though, I was just pointing out the tautology of your previous comment. It boils down to "it doesn't run anything that doesn't run on it."
> I suppose you missed that it was a bit tongue in cheek
Indeed I missed that! :)
> You can just compile to JVM bytecode
Perhaps, but it's a hack with no clear advantage, whereas with a container I'm just using kernel features for better isolation and resource management. The application was compiled the way it was meant to be compiled when written.
> the tautology of your previous comment. It boils down to "it doesn't run anything that doesn't run on it."
Perhaps if you take my comment in isolation, but when you put it in context it doesn't.
The thread went:
- Kubernetes reinvented VMs in a good sense (OP)
- I thought we had this kind of covered 20 years ago with J2EE (a rebuttal of OP)
- Doesn't really handle multiple process isolation and IPC as well. (your own comment rebutting the rebuttal :P )
- It also doesn't really handle anything that doesn't run on the JVM. (my comment, adding that it's even farther from the J2EE)
Hopefully this shows how my comment, when taken in context, is not a simple tautology because it adds information.