News for hackers. Stuff that matters.
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.