Pony insistence

Apple doesn’t provide an SDK for Windows apps in Leopard.

I just wanted to make sure everyone knew that.

Also, they don’t have an SDK for Wii games. Or DoCoMo iMode mobile apps. Or for the Zune. Or the N-Gage.

In fact, it looks like Apple’s SDKs are primarily focused on writing software for… Apple’s Mac platform! Imagine that!

I’m talking to you, Java colleagues.

I’ve really been sticking my foot in it today, jumping into the “no JDK 6 on Leopard is an outrage” threads on The Java Posse’s Google Group and Javalobby. Honestly, I mean well: I think the Java community is coming off as shrill and obnoxious, and I would like us to not make complete fools of ourselves.

It’s not going well.

See, here’s the position I’m staking out: by and large, Java is not a language for developing Mac applications:

  • Double-clickable Java apps are few and very far between. And they’re sometimes single-platform anyways (every project I worked on at full-time jobs was Windows-only by management decree)
  • Flash is wiping out the last of the applets
  • Apple is not a significant server-side player. Since the overwhelming majority of Java developers write server-side code, it follows that what they’re writing, even if they write it on a Mac, will almost certainly not be running on a Mac in production.

In other words, nearly everyone using Macs to write Java apps is not actually writing Mac apps. Obvious question: why is it Apple’s duty to support this?

This argument is getting absolutely nowhere. What I’m seeing instead is a lot of the same foolish statements, over and over again:

Steve Jobs hates Java

Really? Then why is there still a Mac Java team, that’s patiently handling all the hate on the java-dev list? If he “hates” Java, he could just disband that team and reassign them to some other nefarious purpose, such as the “iTunes Britney Spears Career Revival Task Force”, or whatever other evil you’d care to ascribe to him.

It has to be an issue of inadequate resources

Apple had JDK 6 b88 running on Tiger last Fall. They were pretty much done. Really think there were more changes between b88 and 1.0, or between Tiger and Leopard, that the team couldn’t manage to handle it all in a year?

I don’t know what’s going on. There are interesting hypotheses: maybe Apple’s JDK didn’t pass the JCK yet. Or maybe there’s a licensing or legal dispute that hasn’t been resolved. But I don’t know, and neither does anyone else who can talk about it.

Apple needs to make some kind of public statement!

“Apple does not comment on unannounced products.” What, you hadn’t heard that before? Are you new here?

Yeah, well, I’m gonna switch to Linux, and so are all the other Java developers

Right. Because every Linux distro welcomes Java with open arms. Except Debian, and all the others like it that only ship FOSS software, which Java is not (as of this writing, though OpenJDK will fix that in time).

And if every Mac Java developer switched, literally how big a deal would that be? Estimates of the size of the Java developer population range from 3 million to 6 million. Let’s be generous and assume 5 million. What number of them use Macs? Sure, you see a lot at conferences, but those are the guys who get to pick their own machines (or buy them themselves because they’re independent), and don’t have Windows forced on them by the Stalinist IP department. How ’bout 10%, which is significantly higher than the Mac’s estimated market share worldwide. So, that means about 500,000 Mac-based Java developers… which I still think is way high, but I’m giving the other side the benefit of numbers for this argument.

Because you see, Apple sold 2.1 million Macs last quarter (Q4 2007 by their fiscal year), up 34% from Q4 2006, and half of the buyers in the Apple Stores were switchers. With that trend, they’ll sell more than 10 million Macs in fiscal 2008, and if half the buyers are switchers, then the hypothetical 500,000 departing Java developers will be replaced by 5,000,000 switchers.

In the big picture, Java developers just aren’t as important as we tend to think we are.

But Apple has to have up-to-date Java to be a player in the enterprise

As of today, AAPL‘s market cap is US$161.1B. Greater than Intel, greater than IBM, about two and a half times Dell‘s market cap, and about eight times Sun‘s. So enterprise strategy or not, I think they’ll do OK.

And with the iPod, Apple TV, and iPhone, Apple has as much in common with the consumer electronics companies as with the computer companies, and nobody complains about Sony or Samsung not having an enterprise computing strategy.

Still, Steve Jobs said at JavaOne that the Mac would be the best Java development platform available

Yep. And I’m sure this is the only time in recorded history that a company has not lived up to its trade show keynote hyperbole.

But they should still support their developers!

They do support their developers: the ones writing Cocoa, Carbon, and even POSIX apps. If they’re not in a hurry to help you write a webapp that runs on Linux or Windows servers, and may well block Mac user-agents, well, I don’t really blame them.

Apple’s always hated Java anyways

Right. Paying Sun a license fee for the privilege of then hiring engineers to port the JDK to Apple’s operating system — something that was much harder on the non-Unixy Classic Mac OS — and then including Java by default on every copy of Mac OS X since 10.0, supporting multiple JVM versions and CPU architectures. A lot of languages should love to be so “hated”.

Well, still, supporting Java developers should be Apple’s job, not Sun’s

As I’m arguing, there are so few Java apps actually run on the Mac, that they shouldn’t be considered a form of Mac app anymore, so you’re basically saying that Apple should support development for other companies’ platforms. And I can’t think of any other case in which they, or anyone else, enthusiastically does this.

Consider by the way, the strange case of ME development. Sun has always only provided developer tools for Windows, only just starting to pull together a Linux version of the Wireless Tookit (WTK) this year. And with every Java API that required native code, like JMF or JavaTV, they’ve consistently supported Windows and not much else. The implication is clear: Sun thinks Java developers should be using Windows. Maybe Apple’s just coming around to Sun’s way of thinking.

But I bought my Mac assuming that JDK 6 would be in Leopard

Then you ignored Adamson’s First Law: all software is vapor until it ships

Well, me and all my friends are going to switch to Linux anyways, and Mac OS will die

As Fake Steve might say, don’t let the genuine Swiss crystal, laser-etched door hit you on the way out.

Comment (1)

  1. […] belligerent arrogance of Java developers that I responded to before remains in full effect, as the Whiny Little Bitch contingent continues to make up facts and […]

Leave a Reply

Your email address will not be published. Required fields are marked *