Java Is Dead

'Java is sweeping across the world so that if you go to your boss and say,
"I'll think I'll write it in Java,"
then your boss will be very impressed and she won't tell you,
"Don't be silly; we don't program like that here."'
-- TimBernersLee, keynote at JavaOne, 1996

Is Java dead?

Certainly, in the YogiBerra sense: "Nobody goes there anymore -- it's too crowded."

No, more in the Keynes sense: In the long run, all languages are dead.

Well, not yet, but DotNetWillKillJava (don't hold your breath :)

Java already has too much market penetration on the in-house server side for it to die any time soon.

You could have said the same thing about CeeLanguage five years ago. Yes, and C's not dead either. (By the way, I'll assume "five years ago" is closer to "ten years ago" now (when Java emerged circa 1996?). Besides, I'll contend that Java's current market share in that niche is stronger than C's was. -- Since it took a while for Java to go from being "that applets language" to a server-side mainstay, the five-years figure seems defensible.

How about "it lost its Mojo", and is just another language along with .NET, PHP, etc.

In the following discussion, resist the temptation to look at Java as just a language; remember that it's part of a system: language, VM, and class libraries. Think how inane it would be to discuss the popularity of elisp without taking into account the rest of its system: Emacs.

You can't kill Java. Think of the RAM manufacturers! They'll lose their shirts!

For me, Java will be dead when Microsoft finally pull it from InternetExplorer. Anything after Java 1.1 should be classed as a child of Java. I don't think the Java Virtual Machine Specification deserves to share the Java name with the featurebloated continuously evolving shouldbeabletodoeverything native code reliant infestation that is the current and I suspect all future JDKs.

Java in the browser is dead. Applets never worked well. What do you expect when you combine the collective incompetance of Netscape and Sun? ;) HaHaOnlySerious.
What big-name applications that have been written in Java?

''I don't know how you want to define "big-name", but here's a few you may recognize:
Who cares about apps written in Java? J2EE runs scores of enterprise level web applications. Servlets redefined the way web apps work. Goodbye crappy CGI with your 'one-process-per-call' overhead. Hello easy multithreaded server-side apps.

Java on the client side can be difficult. We know this. Unless implemented carefully, it can be too slow. Often there are things to use on the client side that fit our needs better. Java does not target "packaged" mass-distributed applications, but custom software for Fortune-500-like companies. (Whether it is actually best at that is another story.)

But look around you: The whole industry is going thin-client. Browsers are becoming the ubiquitous 'client', and web services and web apps are the new 'software'. J2EE has lead the way. It won't always be at the forefront, but it has been a major factor in the speed with which the web has become a viable platform for applications.
Every so often this page shows up in RecentChanges and I rush to it in the hope that this time it turns out to be true. In the face of such persistent discouragement, can anyone offer advice on how to cope? --DanBarlow

Java may not be dying, but it's changing. And in the end, it will not be replaced by <insert superior non-mainstream language here>, but it, or it's successor, will probably be a little bit more like <said superior language> than it is now. Cf. MainstreamInfluenceOfFunctionalLanguages. --FalkBruegmann
I've just now (summer 2002) decided to declare that JavaIsDead because:

  1. JavaAppletsSuck
  2. Most ISP's won't allow servlets because of security concerns
  3. Java development environments are hosed and broken. (ever tried IDEA? It's one of the best development tools out there, even compared with tools for other languages)

I argue that VisualAgeJava was the last chance for the promise of Java to be realized. Now that VisualAgeJava is dead, I argue that:

And IBM's EclipseIde doesn't effectively replace VisualAgeJava, because...? As a long time VA user, Eclipse is wonderful.

As for "solved better with C++", might I suggest "wishful thinking". One sometimes optimistically assumes that grass becomes greener with time. C++ isn't like fine wine, it's the same that it's always been -- which is why people switched to Java and/or C# in the first place. --StuCharlton

C++ is way too complicated for what it yields, perpetuating the existence of bugs that are just awful to debug. Perl is a wonderful utility language, but not suited for medium to large projects. Python, maybe, Ruby, definitely if it had more support, but I challenge you to write a web app in it now. Smalltalk, dunno.

Ruby, definitely if it had more support, but I challenge you to write a web app in it now. -- Well, things seem to have moved on since then. :) See RubyOnRails
And for my money, VAJ is a terrible development environment. Want to use your own editor? you're screwed. Want to use a cool utility you found to format your code, or produce deployment descriptors from source files? you're screwed Want to update all your shared code with everyone else and then bring your unreleased classes back in without being forced to re-compile everything 14 times? you're screwed. I could have written some kind of novel in the amount of time VAJ has taken from my life screwing things up, crashing, rebuilding workspaces, and just generally pissing me off that IBM refuses to allow any use of 3rd party tools in their precious JDE (jail development environment). - richard kilgore

