3 ms·
> A cross platform byte code that runs in some kind of emulated machine was done ages ago and called Java. Java does not emulate a machine. It abuses the term
by moring 4y ago
> A cross platform byte code that runs in some kind of emulated machine was done ages ago and called Java.
Java does not emulate a machine. It abuses the term "virtual machine" for what is actually a compiler back-end. A particular difference to WASM is that the JVM's idea of how memory works is totally different from both WASM and real machines.
> And they seem not-exactly-immune to security problems.
This has nothing to do with the JVM but with the standard library, which tries to implement security for very-high-level operations. WASM is closer to browsers, which already implement security in a much more robust way.
> Then we did containers and they were better.
If you think that containers are the way to run native code in the web, I'd suggest you build a proof-of-concept. Because to me that doesn't sound like a great idea at all.
> ... direct access to network hardware ...
Talk about security nightmares...
- RantyDave 4y agoContainers are running native code. iPhones, for instance, seem happy to run containers. And it's my (perhaps shaky) understanding that the multi-process model for browsers involves running processes with reduced privileges - containers, in other words, even if not specifically "docker" ones. AWS lambda is built on a VM/container hybrid IIRC. And VM's, again, have direct access to hardware. This is what this SR-IOV business is all about and how we (RoCE) can have remote disks across networks that run even vaguely well. Virtual machines have been running arbitrary code for a long time now, I think this is pretty much a done deal.