News for hackers. Stuff that matters.
Re:Functional programming is not popular because it is weird... by thaumasiotes on Tuesday September 14, 2021 @05:11AM (#28522110)
> It is almost forgotten now, but the platform which carried Java to critical mass was the browser.

I'm still confused by the cycle of

- You can run Java applets in a web browser!

- Ew. Time to stop doing that.

- I've had a brilliant idea! We need a bytecode-based VM in the browser so a web page can run arbitrary code.

- I'll call it "WebAssembly".

Re:Functional programming is not popular because it is weird... by TeMPOraL on Tuesday September 14, 2021 @05:35AM (#28522277)
Other than security, the other bad thing about applets was that they were very slow to start, and required a Java runtime that did not come bundled with the browser - you had to download an installer for it manually, install it, and then the thing was constantly nagging you about updates (and, IIRC, the updating agent or whatever it was that sat in my tray noticeably degraded the machine's performance even if nothing was using JRE).
Re:Functional programming is not popular because it is weird... by coldtea on Tuesday September 14, 2021 @09:34AM (#28524545)
Here:

- You can run Java applets in a web browser!

-> Yeah, so? There are all crap, slow to start, big on resource bloat, slow to draw, and don't offer much).

-> Ew. Time to stop doing that.

Then 15+ years passed, during which JS became the dominant way to build CRUD/Enterprise/form-based/and more apps, got big features (from WebRTC to an embedded DB, and from accelerated canvas and 2D graphics to MIDI). And it even hit big on the server too.

Then: - I've had a brilliant idea! We need a bytecode-based VM in the browser so a web page can run arbitrary code.

WebAssembly, is faster than Java Applets was back then, has easier ties to the DOM for UI (as opposed to being a sandbox), can be used to supplement conventionally written web apps, and is not tied to a single company.

So, quite a lot of differences due to time, and also in the characteristics of the technologies involved.

Re:Functional programming is not popular because it is weird... by kaba0 on Wednesday September 15, 2021 @01:51AM (#28535705)
Well, it’s not hard being faster than 20 years old tech. Also, webassembly still doesn’t have proper bindings to the DOM (and seriously, at the time we could be happy that a static DOM could be displayed), and java is one of the very few languages that actually has a proper specification allowing independent implementations, and it is not just saying that “the spec is whatever code we write”.

So these comparisons frankly make no sense as every such shortcoming could have been easily fixed in 20 years.

Re:Functional programming is not popular because it is weird... by coldtea on Wednesday September 15, 2021 @03:52AM (#28536433)
>Well, it’s not hard being faster than 20 years old tech.

Yes, but it was even more hard to make Java applets run with any acceptable speed in 1997, which is what mattered for their deprecation. Understadingly people didn't just say "let's suffer them for 10 years until the hardware catches up to make them tolerable".

>Also, webassembly still doesn’t have proper bindings to the DOM

Yes, but still better than what applets had :-)

>So these comparisons frankly make no sense as every such shortcoming could have been easily fixed in 20 years.

It would make even less sense for people in 1997-1999 to stick with applets because "such shortcomings will be easily fixed in 20 years". People use what works now, or at least offers a serious advantage despite the shortcomings. Java applets then didn't offer much.

Re:Functional programming is not popular because it is weird... by kaba0 on Wednesday September 15, 2021 @04:12AM (#28536549)
> Understadingly people didn't just say "let's suffer them for 10 years until the hardware catches up to make them tolerable".

It’s funny because that is essentially what happened. Other than flash (which suffered essentially from the same shortcomings as applets, but at least had a productive environment to create them), there was nothing that replaced these technologies for many years to come. Canvas rendering came much later and only with much more recent browsers did it have acceptable performance. It is not accident that many people long for the old web which was strangely more interactive in some cases than what we have today.

Don’t get me wrong, java applets were shitty. But we sort of threw it all away instead of fixing it, which in hindsight seems to have been an easier road (since the JVM has always been the state of the art runtime, and JS engines had to catch up from zero). DOM integration into an object oriented language would have been much easier than what webassembly does through JS bindings, and lack of security was frankly more of a mindset back then, and the jvm could have been sandboxed just as “easily”* as js engines are.

* it is a hard thing to do, but it happened to JS engines because the money was there. Integrating the JVM with proper sandboxing would have required less money/energy.

Re:Functional programming is not popular because it is weird... by 1f60c on Tuesday September 14, 2021 @05:25AM (#28522210)
Correct me if I'm wrong, but I think the problem with applets was that they were too powerful and it took eons for vulnerabilities to be fixed.
Re:Functional programming is not popular because it is weird... by goto11 on Wednesday September 15, 2021 @04:11AM (#28536543)
The problem with Java applets was not the use of bytecode or a VM. The problem was that it was slow to start so you looked at a grey rectangle for a long time before anything happened. Flash was much snappier, which is why it won out over Java. Flash also had better development tools targeted multimedia and games.
Re:Functional programming is not popular because it is weird... by malft on Tuesday September 14, 2021 @08:30AM (#28523722)
Java has all the security logic INSIDE THE VM.

That's the big difference.

Re:Functional programming is not popular because it is weird... by pjmlp on Tuesday September 14, 2021 @05:26AM (#28522215)
- Now you can go back to run Java applets in a web browser!