3 ms·
From a cursory look, jvm byte code and wasm byte code seem quite similar. where is the major mismatch btw underlying machine abstractions?
by geokon 6y ago
From a cursory look, jvm byte code and wasm byte code seem quite similar. where is the major mismatch btw underlying machine abstractions?
- The_rationalist 6y agoWasm is just a low quality jvm with lower human resources
- geokon 6y agoCould you be more specific? What's lower quality?
- The_rationalist 6y agoNot lower quality per se but the feature set is order of magnitude smaller and thus is a missfeat for modern languages
- jlouis 6y agoIt's just a different abstraction level. Taking the argument to the extreme, assembly is a misfit.
- pawelmurias 6y agoX86 assembly/native code offers more features than wasm but is not portable or safe to execute. Webasm is less powerful then graalvm/truffle.
- kaba0 6y agoIt is basically just a portable cpu architecture with everything it entails (manual memory management, etc). While there are plans for a gc, it seems hard to fit into this model (but I’m sure the team can pull it off). It is basically made so c/cpp and other low level languages could be run inside browsers, and I don’t really see the point of it? Like, it is probably good for a video editor running inside a browser, but it will probably mostly entail all sort of mining, unnecessarily usage of cpu and the like. And it won’t magically improve performance, since at the boundary , calling javascript is really expensive, usually much more than writing the whole thing in js. Unless of course if someone does plenty of numerical computations.
- pjmlp 6y agoPolitics. Here is Flash doing the same with CrossBridge toolchain in 2011 with Unreal 3 citadel demo https://adobe-flash.github.io/crossbridge/ https://adobe-flash.github.io/crossbridge/ https://www.youtube.com/watch?v=UQiUP2Hd60Y https://www.youtube.com/watch?v=UQiUP2Hd60Y Then there was PNaCl, but it wasn't good enough hence asmjs, and then WebAssembly, which is supposed to be secure. Well, "Usenix Security '20-Everything Old Is New Again: Binary Security of WebAssembly" https://www.youtube.com/watch?v=glL__xjviro https://www.youtube.com/watch?v=glL__xjviro TedDRA ANDF, IBM i, z/OS, CLR and BREW are all examples of bytecodes that support C and C++.
- kaba0 6y agoYes, I absolutely dislike the direction web browsers went - was just trying to illustrate the point of wasm. In a more ideal world, I would like to see the JVM underneath modern web browsers
- vnorilo 6y agoJVM has first class objects, exceptions and managed memory. WASM doesn't. This does not make one better than the other, just indicates their intended uses.
- moonchild 6y agoThere are proposals currently in progress to add GC and exceptions to wasm. As for objects, it's not clear to me how important it is to have runtime support for those.