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.