Programs written in Java require installation of a middleware called Java runtime. It adds extra friction for end-users. And even if one has Java runtime installed, a newer version may be necessary for a recently-published application.
With WASM it may be the same, unless al major OS vendors integrate a WASM runtime so that it doesn't need to be installed separately.
It doesn't have to, the program can bundle its own jre as its often the case, and then you also don't have to worry about jre compatibility. Downside is then you have many jres installed and of course you can't trust their sandboxing.
> Programs written in Java require installation of a middleware called Java runtime.
It's possible to link or embed a Java runtime in an existing application.
My main one is: distribution & access. If major browsers implement the WASI runtime then using and distributing a WASI app will be way simpler than the Java equivalent ever was.
My main one is that WASI has benefitted from an additional 31 years of accumulated industry-wide experience compared to when Java was first released.
Plus, Larry Ellison doesn't own WASM: "Lawnmower Not Included"!
So where has the experience gone in the support of C and C++ for WASM?
Programs written in Java require installation of a middleware called Java runtime. It adds extra friction for end-users. And even if one has Java runtime installed, a newer version may be necessary for a recently-published application.
With WASM it may be the same, unless al major OS vendors integrate a WASM runtime so that it doesn't need to be installed separately.
It is exactly the same for WASM outside of the browser, and Java has Android as counter part to built in runtime.
Yes, but inside the browser is a freaking big use case.
2 replies →
Java's vm does not start in milliseconds nor has dozen independent implementations in every ecosystem
1 reply →
>And even if one has Java runtime installed, a newer version may be necessary for a recently-published application.
WASM doesn't remove version churn, the linked article literally discusses a newer version. Oh and the wonderful web compat story.
> It adds extra friction for end-users
It doesn't have to, the program can bundle its own jre as its often the case, and then you also don't have to worry about jre compatibility. Downside is then you have many jres installed and of course you can't trust their sandboxing.
> Programs written in Java require installation of a middleware called Java runtime. It's possible to link or embed a Java runtime in an existing application.
Because Java was doing nothing similar, a better comparison would be .NET CLR that actually tried to be a decent compilation target.
Also security, Java has reflection so you cannot reliably sandbox java libraries
My main one is: distribution & access. If major browsers implement the WASI runtime then using and distributing a WASI app will be way simpler than the Java equivalent ever was.