Comment by wyager

4 days ago

I'm curious if people have a good story for why WASI will succeed where Java failed

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.

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.

  • >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.