'Like the iPhone/Flash thing'
Some end-user desktop apps still require Java, but this is hardly a list of marquee names. OpenOffice requires Java for "full functionality," but it will run without it. There's also the Mac-happy answer to OpenOffice, NeoOffice, the infamous P2P file-sharer LimeWire, and games such as Minecraft and Football Manager. But that's it for the semi-big names.
The worst you can say is that Jobs may murder an untold number of business desktop apps that require Java. "Yes, Java applications are few and far between in terms of public-facing desktop apps," Jon Abbey continues. "But internal to organizations, Java apps are quite common, because writing for Java is one of the easiest ways to get applications running across platforms."
There's also server-side Java to think about. But Mac OS X isn't exactly the world's most popular server OS. The real issue here is Java development. "There are a whole hell of a lot of Java developers toting around MacBooks at the moment," says Abbey. And this view is supported by multiple posts to Apple's official Java for Mac developer mailing list.
"Wow. Really? Really? Has Apple ever counted the number of Java developers using Mac laptops at Dev conferences all over the world, solely because it runs Java?" says another coder on the list. "My non-scientific, anecdotal estimate is around 50%."
If you don't have Java on the Mac, you can't run Java development tools such as Eclipse, IntelliJ, and NetBeans. And though there is a port of OpenJDK for the Mac, it's not quite complete. It's limited to the X11 windows system, and there's no support for native Mac GUIs.
"With a majority of Java development," Abbey says, "you need to have Java support on the desktop in order to do it properly."
The other salient point here is that if you don't have Java on the Mac, you can't use Google's Android SDK. Most Android development is done on Eclipse, and though Eclipse isn't required by the SDK, the Java environment is. "I guess Steve really, really doesn't like Android, does he?" Abbey says.
So, Steve Jobs never gave Java a chance on the iPhone or the iPad. He's now threatening to kill it on the Mac. And in so doing, he's shoving a world of Java developers off his desktops and laptops, including Android coders. "I cannot overstate what catastrophe this is," says one coder." If the future of Java on Mac is in doubt, then I have no other choice than going the Linux way...all the work I've done trying to get all developers converting to Mac is undone."
The question, as ever, is whether such a move will come back to haunt the company. "This definitely reminds one of the whole iPhone/Flash thing," says another coder. "It is certainly no accident that the app store announcement and Java deprecation happened on the very same day.
"I understand wanting to provide kick ass software to consumers. However, alienating developers on a grand scale will bite Apple in the ass eventually. Apple never promised the world to do no evil, but ... Oh well. It's clearly no angel." ®
And here it starts.
The wall will get ever higher, the garden ever smaller.
Where once there was an untamed, wild, glorious, dangerous wilderness, now you're safe. Safe in your tiny, safe little garden. Eating your apple.
Eating your apple.
In corporatist America, Apple eats you!
More complex than that
Dalvik has its own VM -not a Java VM, and cross-compiled Java libraries from Apache Harmony. But to develop Android code you'd just use eclipse or IDEA to code it, the IDE or Apache Ant or Maven to build it, and you can debug your stuff on your desktop. It's when you want to run it on the phone that you take the java binary files and convert them to the dalvik format.
What Apple says here is: we don't want you java developers using our laptops. Well, in the corporate world, windows desktops rule, and there's always Linux. But it means that Apple are telling everyone who may even think about writing an Android app that they should avoid getting a Mac, as they are not welcome.
I can see the economic sense of this, but think it is wrong. I do own a mac at home, write my open source Java code on it, and will never get another mac now. Ubuntu it is.