Welcome!

Search Authors: Shelly Palmer, Max Katz, Sandi Mappic, Jnan Dash, Alex Forbes

Related Topics: Java

Java: Article

Steve Jobs Dismisses Java As "Heavyweight" in an Age of Lightweight Computing

Is Java a "Ball and Chain"?

These are curious times just now for Java. In one and the same month, Steve Jobs stands up, and declares – referring to language support on the new Apple iPhone – “Java’s not worth building in. Nobody uses Java anymore. It’s this big heavyweight ball and chain.” And in the same month a company like Backbase, whose AJAX JSF Edition is aimed at “Java developers who want to leverage the JSF standard by creating a next generation rich component-based AJAX presentation tier,” wins a 'Technology of the Year Award 2007' in the category 'AJAX Toolkits.'

So, is Java toast, history, finished, a sucked orange…or does it have plenty of “legs” yet, and Jobs's remark was just a temporary techno-backlash such as all programming languages must resist from time to time?

Bruce Eckel, who has since 1986 has published six books and over 150 computer articles, views this backlash as inevitable, foreseeable almost:

“This backlash has only been necessary because of Sun’s death grip on the idea of ubiquitous, omniscient Java. It was admirable once, but a language only evolves if its designers and advocates can acknowledge problems. Pretending that a language is successful in places where it’s not is just denial.”

But the Jobs declaration strikes as some as being a little incongruous.

"Am I the only one that finds this interesting since the format Apple is supporting for HD content is BluRay, which uses Java for all the interactive menus or BD-J discs," notes Danny Mavromatis. In other words, Jobs "is supporting a next-gen format which supports a technology that he claims nobody uses anymore."

Jobs's remark was made in an interview with New York Times technology correspondent John Markoff, but there must be more than a suspicion that it was calculated to help generate exactly the kind of massive publicity that will be necessary if Apple is to come anywhere near selling the 10 million iPhones that Jobs was predicting for 2008.

Richard Sprague offers a cautionary tale:

"I remember the lessons I learned working with the Newton team many years ago.  I was in Apple's marketing department at the time and we did this big fancy user study which basically proved that nobody would buy the thing at the price and functionality we were building.  So what did we do?  We shoved it into the market anyway because it was "cool".  Cool is great, but you still need to make phone calls."
Back to Eckel, though. Here is his take on a major flaw in Java versus AJAX:
"So Java has been around for 10 years and applets are not the primary way that we interact with the web. I think the main reason for this is the installation problem, another area of Java that wasn’t well thought-out. In fact, why do we like AJAX?

It’s clearly not because JavaScript is so easy to work with — JavaScript cross-platform problems are the reason people have avoided it in the past. AJAX is popular because we know that the necessary software for the client side is already installed.

Someone had to figure out how to deal with the cross-platform issues for JavaScript first, but if JRE installation was trivial, everyone might have just created Java applets. But they didn’t, applets are not ubiquitous, and everyone got excited about AJAX instead. So AJAX became the favored technology for RIAs."

According to Eckel, the obvious contender, instead of Java, for building RIAs is Flash, and Flex in particular.

"It’s clear that we can’t wait for Sun to fix all of Java’s problems," he writes. "Open-sourcing Java might, eventually, have a huge impact on repairing Java’s deficiencies. For example, work on the JMF might get resurrected. Maybe installation issues will even be fixed someday. The possibilities might be limitless, but if you need to solve problems now, then the solution is to hybridize parts of the language."

By way of explaining this concept of "Hybridizing Java," Eckels explains that in fact we do this already:

"You don’t insist on using a Java database for an application; you use a specialized system like MySQL or Oracle. Sun is directly supporting the development of JRuby for hybrid Java/JRuby programming. We are seeing other special-purpose languages arise to solve specialized problems. Why insist on using a Java library for UI if a specialized system solves the problem better?"
Let's give the last word to Steve Benfield, veteran technologist, who summarizes what he calls his "technology lineage" as PowerBuilder -> Silverstream -> J2EE -> AJAX -> Flex.

"If you are a Java technologist who thinks anything Flash isn't enterprise ready," Benfield states, "then you need to reshift your thinking." He adds:
"We started using Flex 3 months ago and are rocking and rolling – life is good. We can quickly build the GUI we want, integration to our J2EE/Spring/hibernate back end is seamless, and we anxiously await Apollo so we have a full desktop app."
Like I said, these are curious – and challenging – times just now for Java.

More Stories By Jeremy Geelan

Jeremy Geelan is Chairman & CEO of the 21st Century Internet Group, Inc. and an Executive Academy Member of the International Academy of Digital Arts & Sciences. Formerly he was President & COO at Cloud Expo, Inc. and Conference Chair of the worldwide Cloud Expo series. He appears regularly at conferences and trade shows, speaking to technology audiences across six continents. You can follow him on twitter: @jg21.

Comments (11) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
ferhad 02/15/07 08:04:20 AM EST

I think apple's programmers don't know to program their own phone so can't build in Java and Steve Jobs says "Java's not worth building in.":)

ferhad 02/13/07 11:33:21 AM EST

I can't think a mobile phone without Java support.In that way user won't be able to run JME applications on his device and will have to buy and use apple based applications.A good way to earn money for Apple.