IDEs are for sissies. HaHaOnlySerious When Vi and Notepad start offering automated refactoring and easy navigation from reference to implementation, and validate syntax as you type, and so on, I might agree. --BrianRobinson I'm sure I could implement refactoring in Vim in my CopiousFreeTime. In the meantime, this tip is limited but interesting:

What the demise of VisualAgeJava took away was incremental compilation and debug. The "ide-ness" of VisualAgeJava didn't matter so much to me. Please identify any other tool that lets me set a breakpoint inside a running servlet, catch the execution, and without stopping the session or the server compile and install a change to the method(s) in question. Without that capability, I'm back to logs and restarts. (Note that incremental compile is still there in Eclipse, as is the repository, though based on CVS now)

I'd bet that your true problem is a crappy application server. Assuming you start the application server in a VM with a couple JPDA options seet, using any $100 JPDA-compliant debugger, you can set a breakpoint in a running servlet without stopping the server. If you find your bug, edit the offending code. Run Ant and a few seconds later you have a fresh application ready to deploy. Here's where your real problems show up. If you have a good J2EE server, maybe ten seconds after you drop in the ear file, your changes will be running.

No, you've missed the point. VisualAge (and any JPDA debugger) allows you to modify the code but keep the currently running stack frame. That means that you don't lose your place in debugging. All of the program variables still have their values (except for temporaries within the current method) so you don't have to go through the pain of re-running your test (which often takes WAYYY longer than the application server startup).

Incidentally, restarts should not be a problem either. If your server takes more than a few seconds to bounce, you have a crappy server. -- AnonymousDonor

JDK 1.4-based JPDA debuggers allow ModifyAndContinue. .NET doesn't yet, to the screams of many a VB programmer. And most commercial J2EE servers allow for one-touch application re-deployment (WebLogic 7, for example) -- StuCharlton

Has any of you ever tried JBuilder? -- AnonymousDonor

Yes. It's not bad, but unless you want a visual editor to create Swing dialogs, Eclipse and IDEA are better. I have seen several J2EE coders converting from JBuilder to Eclipse in the last couple of years, myself included. -- AlexeyVerkhovsky

I don't think that Java is dead, I think that JavaIsTheNewCobol.

That's worse than being dead.
I am again part of a team building a trading system with Java. This is my 3rd one. I have done a lot with Java over the years and it serves me beautifully. There are good tools for it as well; IntellijIdea is the most competent and useful piece of software I have ever used. I am not hooked on Java, by the way. I use it because there is a marketplace for it and it enables me to quickly and easily implement the object oriented designs that emerge from the code while I am working. I do whatever it takes to get the job done when I program and for the last 8 years that has been implementing stuff in Java. It works, I enjoy programming in it and I am happy. -- RodneyRyan?
Java is dead for public applets

The recent security problems with Java applets (early 2013) have people uninstalling it or switching it off on their browsers. When it becomes chore stay ahead of hackers, people start asking, "why do I need applets? What would happen if I got rid of Java?" Advice to uninstall and deactivate it appeared on many sites. It no longer carries its weight on the general Internet. Intranet? Maybe, but the public stagnation could spill over there also. Flash also has occasional security storms. However, many websites actually use it.

Except for speciality, mainly in-house applications, Java applets never did get much use. Due to issues with mobile devices, Flash is on its way out too. Both are being replaced by HTML5 and Javascript. Of course, Java is still (as of 2013) very strong in the enterprise application and server-side spaces. <<And the open-source cross-platform IDE space

Oracle being a lawyer-centric dick-wad doesn't help the language either.

Java is still the premiere non-Microsoft "compiled" language. I don't see a significant competitor language in that category. On the dynamic side there is JavaScript, Php, Ruby, and other LAMP-ish languages, but if you want the "protection" of a static language, Java is pretty much the only non-MS game in town.

The closest would perhaps be ObjectiveCee, but that's mostly used for Apple products. Either ObjectiveCee or an open-source versions of C-sharp would be my best guess for a coming significant challenger. Java is quite alive, but it's just not considered "cool". - Jan.2014

See also: LanguageLifeSigns, IsJavaSlow, JavaIsDeadDiscussion, JavaProsAndCons, JavaCriticisms

EditText of this page (last edited February 7, 2014) or FindPage with title or text search