Apple makes really cool, really sexy notebook computers. Last week, the company unveiled two models of its ultra-lightweight MacBook Air – one weighing a featherweight 2.3 pounds, the other a mere 2.9 pounds. The emotional right side of my brain is demanding, “Buy one! Buy one now!” while the analytical left side is screaming, “Shut up! You don’t need one!”

While my inner monologue rages, let’s turn our cerebral hemispheres to a stealthy announcement by Apple:

As of the release of Java for Mac OS X 10.6 Update 3, the Java runtime ported by Apple and that ships with Mac OS X is deprecated. Developers should not rely on the Apple-supplied Java runtime being present in future versions of Mac OS X. The Java runtime shipping in Mac OS X 10.6 Snow Leopard, and Mac OS X 10.5 Leopard, will continue to be supported and maintained through the standard support cycles of those products.

What that means, according to casual statements by Apple (including an email allegedly from Steve Jobs), is that the company is tired of maintaining its own Java runtime – especially since that runtime is often based on out-of-date specifications.

The Steve Jobs email says,

Sun (now Oracle) supplies Java for all other platforms. They have their own release schedules, which are almost always different than ours, so the Java we ship is always a version behind. This may not be the best way to do it.

Why was Apple maintaining its own Java? Historically, the Mac was a niche platform unworthy of much attention from Sun – and when you coupled that with Apple’s well-known penchant for complete control over its software, it made sense for Apple to do its own port.

Of course, things are different today. While still dwarfed by Windows sales, the Mac is a much more significant presence in the desktop market, particularly in the consumer space. But that still begs the question: Who should maintain particular Java runtimes, such as the one for for Mac OS X?

Should it be Oracle, as the owner of the Java specifications – but if so, what’s the financial motivation? Or should it be the platform owner, in this case Apple, who clearly has a vested interest in making sure that Mac OS X sports a first-class, up-to-date Java SE runtime?

In my view, it’s Apple’s responsibility — not Oracle’s — to maintain Java for the Mac.

Since Oracle hasn’t said that it will take over maintaining the Mac version of Java, it’s hard to understand why Apple has unilaterally deprecated its Java port. Unless, of course, the company is saying that Java is irrelevant to its plans. Both sides of my brain are in agreement that this is the real message here.

Z Trek Copyright (c) Alan Zeichick

We’re long past the simplify and naivety of Java’s “write once, run anywhere,” and of a vision for a universal programming language.

Java was always about business. The Java Community Process wasn’t never forum for interested parties to develop the ideal programming language and an ideal runtime. It was a place for competitors and partners to work together to create a platform that would suit their strategic interests. For a long time, the JCP was about competing effectively against Microsoft.

The JCP has become much diminished from the heady days of the early and even mid 2000s. Debates about Enterprise JavaBeans, about JavaServer Pages, about Plain Old Java Objects… they seem so long ago. Remember the angst about application portability between WebLogic, WebSphere, Oracle, JBoss, and whether Apache should have access to the validation suite?

Once upon a time, that mattered. Or it seemed to matter. It’s been a long, long time since I’ve had a conversation with anyone complaining about a lack of compliance with the Java EE specs, or angered by proprietary extensions.

The industry has accepted that Java, as specified by the JCP, is merely one layer of specifications upon which an application server stack is created.

Yet there’s a strong desire, I believe, on the part of most players in the Java community to maintain some unity. It would be a shame were the Java Community Process to fracture, to have its major backers walk away to abandon the technology or to create a permanent fork. Just as all the various Linux distros are built on a common kernel, so to the many implementations of Java should remain build on a core set of specs from the JCP. Otherwise… what is Java?

That’s why I’m delighted at the bilateral agreement between Oracle and IBM – the two biggest stakeholders in enterprise Java. They’re agreed on how the JCP should be structured more transparently in the post-acquisition world. They’ve agreed that the OpenJDK should remain a common core for Java.

While that agreement is between only two players, it’s reasonable to expect that others in the Java world would go along. They would be foolish not to. Let’s not be naïve: Java is only important as long as it’s a multi-vendor initiative. That’s its strength. Nobody, not IBM, not Oracle, is going to throw that away.

Z Trek Copyright (c) Alan Zeichick

One hundred million issues of SD Times! That’s one heck of a milestone.
For many developers and IT professionals, it’s easy to forget the low-level underpinnings of today’s computers. A personal computer isn’t a computation device. It’s a communicator, office productivity tool, entertainment center and shopping aid.
What we see—whether we’re browsing with Firefox, coding with Visual Studio, listening to our favorite iTunes playlist or munching on a digital image with Photoshop—is what looks like a real world. Fonts. Colors. Pictures. Things moving. Stuff that responds when you touch it, whether with a mouse or with a finger.
This is all a façade. Underneath our pretty GUI, under all that AJAX code, behind the iOS user interface, behind Safari and Firefox and Internet Explorer, there’s hardware. Chips. Analog-to-Digital and Digital-to-Analog converters. Power supplies. Voltage levels. Ones and zeros.
We try hard to forget it’s there, but our profession is turning abstract binary patterns inside a computer into something that matters in the real world. If this reminds you of “The Matrix,” well, it should.
The 100,000,000th issue (in binary) of SD Times, of course, is the 256th issue (in decimal). Busting out of the eight-bit byte, SD Times continues to move into the future. A future that, except for embedded development and some specialized applications that require bit-twiddling, has nearly completely abstracted the computer out of computing.
In honor of our official 100,000,000th issue’s publication date of Oct. 15, 2010, I’m going to wear one of my favorite t-shirts this Friday: “There are 10 types of people in the world: Those that understand binary, and those that don’t.”
Sadly, that t-shirt (and my prized HP-16C calculator) are about as close as I ever get to binary these days. It’ll have to do.
Z Trek Copyright (c) Alan Zeichick

Last week was incredible. We held our debut iPhone/iPad DevCon last week in beautiful La Jolla, a village in San Diego. So, please forgive me if I’m on a bit of a mobile high.

(As I write this, it’s Friday, and I’m both working my way through several days’ accumulated email and trying to get readjusted to life in foggy San Francisco instead of basking in sunny South California.)

Two highlights of the conference were keynotes from Mike Lee, “The World’s Toughest Programmer,” and Aaron Hillegass, the founder of the Big Nerd Ranch.

Mike appeared for his keynote dressed in a pirate costume – and extolled everyone in the audience to focus on things that are worth doing, and to do those things with excellence. Don’t waste your time building me-too apps or cranking out garbage, he said – write software that matters.

Aaron’s point was that we’re living in the golden age of mobile computing, similar to the way that the mid-to-late 1980s were a golden age for the Internet. There are more opportunities and ideas today for mobile developers and entrepreneurs than there ever have been – or ever will be again. So, he advised, now’s the time to seize the moment and write software that matters.

Hmm. Do I sense a common thread there?

Our second iPhone/iPad DevCon will be in Boston from April 4-6, 2011. We’re also creating a similar conference for Android developers. AnDevCon is coming to the San Francisco area from Mar. 7-9, 2011.

Hope to see you at one of them – or at both!

Z Trek Copyright (c) Alan Zeichick