Hacker News new | ask | show | jobs
by wyager 13 days ago
I'm curious if people have a good story for why WASI will succeed where Java failed
4 comments

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.
Not really, I don't need COM / CORBA on the browser.
Good for you! In other words, you don't write compute heavy applications for the browser?

I never used COM or CORBA, by the way, just too freaking ugly.

Java's vm does not start in milliseconds nor has dozen independent implementations in every ecosystem
Folks tend to think only Oracle does Java, and the only place to get it is from https://www.java.com.

Maybe they should broaden their horizons.

https://en.wikipedia.org/wiki/List_of_Java_virtual_machines

And some like PTC or microEJ are missing from the list.

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

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

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