Live data from Hacker News

The decline and fall of Java on the desktop

jdeploy.substack.com

151–160 of 362 posts

Re: The decline and fall of Java on the desktop

#151

Earlier quoted context omitted.

Really it was the Chrome v8 engine paving the way for electron and Single Page Applications.

It's not because of V8. It's because HTML+CSS (without even any JavaScript) is still the fastest, most effective way to build a compelling and coherent UX/UI for any platform right now. WPF (nee Avalon) was a contender in the mid-2000s, but for some reason Microsoft put it on ice by 2007 leaving the community stuck with incredibly verbose and bloated XAML markup which only made development more tedious than WinForms,…

> It's because HTML+CSS (without even any JavaScript) is still the fastest, most effective way to build a compelling and coherent UX/UI for any platform right now.

I would agree if you mean cross-platform, but other than for the web specifically, basically every platform has a much better way to create an app for it. The web is seriously so lacking on several trivial fronts that it is laughable, layouting being one example, but just creating a slightly modified version of a native widget like calendar require the recreation of the whole thing with quite bad primitives while goddamn WinForms could deal with it through inheritence.

Re: The decline and fall of Java on the desktop

#153

This article seems quite off. First, it conflates browser and desktop. Yes, applets died an early and deserved death. That is different from what happened with desktop apps. A univeral GUI (e.g. Swing) was wrong-headed. I don't actually know what happened after people moved away from Swing. But even in the time range TFA discusses, Intellij IDEA, an IDE written in Java, was a success. It has always been multi-platfor…

The exception doesn’t prove the rule. It’s ridiculous that I have to modify Java VM arguments so IntelliJ can use more ram and actually index my projects. The IDE is great, but Java undoubtedly makes it worse.

That’s the fault of jetbrains, not java. They release it with way too old JRE with custom patches and quite shitty default arguments, while it works eons better with no argument at all on an up-to-date jdk, but even more so with the single setting of a low-latency GC, ZGC.

The JVM is a beast, why do you think a good deal of all serious web applications run on top of it?

Re: The decline and fall of Java on the desktop

#154

Earlier quoted context omitted.

I am not sure that was the problem, The way I recall it: The apps were typically pretty ugly and Windows had a near monopoly at the time. If either of those were not true, it might have fared better.

Swing default appearance may look alien on windows, but I remember a demonstration from a friend of mine where he turned it to native appearance with a few clicks. You can see some successful java desktop apps with native UI, one I remember is utorrent. Also, windows users are very used, specially at the time, to inconsistent appearance. So, I don't think default appearance on windows had anything to do with java's d…

Hell, windows has like 6 actually native looks at the same time still running next to each other, often with duplicated functionality..

Re: The decline and fall of Java on the desktop

#155
I've been developing Java desktop app for more than 25 years. I think the problem of the early days was the start up time of Java and the fact that reflection and (de)serialization was causing too much security problems for Applets. Once the applications started, I don't remember them being slow. Hotjava (1995), JDK applets (1996) or Forte (2001).

The fact that it doesn't look exactly like the OS is not I think a big problem for users. Applications like Google Chrome, Discord and Electron apps don't look native and nobody complains about it.

Re: The decline and fall of Java on the desktop

#156

Java's only claim to fame is that's the granddaddy of C#, a far superior language and IMHO one of the greatest computer languages ever created. In addition, Java was ahead of its time, with mid-1990's computing power not up to the job of letting it run smoothly on lower and mid-tier PC's. It also required, for that time, an egregious amount of RAM memory.

C# is a "standing on the shoulders of giants" kinda language IMO; they learned a lot from Java and evolved on it, mainly in terms of developer ergonomics and features that makes their life easier and less tedious. They had less of a design-by-committee team behind it as well, making development a LOT faster than Java, which feels like it's run by ancient, slow moving behemoth companies like Oracle and IBM. I mean I g…

> C# raced past Java in terms of 'fun to work with'.

I agree that language-wise, C# is definitely ahead. But just a heads up that I think it is also dangerously going towards the fate of C++ (or even already there) where no one person can hold the whole language in their head, and new but not learnt features might introduce problems down the line. For a language, what gets implemented is an important question but perhaps what doesn’t get is even more important, and Java (after the stagnation at the end of Sun) is a slow-mover but when they do, it is usually the best direction/approach. For an example, C# chose (even created afaik) async which is a good feature, but arguably a runtime language could have got away without any new feature and implement it in the runtime alone, a la project loom in java.

Re: The decline and fall of Java on the desktop

#157
Bottom line today if you can't deliver your app on the web only, you will most likely end up at best with:

- An Electron (Desktop) app

- An React Native Mobile app (that needs to be delivered through both Google & Apple proprietary channels)

Whether you loved or hated Java the language, it is hard to deny we ended up in a terrible place:

- We lost all freedom on mobile

- We rely way too much on Blink & Webkit

- We traded Java for Javascript

- It's still relatively slow

- We haven't fixed the security problem on desktop

- Devs now have to manage a lot more technologies & moving parts

Re: The decline and fall of Java on the desktop

#158

High school AP Computer Science classes are still teaching Java today. I suppose many of the skills it develops are applicable to other languages, but this still needs to change. However ... Minecraft, anyone?

Why should it change? Java is one of the most popular languages used today

As discussed in the article, it's slow and has compatability/portability issues. And I don't really want to play the log4j card, but...

Re: The decline and fall of Java on the desktop

#159
post #67

Earlier quoted context omitted.

not really a desktop app though, is it? And Minecraft is also a notable outlier. Outside of mobile, there are very few games written in java on PC or consoles.

How is it not a desktop app? Millions play it on their desktop.

Still, not really in the sense of the article - he's talking about desktop apps like word processors or email clients: Minecraft's GUI is just a big canvas that the 3D renderer renders into. It's not using any windowing components - IIRC, even the menu and buttons were custom.

Re: The decline and fall of Java on the desktop

#160

Earlier quoted context omitted.

Java is an amazing platform and language. If not Java itself then Kotlin and the JVM. I think it’s underrated and I wish people would bring back web and mobile support so it can be truly cross-platform.

Web support... I think there may be WASM compilers for Java, but there's still going to be a lot of overhead. Mobile, there's Android... or did you not realize that's Java?

There is TeaVM which runs java byte code as efficient javascript or wasm. But Google also has j2cl which can compile java to very efficient javascript code.

As for android, well, let’s just say that android java is not real java.

Post reply on HN