FREE Subscription to Dr. Dobb’s Digest: Same Great Content, New Digital Edition
Site Archive (Complete)
Java Blog: Why do you use Java?
Java
SWAINE'S CAFE

Black. No Sugar. Extra Caffeine.

by Mike Swaine
ERIC BRUNO'S BLOG

Java: The Daily Grind.

by Eric Bruno
September 20, 2006

Why do you use Java?

Java took off in the mid-nineties mainly because it’s an OS-neutral platform, not just because of its language features.

As a language, Java is very similar to C++. In some ways, it’s too similar, as with Java’s support for primitives. Ideally, everything would have been an object in Java, and no primitives would have existed. But in an effort to attract C++ developers at the time, primitives were left in the language. In fact, if you look at C++ as a meta-language, Java can be considered an implementation of it; albeit a better one considering the use of garbage collection, and the omission of pointers.

Again, it’s the fact that Java is more of a platform than a language, freeing developers and corporations from the shackles of the OS, which led to its wide-spread adoption. When it comes right down to it, no one should ever care about the OS – it’s the applications you need to run, and their associated data, that matter most. The lure of browser-based applications (regardless of whether the application is a Java applet within the browser or a Java Servlet within the web server) and the freedom of having them run anywhere led corporations to adopt Java in droves.

My initial attraction to Java was the fact that it was similar to C++ (the language I was developing in at the time) and that I could deploy my Java applications anywhere a JVM could run. Hence, my learning curve was low, but the freedom and benefits of using Java were great.

But where does Java’s value truly exist? Is it in the language, or in the virtual machine (VM)? Just as many developers looked at Java as an implementation of the C++ meta-language in the mid-nineties, many developers today are looking at Java’s VM as an OS-neutral platform for languages in addition to Java. Sun’s recent hiring of prominent JRuby developers shows that, perhaps, Sun sees it this way also.

Java seems to be transforming from a language, into a platform of its own. Perhaps in the near future, we’ll refer to the Java virtual machine (JVM) as Java’s virtual machine for (your language here), such as:

- Java’s VM for Ruby (JRuby)
- Java’s VM for Python
- Java’s VM for PHP
- Java’s VM for Java
- and so on…

If this happens, the result will be that the Java platform will allow you to choose the language that works best for you, and for the task at hand, while it still provides the same OS neutrality that launched it into the mainstream ten years ago. Just imagine having all of that power, freedom, and choice on all of the desktops and mobile devices that Java exists on today. Respond to this blog entry and let me know how you would make use of the Java platform if it supported more languages in the future.

-EJB

Posted by Eric Bruno at 09:20 AM  Permalink




 
INFO-LINK