Slava Pestov : Client-side Java is dead

There is exactly one Java application I use routinely, jedit. It is an excellent text editor. As it turns out, the author doesn’t think too highly of Java itself:

I wonder how an extensively hyped piece of software like Java 1.5 — Sun told us it was “the most stable Java release ever” — could be shipped out the door with such critical bugs. Anybody who is still attempting to do client-side development in Java is either retarded, a clueless summer intern working at Sun, or both. This must be why after 8 years of (broken) promises regarding Swing and client-side Java, there are exactly zero Java applications in wide use.

I agree with Slava. Java is a terrible platform for client-side work. Applets died quite some time ago, but now, the remaining client-side applications will live a slow, painful death.

Note: I still use Java extensively, but not for developing anything that looks like client-side applications. Yet, I seriously worry about Java’s future on the server as well… but this will be for another post…

5 thoughts on “Slava Pestov : Client-side Java is dead”

  1. Randy: I don’t think there is anything fundamentally wrong about Java regarding client-side. It is a terribly verbose language: just like C++. But people design decent C++ client-side applications. However, the implementation just sucks. For years, Swing didn’t support French (or most international) keyboards under Linux. Wait… did I write Swing? No, Swing under a Sun JVM, because but IBM and Blackdown had no problem with international keyboards. The truth is that Sun failed Java, at least as far as desktop Java is concerned.

    What’s the alternative? I think AJAX is still too hard, but if we could do it elegantly and easily, then it would eventually replace most business applications.

    For most things, a web-based applications does just fine. We just need a bit more maturity.

  2. Agree that AJAX is too hard right now; I have access to AJAX experts who did an evaluation of converting one of our Java clients to AJAX, and they unanimously declared it too hard. Give it another year or three and we may be closer.

    I haven’t tried C# myself, but as a user I’ve observed apps written to microsoft platforms performa much better than those written to other APIs. They’re just more snappy. I consider C# a good option right now.

    It’s amazing how badly Sun has botched the UI side of Java, from the terrible first releases of AWT, thru Swing, and apparently continued in their new releases, although I stopped caring quite a while back. Funny thing is, when Java AWT was coming out Sun also had Tcl/Tk, which provided a very usable UI platform. If they’d only married the two, we’d be in a happier place today.

  3. So what should we use to develop GUI applications?

    If you’re only thinking of developing apps for Windows, then C# is the most fun language available to develop GUI Windows apps.

    Cross-platform? Well, the blogosphere is hyping web-based applications that make use of AJAX… Web-based apps are cross-platform, but are they as cool as desktop apps? In my opinion, no they aren’t.

    Check out wxWidgets, I think it’s a cross-platform solutions for developing desktop applications.

  4. Java Client is far from dead. Swing is having a huge resurgence as businesses realise the benefits of thick client. Most top investment banks use Swing as an interface to their trading systems. IntelliJ IDEA is an amazing Swing app. There is such pure ignorance that pervades peoples thinking on Java Client.

Leave a Reply

Your email address will not be published. If you leave an email, you will be notified when there are replies. The comment form expects plain text. If you need to format your text, you can use HTML tags such <strong> and <em>. For formatting code as HTML automatically, I recommend tohtml.com.