11 million installations can't be wrong

MySQL Journal

Subscribe to MySQL Journal: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get MySQL Journal: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


MySQL Journal Authors: Dynatrace Blog, Mamoon Yunus, Mat Rider, Progress Blog, Cloud Best Practices Network

Related Topics: RIA Developer's Journal, iPhone Developer, Java EE Journal, Java Developer Magazine, MySQL Journal

RIA & Ajax: Article

Is Java a "Ball and Chain"?

Steve Jobs and Bruce Eckels light two different fires

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 Job's remark was just a temporary techno-backlash such as all 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 (12) 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
Cuncurrency 03/18/07 01:27:21 PM EDT

Yes, another one bites the dust of Steve Jobs, the same it did not so long ago when it promised to all Mac users that "Windows will never run on a Macintosh computers, EVER!!", well look at you now i'd say to him, you even created an application to let people run Windows on your creature.
Concerning Java, this what i presume will happen, you can't drive away the Java community from mobile devices,it's everywhere, it's too risky, and that could bring not a positive impact on iPhone sales, he wanted to reinvent the phone, ok not doubt in there, but he cannot change the technology we live in, Java is everywhere, i love Java

Jay Pullur 03/17/07 07:03:56 AM EDT

It is very intersting to notice that articles and blogs on "Java not useful" appearing simultaneous with Adobe's Apollo drumbeat.

Use of Java is very extensive and it is a proven cross-platform runtime. Java developer community is very large. They won't move away from Java and now start learning Flex and Apollo APIs to doing fundamental things such as file access.

Products like dekoh (www.dekoh.com) bring in the best of both to the table. Dekoh is an Ajax-Flash-Java RIA platform for the desktop. I am sure such alternatives would soon provide alternatives to developers and they won't be moving away from Java any soon.

Kjell 03/13/07 02:10:59 PM EDT

From working inside the mobile phone industry, I can definitely say that Jobs either does not know much about mobile phones, or (more likely) works some smoke and mirrors to hide that Java for the iPhone is not ready yet. Supporting the latest Java MIDP JSR's are one of the primary requirements from all important network operators towards manufacturers, and there has been a definite movement during the last year or so, from supplying a load of games and otherwise a "testing of the waters"-approach, to including business-critical applications and replacing on-line portals with preloaded Java applications and "server frontend" clients.

While Flash and similiar applications certainly has some role to play in a mobile, these systems has a long way to catch up with Java. For several years now, the MIDP specification developement has been led by all large manufacturers and network operators - just a look at the participants in any MIDP JSR is a "who is who" of the mobile phone industry.

During this work, a lot has been accomplished in merging MIDP with current and future network standards, and at the same time adressing the security concerns particular to mobile phones. If you know how quick (or rather the opposite) standardizing work proceeds, you wil realize that this is not easily reproduced by any competitor to Java. And in mobiles standards are not an option (as in general IT), it is the only key to the door.

Anyone who believes that a mobile phone is just a wireless iPod is very much out of touch.

Louis 03/12/07 10:09:29 PM EDT

Come on guys, you're smarter than this. Jobs was interviewed about the iPhone, and he was talking about the device, not servers or desktops. Apart from games, I haven't seen a single useful Java app on any mobile phone (or smart phone, or PDA), so Java is just using valuable space on those devices. Jobs is right on the ball-and-chain thing when talking about mobile, definitely.

rich dunn 03/09/07 09:21:11 PM EST

Get the stupid %&^#@ floating advertisement (that won't go away) off the page.

Rich Dammkoehler 03/09/07 10:14:34 AM EST

I'd say the comment is being overblown. Jobs thinks "Nobody uses Java anymore." possibly he's talking about on mobile devices. I don't know about that [mobile devices] but we're all making plenty of money on Java right now and there doesn't seem to be an end to it in the near future. I think the JDK is getting a bit bloated for sure with all the "extras" but that's more a packaging issue than anything else. I wouldn't put it in the ball-and-chain category.

Marc Driftmeyer 03/09/07 05:45:52 AM EST

Blue Ray isn't tied to Java. SUN struck a deal to have their VM on every disc. Putting a JavaVM into the Blue-Ray DVD doesn't require OS X to use that as their menu system API. They can override the VM with a Cocoa enabled version of one of the already available standards for Blue Ray:

http://en.wikipedia.org/wiki/Globally_Executable_MHP

Cocoa will do just fine and a smaller footprint for OS X.

More to the point, since when does an iPhone have a Blue-Ray DVD drive? It doesn't. That may well be a possibility for the AppleTV as an "add-on" in the arena of appliances. However, since OS X runs the AppleTV then the JavaVM won't be a heavy ball n' chain on that included 40 Gig HD.

We know that Java isn't a ball n' chain for the OS Server Market, but this comment was directed to the possibility of embedding a JavaVM onto the solid state memory in the iPhone. If anything you'll get streamed QuickTime movies which has nothing to do with Blue Ray and hence you don't need Java on the phone. You need Javascript and Flash with SVG.

Steve Cuperno 03/09/07 12:39:14 AM EST

Dan, do you realize that Java was first released to the public in September of 1997? Flash, which was originally FutureSplash Animator and SmartSketch before that, began in 1993. So...Java is the new, "flash in the pan" technology here (sic). And I can't remember the last time I saw a 20-30 line cryptic error message from a Flash program when visiting a web site...

Steve Cuperno 03/09/07 12:39:01 AM EST

Dan, do you realize that Java was first released to the public in September of 1997? Flash, which was originally FutureSplash Animator and SmartSketch before that, began in 1993. So...Java is the new, "flash in the pan" technology here (sic). And I can't remember the last time I saw a 20-30 line cryptic error message from a Flash program when visiting a web site...

Mark Edwards 03/08/07 11:27:06 PM EST

Jobs is right. Java is a ball and chain. My company uses a travel and expense system built on Java 1.4.2. It won't operate properly unless I disembowel my development machine by removing the Java 6 SE SDK that I'm required to use for the project that pays the bills. That project drags in 120 MB of jar files plus 120 MB of Java 6 SE plus Eclipse 3.2 to build.
Gack! The C++ GUI was under 1 MB of source code
and ran much faster and uses far less memory and disk space. I lament having to keep 5 or 6 JRE environments on my disk to run all the different applications that will only work with a specific release of Java. It's a waste of disk space, network bandwidth to download, CPU horsepower and memory to execute. I'll stick with C and C++ for my critical apps.

Dan 03/08/07 08:58:32 PM EST

We use Java for every application. Applets are irrelevant to what we do. In a blink we were running on Vista. Everyone seems to have their own agenda. To use AJAX, for example, you need Javascript. Supporting a complex commercial application in Javascript is painful, and you have to enable javascript in your browser, which security conscious customers do not want to do. We want long term stability, not the flashiest thing today. Our projects cover decades, not weeks. Will AJAX as we know it be here in 5 years? Flash? or some other latest, greatest thing. Constant change is only good for those who sell to the short sighted.

Cary Gordon 03/08/07 06:43:04 PM EST

The reason that we moved from Java to Flash/Flex for our heavyweight RIAs is that we could not get consistant performance from Java/JS based interfaces. There were too many end-user specific environmental problems that did not reveal themselves in the QA process. These don't seem to happen with Flash. It either works (almost always) or it doesn't. It does not crash the user's browser, their machine or produce difficult to diagnose errors.