Live data from Hacker News

The decline and fall of Java on the desktop

jdeploy.substack.com

91–100 of 362 posts

Re: The decline and fall of Java on the desktop

#91

A Steve Jobs quote: "We want to bring Java back to the desktop in a really big way. I'm here today to personally tell you we are working hard to make Mac the best Java delivery vehicle on the planet. The biggest thing we are doing is we are going to bundle Java 2 SE into every single copy of Mac OS X the upcoming Macintosh operating system that we ship later on this year." Apparently, he changed his mind around OSX 1…

Apple went all in on Java, but the developers didn't follow.

The unusual syntax of Objective-C was always seen as a hinderance to OpenStep/Cocoa adoption, and Java was seen as the solution to that problem.

But Java wasn't a perfect fit for AppKit development, and once developers wrapped their heads around Objective-C most of them stuck with it rather than deal with Java/Cocoa idiosyncrasies. With few developers, the Java/Cocoa bridge died.

Re: The decline and fall of Java on the desktop

#92
post #33

IMO the real decline was Oracle. Java used to be a slowly rising language and set of platforms with benevolent oversight from SUN and at least the outlook that it was one of a few things you might want to add after Microsoft's Windows or Apple's OS (Macintosh or later OSX). Then Oracle bought SUN and everyone knew all of the good would eventually be strangled out by the lawyers and models that sought to dominate and…

Oracle certainly wasn't good for Java. But Java-on-the-desktop had been struggling for years before that. You either bundled a complete JVM with your application (fine if you're making a 500MB IDE, not so good for anything smaller) or you had the embarrassment of directing your users to an installer that bundled the Ask toolbar. They might even end up with the security-hole-riddled java browser plugin. And even once…

In fact Oracle saved Java. Sun was struggling and Java was stagnant at the time. There was hardly any big innovation in the last years under (the) Sun. Java Modules started in the Sun age, but they didn't get it out of the door. J2EE / Java EE was also kind of dozed off.

So, while Oracle is for sure not the most sympathetic company, it is good at execution.

Re: The decline and fall of Java on the desktop

#93
post #38

Earlier quoted context omitted.

I had to use OpenJFX for school recently, and while I still hate the Java language, I had to begrudgingly admit that JavaFX really wasn't that bad at all. It more or less did what I wanted it to do, the resulting GUI didn't look too bad, and it performed well enough. I ended up using it for a Clojure app a bit later. It's good enough to where I think that if JavaFX had come out around the same time as Swing, the Java…

I hate the old school way of writing Java more than any other language. I love writing in "modern" Java more than any other language. Lombok, RxJava/Reactor where possible, and monads everywhere. It is beautiful and succinct, though I totally appreciate it may not always be easy to introduce on older frameworks or legacy projects.

Haven't used Lombox, RxJava is great, but it just feel like bandaids on a language that wasn't really designed for it.

There's no accounting for taste, but I'll take either Scala or Clojure on the JVM any day of the week. Scala's monads don't feel like a library feature, they feel baked into the language...because they are.

Re: The decline and fall of Java on the desktop

#94

A Steve Jobs quote: "We want to bring Java back to the desktop in a really big way. I'm here today to personally tell you we are working hard to make Mac the best Java delivery vehicle on the planet. The biggest thing we are doing is we are going to bundle Java 2 SE into every single copy of Mac OS X the upcoming Macintosh operating system that we ship later on this year." Apparently, he changed his mind around OSX 1…

I never really understood why, but I can guess. Could have been political/strategic, to try to force developers onto Objective-C. Or his keen attention to detail might have just bristled at some of the performance an UI issues that many of the Java apps had at the time.

Re: The decline and fall of Java on the desktop

#95
post #6

> As new versions of Java were released, and Internet Explorer entered the scene, the HTML code required to embed your applet became increasingly complex, with different tags used for different browsers and versions or Java. The tag was advertised as the correct way to embed an applet in a “multi-browser” environment, but Internet Explorer used the tag and Mozilla used the tag. In the time I was playing around with a…

I always found this very confusing. I still do. At one point in time I think I could have explained why there were three tags. But I don't remember the specifics anymore.

Re: The decline and fall of Java on the desktop

#96
post #75
post #17

For its time, Java Swing was a really nice toolkit, and really impressive in its cross platform capabilities. That you could develop a UI directly with code without having to rely on a design file, IDE, or separate tool was very impressive to me.

From a dev perspective, absolutely. From a user perspective, no. Every Swing app I've ever used has been ugly, slow and painful. Now, that might be the fault of the developer, but at some point, you have to wonder if either all Swing devs are terrible or Java UIs are just very difficult to get right.

My experience with many Swing apps is the same. I think a large part of the problem lay with the development tools. When you create a new Cococa project in Xcode, it generates a full app with all the necessary parts to feel native. You build it, you have a functioning hello world app with your "File" menu, etc...

In Java, when you create a new Swing app, the IDE (by default) just creates an empty main() method for you. You're expected to create your own menus and windows. Trying to make the app "native" requires a significant amount of work.

Re: The decline and fall of Java on the desktop

#97
post #33

IMO the real decline was Oracle. Java used to be a slowly rising language and set of platforms with benevolent oversight from SUN and at least the outlook that it was one of a few things you might want to add after Microsoft's Windows or Apple's OS (Macintosh or later OSX). Then Oracle bought SUN and everyone knew all of the good would eventually be strangled out by the lawyers and models that sought to dominate and…

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, which WPF was slated to replace. Microsoft's effective abandonment of *their own desktop developer story* is what enabled Electron to come along and even prompt Microsoft to use Electron for Skype, Teams, Azure Storage, and VS Code - it's utterly bizzaro-land now: almost as if the Microsoft of the mid-1990s made their own website only work in Netscape.

I was at MSFT from 2012 through 2015, my observation was that the C-suite unintentionally kept OSG (Windows, etc) separate from DevDiv (Visual Studio, WPF, and all those nice cushy libraries), which led to OSG and DevDiv having to recreate each other's work and ending up with complete messes like "XAML Windows Store Apps" which turned into UWP, which no-one is took seriously because it was too limited, while Win32 is still the only real way to use Windows' "real" UI widgets. I can't explain the situation: things were dysfunctional like this long before the great layoff of 2014.

Re: The decline and fall of Java on the desktop

#98
post #67
post #29

On the other hand Minecraft is the best-selling PC video game of all time and it was originally written in Java and the Java client is the definitive experience of the game.

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.

Limewire tho

Re: The decline and fall of Java on the desktop

#99
Many things you don't know are Java are and they are VERY widely used.

Java simply wont go away because it works.

For serverside it's a nobrainer, but also for client if you have a niche consumer base.

Average joes don't understand the overhead of writing native applications and they are paying for it without knowing.

Here is my only contribution to the "desktop" Java eco system: http://move.rupy.se/file/logic.html

It has worked flawlessly on Windows, Linux and Macs for over 15 years.

Re: The decline and fall of Java on the desktop

#100
> I recall a quote from Steve Jobs around that time that "Java is a giant ball and chain"

The story I've heard from people who were in the room is slightly different. Jobs acknowledged that Java had its place on the server, but on the client-side: "Java is a big fat pig."

Post reply on HN