Three billion devices run Java. Yeah, but do they like it?

Three billion devices run Java. Yeah, but do they like it?

Summary: When you install Java, you see a graphic that informs you of Java's popularity. But the question is, do we as users, have a choice? The answer is, "Yes, but."


If you own an Apple device, you can't run Java—at least not as Java, although there is a project to port Java code to Objective C but that's another story. If you own a Windows-based or Android-based device, you've no doubt had to install or update Java to support a service or application that you use or to mitigate a security flaw. And you don't really have a choice in that matter. My best/worst example of this is Eclipse. Eclipse is a Java-based Integrated Development Environment (IDE). The part that bugs me is that, even if you don't program in Java, you still have to have it to run Eclipse. 

That aspect of Eclipse is enough to make me not use it. And it's too bad too because it has some cool plug-ins for languages that I like.

Sure it's a powerful and popular IDE but I don't want to install Java to use it. Why can't it be Java-compatible by being written in C++ and use an optional plug-in for Java support? Why indeed not?

Now this isn't a rail against Eclipse, except that it's Java-based and that irks me, but it is a rail against Java.

To me, Steve Jobs said it best in 2007, "Java's not worth building in. "Nobody uses Java anymore. It's this big heavyweight ball and chain."

I was there with you Steve and still am. I think he perhaps overstated the "Nobody use Java anymore" but the point was well taken. Developers who care about their users don't use Java anymore.

I don't like Java. I hope you've gathered that parcel of information from this post thus far.

In fact, I would go so far as to say that if Oracle released Java 1.0 today, it would fail as a programming language. Very few developers outside of Oracle would adopt it and it certainly wouldn't have bragging rights on three billion device installs.

Steve Jobs' comments aside, I don't like Java because I think it's too slow due, in part, to its annoying just-in-time compilation scheme. It's too verbose and ambiguous. And it's generally featureless (compared to other languages) and boring to write. Sorry, those are just my observations and dislikes.

The alternative, you ask? Well, there's C#. The only drawback with C#, IMHO, is that it's not really cross platform, even with the tremendous efforts of the Mono Project team. It's my hope that Microsoft will release C# fully to the open source community so that its goodness can spread and usurp the unholy Java reign. I, for one, am tired of being in Java's grip.

It's slow and cumbersome. And have you ever tried to setup a Java environment for a Java application. OMG, it's the most frustrating thing on the planet. Write once, run anywhere is a total farce. I used to think that Perl and PHP were the ultimate languages but they're not truly cross-platform either. C, and its derivatives, are the only true cross-platform languages*.

C# is Java done correctly. Yes, C# is Microsoft. Get over it. Microsoft just needs to get with the "program" and release it to open source so that it can dominate the web for the next couple of decades. No language is perfect but Java has had more than its share of strikes against it. I think it took hold because of the coolness factor of Sun Microsystems. Sun was the "bomb" back in the day and we loved everything that came out of that company. Solaris was a cool OS, Sun iron ran the biggest and best databases and rock-solid services. Sun was 'aka' for cool.

Those days are part of ancient history now. 

It's time for the Internet and developers to grow up and smell the coffee (Java reference?). It's time to move to a platform that is more conducive to the future. We need something more secure, better supported, something more modern, less laggy, more game-oriented, and less cumbersome overall to use.

For me, and many others, Java is toast. It's time to return to the days when Java meant a country and a reference to coffee a al Juan Valdez. 

Go away Java. Three billion devices can be wrong.

You've had a good** run but now it's time to go beddy bye. For good. And good riddance.

Give me HTML5. Give me C#. Give me liberty or give me death. Give me anything but Java. No JRE. No J2EE. No JDE. No J anything. 

Those three billion devices would be much happier with DOS 2.0 and a star to steer them by. IMHO, of course. 

Developers: I beseech*** you, please move away from Java. C# is very Java-esque but better, more modern, more extensible, more everything. Use it. Or use something else. Java sucks. Make me proud.

What do you think of Java? Do you think it's time for it to head to history's bit bucket or do you think there's hope for it yet? Talk back and let me know.

*OK, for you sticklers, Assembly and binary are too but come on, let's be serious here.

**If you call 18 years of frustration good.

***And I don't toss my 'beseeching' around, so take this seriously.

Topics: Oracle, Software Development