raju 02/07/07 12:45:29 PM EST

Interesting! How about using OpenLaszlo and LZX for development. You'll get all the benefits: Flash 6,7, and 8 (Flex copied the concept of OpenLaszlo), DHTML/AJAX from March on AND a Java runtime within the next year.

There's a proof of concept showing that Laszlo AJAX apps will run on the CDC/PBP profile for the Java Micro Edition. The source code will be available for download, soon. Want to develop for the web, Java enabled devices, Flash 6,7 and 8 . Maybe Flash Lite support and Webkit in the future? Well, there's nothing out there right now with the potential of the OpenLaszlo technology. Become involved with the OpenLaszlo project and we'll see some magic happening.

Richard Chuo 02/05/07 01:03:55 PM EST

I think Steve Jobs was referring to Java Micro Edition (JME). Is there any killer app on any latest MIDP 2.0 capable mobile phone?

JME stack does not fit into carrier companies' business model either. Wouldn't it be great if a mobile phone user is always on line, thus carrier companies can charge users for data transit? In this case, Ajax is a much better choice for this business aim.

Besides, Apple already ported its Objective-C based frameworks (e.g. Core Animation) to iPhone. Why should Apple bother to put a JME stack on top of the micro OS X?

I was a professional Java developer. I think Java is pretty strong on the server side. However, Steve Jobs was talking about Java on Apple's mobile phone here. He was speaking of business, not exactly the technology.

By the way, I do be happy about that Sun gives a lot of supports to JRuby. ;-)

Michael Feldstein 02/03/07 12:22:31 PM EST

There's nothing incogruous about this at all. Jobs was talking specifically about running Java on the client side and, I believe, thinking about it in a browser. If you look at the features and non-features of the iPhone, it assumes ubiquitous connections and browser-based experiences. For example, it doesn't run Office apps, but it probably will let you run web-based office apps (like Google spreadsheets) in the browser. Backbase is consistent with Jobs' pronouncement because it doesn't run Java in the web client; it runs AJAX.

The interviewees in this article who talk about the shortcomings of applets are on-target, and I don't think Jobs' comments about Java being too heavyweight should be interpreted overly broadly. For goodness' sake, his OS is programmed mostly in Objective C! Furthermore, there's plenty of support specifically for Java within OS X and some of the apps that are bundled with it. One has to assume that context matters here and that Jobs' statement should be interpreted within that context.

Georgi 02/02/07 07:17:05 PM EST

Well, Job has his opinion. And he is right: Java is getting more and more bloated with frameworks, APIs etc. blah blah. I, for myself, am not that sure if this is a bless or a curse.

On the other hand, I'm not sure if Jobs is talking about the things the article (mostly) is talking about: UI. Applets? They are user interface. That war was lost long ago for Sun (Java), imho. And they know it.

Yet another hand (well, I got plenty of them here : ) I'm reading a commentary of Steve Benfield (right here in this article) who states: " ... We can quickly build the GUI we want, integration to our J2EE/Spring/hibernate back end is seamless, and we anxiously await Apollo so we have a full desktop app.". So, reading between "the wide spread" lines, he assumes that Java is running on the server side? Good. That's where Java is supposed to be...

Just my 2 cents, guys, just my 2 cents...

Ivan 02/02/07 02:50:20 PM EST

Jobs is not an engineer, he's an evangelist. He's just trying to provide justifcation for not going with a Java implementation on the iPhone. The reality is that he can't mask what it is- just another poor decision in the broken iPhone software model. Not recognizing one his important components is dependent on Java is comedic.

Bruce Eckel is just out of touch with the day to day. There's a reason Java software products are moving forward at great velocity.

There are challenges indeed for Java the language maybe as it struggles to evolve while maintaining backward compatability and design cohesion, but not for Java the larger platform. It couldn't be in better health.

Rafe Colburn 02/02/07 07:52:28 AM EST

Nick Carr does a good job of explaining how Steve Jobs' inner control freak is what's best and worst about Apple. Here's the link: http://www.roughtype.com/archives/2007/01/steves_devices.php

Teera Kanokkanjanarat 02/02/07 07:37:57 AM EST

Regarding Mr.Jobs' comment, I think he's off on this one (probably it's his RDF in the work as usual). Don't get me wrong, Steve Jobs has always been my iconic figure and I admire him greatly. Sure, his IPhone doesn't need Java if he says so (he's running Apple!), but he probably forgot that his Apple has chosen Blu-ray as its next gen DVD and Blu-ray is running Java...

Herb Bowie 02/01/07 07:56:23 PM EST

Well, Jobs' comment was probably intentionally overstated, but such overstatement is indicative of Apple's obvious decision that Java is not terribly relevant as part of its overall strategy.

However, if you look at the part of the market that Apple is primarily focused on -- client apps with cool GUIs for consumption by the general public -- this is an area where Java has little or no traction anyway.

So while Java still has a lot of usefulness on the server side, and on the client side for corporate business systems, those aren't areas of much interest to Jobs or Apple.

Ankit C 02/01/07 05:41:34 PM EST

Jobs univers might be iphone but for rest of the world JAVA is still the best. There are enterprise systems which need JAVA and will need JAVA. JAVA probably is not the best language to develop the applications for small devices but it certainly is the best for enterprise systems.