Kenneth 'Ken' Hess is a full-time Windows and Linux system administrator with 20 years of experience with Mac, Linux, UNIX, and Windows systems in large multi-data center environments.

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • Does Android Count?

    About a billion devices currently run Android. The preferred language for programming Android is Java. Is that included in the figures?

    By the way, on Linux I have the choice of installing OpenJDK instead of Sun/Oracle Java. No toolbars or adware, or other unwanted junk!
    • Java isn't horrible... just isn't very good. It used to be on the cutting edge. Now it is long in the tooth, feels mostly abandoned and isn't keeping up with other languages like C#. I didn't like C# when it first came out. Actually C# was fine, the .Net stack was weak. Now the .Net stack is incredible, C# has advanced light years beyond Java. It is time for Java to be retired.
      • But whose gonna use C# in the uber large enterprises

        I agree with you on a lot of what you say, JAVA has to go. A non-opensource C# is not going to happen, there is no motivation.

        Nobody wants to locked into a vendor. Microsoft is not too different than Oracle, and nobody wants to be locked into them if they can avoid it. On the client machines C# makes little sense, and if you use on servers you'll be locked in. And for Mono, please it has got to go. :)

        C,C++, python, go, perl, ...etc There are lots of choices.
  • I agree with you

    I hate Java too but I have to use Eclipse to develop apps for Android so had no other choice but to use it. Android Studio and Android are based on Java too so Java is not going any where as Android will continue to rule the mobile and tablet (soon) world. I really wish Eclipse was written in C++ just like QtCreator
    • Re: I have to use Eclipse to develop apps for Android

      I develop for Android. I don't use Eclipse.

      The SDK includes command-line tools that I can invoke from any IDE I like. I use Emacs.
      • Awesome, but...

        vi is better than emacs :)

        ...and the vi versus emacs wars are started once again

        (nerd joke)
        • VI(M)

          vi ALL THE WAY!

          I believe the "problem" with Android is JAVA. JAVA just sucks.

      Lots of stuff is now written for Android using Visual Studio.
      • Re: VS FOR ANDROID

        Can you try building this one:
        • Re: VS FOR ANDROID

          Wow, somebody flagged me just for pointing out an Android app that can't be built with Visual Studio.
  • Java isn't the problem...

    ..per se'... it's that the Oracle Java installer does not discriminate between developer full installation and run-time minimal installation. As an end-user, not in a dev role, do I need the added bloat, IDE, and associated web plugins that are constantly being used as attack vectors, just to run Java based code? If I do not code in Java, but just want to run Java based apps, do I really need to install an entire programming language to do so? With all of the ongoing security breaches that represents, I'd much rather let it die off as I avoid what limited gains it would net for me personally. Seems more sensible than providing an entire set of tools on my machine that has been proven less than secure, and to be honest, tools of choice for hackers. Why preload hacker tools?
  • OpenJDK vs Sun Java

    This is discouraging because I have a financial program I love, Moneydance, that is a Java application. It is highly rated and able to run under Linux, Windows or Mac (big reason I chose it). The multi-platform advantage is evidently due to Java. But when I run it under the "open" java in Linux, OpenJDK, it would infrequently freeze (Ubuntu or Mint). Moneydance support told me to stick with Sun Java. So despite my effort to reside in the open software arena the "forks" in the road lead me to agree with Ken Hess' view.
    • Ain't nothing like the real thing

      OpenJDK is just not there yet give them time though.
  • I've been burned at the stake for my Anti-JAVA rants

    I hate Java, and I've been on a rampage uninstalling it from all my PC's and everyone I come into contact with.

    One example of why Java sucks. Minecraft on a PC is hellishly slow but then they released an XBox version and it flies.

    Java is a slow, over the hill dinosaur.
    Dreyer Smit
    • Actually....

      Wanted to build an Android version of my app. So I wanted to learn how to code for Android. Stopped right in my heals when they required me to install JAVA
      Dreyer Smit
    • I detect a slight case of consolelitus.

      Listen... I dont program... i get that out right now, but I can say with 100% surety that "Minecraft on a PC is hellishly slow" is a statement wholly dependent on the pc in question. Good Performance in minecraft is entirely dependent on the strengths of the pc running it. If you run it on a netbook or some office PC from dell, sure, its going to run "hellishly slow".

      However... if you buy (or build) a moderately decent pc then minecraft should be able to run at a good speed no problem. You now what else that applies to? Every other pc game ever made.

      As far as the xbox version goes... well when you strip out half the physics, dumb down the AI, and reduce the map size to something a toddler could draw, then yeah I guess you will get good speeds. Its all about compromise when it comes to consoles.
    • Ignorance is no excuse

      Minecraft on my machines runs smooth as butter using 64 bit java 7 with a heap size of 1024mb(as recommended by mojang) Java isn't perfect but don't blame craptastical programing or ignorance of basic JVM configuration on java. You would be amazed at what can be done within a stock 512m JVM when applications are written correctly like 20k plus users in a web application...; i have seen it first hand.

      To summarize this article: "I hate Java becasue its the new cool and i like being able to whine that there is nothing superior to replace it."

      P.S. For being cost free Eclipse is awesome.
    • "Java is a slow, over the hill dinosaur." -- I couldn't agree more!

      "Knock, knock."
      "Who's there?"
  • I don't really like Java

    What exactly do you mean? "I don't like Java as a language" "I hate JVM" "I hate the Java ecosystem because I cannot stand the Java ecosystem which is full of wonderful things that I don't have in my little C# world and I am sooo like to be locked in MS jail"? I is just funny how people keep repeating late S. Jobs words. He is a businessman, not a developer and for sure not a champion of free ecosystems. Whatever he said to the public must be taken very critically. His goal was to lock developers and users in iOS ecosystem and increase the Apple's revenue. He was a capitalist, not an engineer. If somebody would tell me that Objective-C is a paramount of the languages I would laugh. Calling C# liberty... Well... Converting solutions every time when new Visual Studio comes out... Be locked in Windows OS ( don't start with Mono please). And if you look around you will maybe notice that innovations don't really come from MS shiny castle. I understand very well shortcomings of Java-the-language but also advantages of Java-the-VM and Java-the-Ecosystem. Same with C#. I do understand advantages of C#-the-language and CLI-the-VM but I also understand the jail-like limitations of MS ecosystem. As for Java-the-language, it is not the only game in town. Just look around a little. And I thought the lame argument that "java is slow" is a thing of the last century...
    • There is a difference

      between converting projects to different versions of Visual Studio and C#. Visual Studio is a software application, C# is a language. Changing versions of Visual Studio doesn't change the language (unless you also change the target version).