Apple has "deprecated" Java on Mac OS X, meaning it will pay even less attention to upkeep of the platform, and it may kill the platform entirely on a future version of its operating system. Many seem to think this is minor news. But if Steve Jobs is booting Java from the Mac, he's also booting Java developers, including all …
The lock out continues
This hostility towards java was fairly inevitable really. So the lock-in continues. It's a pity because a lot of good portable software is written in Java, I hope it doesn't deter Apple users from using it.
On another note: does the deprecation of Java on Mac actually affect Android developers? I understand that Android apps are coded in Java (or some Java-like language), but I would have thought that the Android SDK would include it's own java implementation with it's interpreter/compiler/whatever.
To be correct, I think the phrase is "assumed hostility". If there isn't much return on running Java natively and people have options (via VMware, Parallels) to run a good JVM on the Mac, then who cares? Apple gets to free up developers.
I worked at Sun on Java systems. It was handy to have the JVM, but nothing I couldn't have done just as well on a VM.
BTW, the software just isn't that portable, from what I've seen.
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.
Get a VM
You only need to run Ubuntu on a VM and you can still get the cool hardware.
Not so much about lock in - more, Larry Ellison out methinks
Since acquiring Sun, Oracle has started to flex it's Java IP muscles. Android is a notable target of lawsuits. Apple is just saying that Larry can take Java and stick it in his Oracle.
Some fallout for Android
Apple never really gave two figs for the JVM. It was always pretty shocking quality, always a version or two behind the official JVM. So in one sense it is not surprising to hear it is officially deprecated.
That said, there are plenty of apps which use JVM. Industrial strength apps like Eclipse for example. Eclipse is the development environment which most Android devs would use in order to develop apps so if Java were absent from OS X they wouldn't be bothered to develop there.
Of course what will probably happen is the OpenJDK will fill the hole instead. Ultimately OS X might actually get proper tier 1 support for Java rather than the half assed implementation its gotten so far.
Industrial strength apps like Eclipse ?
Thanks for that, haven't laughed so much in weeks. Industrial strenghth, chortle.
Re: Not so much about lock in - more, Larry Ellison out methinks
>>Since acquiring Sun, Oracle has started to flex it's Java IP muscles. Android is a notable target of lawsuits. Apple is just saying that Larry can take Java and stick it in his Oracle.<<
That doesn't make sense. I always thought Larry and His Steveness were the best of mates?
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!
U owe me 1 keyboard, you magnificently funny bastard... :D
RE: And here it starts.
...and yet only this week El Reg placed Adobe software and Java as the two things most likely to result in a compromised computer.
So if Jobs does decide to get rid of Java (and he probably won't) then that will result in one less security problem for him to have to think about.
(and there's nothing to stop someone other than Apple porting Java onto OSX anyway)
It's no different to MS's stance - do they do their own Java port? No, they've actively excluded Java for years. Big whoop, Java lives on.
It's come out subsequent to this article, but that's Jobs' line. Specifically:
"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."
Not only is Apple hoping to offload the task, but it's showing the closest it gets to contrition.
Realistically, you can see how Sun would go out of their way to ensure continuity of Java on Windows but Oracle might not care about OS X. So I think there is a real risk here.
Lives on. Like a zombie.
No support on Windows. No support on OS/X. Pretty soon all that codswallop about Java's portability will finally come true because the only platform it will be on is Android.
That Is Disgusting And Disturbing
(Kidding! But I couldn't pass up the opportunity to imply such train of thought. LOL.)
I don't see the reason why anyone would be upset by Apple's announcement. From a different perspective, Apple is simply announcing to the world that they are adamant about not following the crowd, about 'Thinking Different'--insisting and thus essentially guaranteeing they'll remain small--just like they did when they announced, 'Flash is over.
Personally, I'm ecstatic--Apple's present ideology allows the space Linux and BSD needs to continue growing and remain relevant, perhaps one day becoming a true major player as a common end-user OS option.
To put it in perspective, imagine if Microsoft were to suddenly announce they will no longer support--or allow--Java or Flash in future releases of Windows.
I would like for all the Apple fan boys to now stop crying about this nonissue concerning Apple.
It is different in effect
Both MS Windows and Apple are closed products. But, to be fair to Microsoft, Windows is more open to third-party software than Apple is. There are no obstacles to supplying a Java environment that will run on Windows, and anybody can get the technical information about the Windows API needed to develop it. Apple makes life a bit more difficult for third-party developers who don't want to be part of Apple's walled garden.
I'm glad Apple is doing this
Apple's Java implementation has always felt half-assed to me. Withdrawing it means someone with more resources to devote to a mac port - say, for example, Oracle - will pick up the slack and keep it in line with the Windows and Linux versions.
Oh, and I don't particularly care for Java anyway.
Larry only picks up the slack...
...if a 15 million dollar yacht is attached on the far end of the howser.
Where is that shoot-yourself-in-the-foot icon?
re: you seem confused
You seem to be confusing "we won't run a custom installation" with "we're banning all software written in it from our OS".
Oracle won't be supporting it, it will be banned from Macs.
Banking and Public Services
Here is a pretty serious area where this is going to hit: in Denmark Mac users would be potentially locked out of all on-line banking services and on-line access to public services since these use a common authentication service developed in Java.
Freed by Jobs...
In Austria we also forced to install Java for Netbanking at certain banks.
Freed from Java by Steve Jobs. How ironic would that be.
Mac users should migrate to a better supported platform
Here in Hungary, you need desktop Java for filling out the Forms for signed electronic forms for tax correspondance and such (ABEVJava). And businesses cannot send a lot of forms in paper, only in electronic form.
I guess that means bye-bye for Mac with a lot of people here.
Also, if you are an Azureus user (video torrents) you can forget you Mac too in the future.
I buy at antiques (etc) auctions and at least one of the major live bidding systems runs on Java. I can update my 6 month old Apple Imac all day long, but the bidding software still won't work. Something to do with applets failing to load.. So I will have to buy a windows machine. Bang goes the budget for an Ipad.
I'm not worried yet
I'll save concern until we hear that Oracle will not support OS X as a platform. I can't find more up-to-date details but one article citing statistics from December 2009 shows OS X having five times the share of Linux. If they're willing to maintain a JVM for Linux it seems reasonable to assume they'd support one for OS X.
If Oracle decided to not support OS X then I suppose it would be time to consider what my next OS is to be.
"I can't find more up-to-date details but one article citing statistics from December 2009 shows OS X having five times the share of Linux."
Amongst developers, or everybody? Because in the Java dev world, almost everyone I know runs Linux.
Though it will be two laptops for one of our team, who recently got a Mac so he could do some iPhone stuff, but still codes Java with the rest of us. Good ol' Apple. Less functionality is better for you. Diversity is bad. Be the same as the rest. Jooiiinn uuussss....
I am worried.
First, they discarded Java 1.5 on Snow Lepoard, so development tools, people actually payed for, won't run anymore without major hacking around in System directories.
Now, they basically cease to support Java altogether.
If another company, i.e. Oracle wants to continue providing a JVM for the Mac, they'll have to go through all the pain of getting the GUI libraries to actually work on Mac OS. Again.
The last time this took years to finally make (most) applications work (more-or-less) without broken menus, weird dialogs with text labels not fitting into them etc etc.
I find this an incredibly arrogant and stupid move alienating people who have to work with Java (even if they don't really want to) but prefer working on the Mac.
Maybe nobody actually told them that people like me really exist... those who dare to develop in Obj-C and *gasp* use Java IDEs for other parts of projects.
If you want to develop with WebObjects, you'll use Eclipse which needs Java. I really wonder what the people at Apple who work on the AppStore are going to use.
The AppStore runs on Webobjects. In Java. Not iMagicServerThingy...
As the article pointed out the problem with developing for Mac OS as opposed to Linux is that the OS's GUI system is closed source and proprietary making it extremely hard for Oracle to interface with it to provide a JVM.
Oracle support Java on linux as its the classic server deployment, which is where their money comes from. They would only support it on OS/X if they believed that client-side java had a future. Outside of Java developers and some important applications (bittorrent clients, Low Orbit Ion Cannon), it's not that obviously important. I don't know about the enterprise though -my one is stuck in IE-only web sites rather than java applications: I don't know which is worse.
Linux in a VM
Developers could do their Java development on a Mac by using Linux in a VM.
FWIW, the Java source code is available on Oracle's website. Any enterprising hobbyist could download it, tweak it and compile it for OS X over the weekend by targeting X11 for graphics and BSD sockets for networking. Mac OS X is POSIX compliant, so tweaking can be kept minimal. Sure, it may need the X11 app now, but then, better than nothing. I've seen developers port an entire Linux kernel module over to Mac OS X as a kext, so this isn't too far out.
Or maybe the better will happen, Apple will commit all the changes it made to it's version of Java back to Oracle, and Oracle will start releasing JVMs for Mac. After all, many Oracle and IBM enterprise apps require the Java VM.
"willing to maintain a JVM for Linux it seems reasonable to assume they'd support one for OS X"
Which is based on the assumption that OSX's libs aren't a catastrophic mess, which everybody involved in Open Source knows they are.
It'll be expensive for them to do this, which begs the inevitable value for money question.
But I'm not worried either, I don't use OSX.
Playing the same game as streaky...
This isn't a problem for because everybody involved in Open Source knows that it isn't. The original story was rubbish because everybody involved in Open Source knows that it is.
Admittedly I've gone a bit further there, by assigning two extreme and fabricated opinions (both false, by the way) to group think rather than just one. But that's the sort of thing you can do when unevidenced bare assertions are acceptable provided vague reference to a thinly defined group is attached.
"the problem with developing for Mac OS as opposed to Linux is that the OS's GUI system is closed source and proprietary making it extremely hard for Oracle to interface with it to provide a JVM."
Only if Oracle are retards. The API is open enough. Oracle can just go get a copy of Xcode and set to work on a new VM if they want to.
If lacking the source to things made it "extremely hard" to program against them, there'd be no software except FOSS, and outside the febrile imaginations of a few wackaloons, that's just not the case.
@Linux in a VM
While you're completely right, doesn't this miss the point?
Why get OS A to run a VM for OS B? why not just get OS B and lose the overhead?
Riiiiiight, so 'people you know' is the entire Java dec community. Must be a smaller community than I'd thought.
All the Java developers *I* know (I have 30 of them working for me, plus can see another 30 from where I sit) run RAD/RSA mostly on Windows. A few run it on a Windows VDI on OSX and a few run it directly on OSX.
Can't see any Linux users from here, which is a shame.
You've missed my point
JAU was quoting stats showing OSX having a much larger market share, but I was making the point that that might be amongst the consumer sector, not necessarily Java developers. The devs I know are just an example to go with it.
And yeah, all Linux baby. For most mainstream development it's just plain better, though I will admit that modern Windows systems are much improved.
Comparisons with Linux
For those trying to compare linux with OS-X, it is an invalid comparison. There are far more server based linux platforms in corporates that require java, therefore they need to support it. It is not really fro those who use linux as a desktop platform.
Re: The Other Stever @Open Source
"Only if Oracle are retards. The API is open enough. Oracle can just go get a copy of Xcode and set to work on a new VM if they want to."
Like how the API was open enough for Adobe to enable hardware acceleration in Flash?
Hmmm... I smell bs here
Case you don't know Eclipse runs fine on OSX. And still in case you don't know, it uses SWT, not the holy Oracle Swing as its GUI subsystem. So apparently someone managed to solve the Java SWT GUI stuff all by themselves. Surely Oracle can port Swing.
Really, I don't care that Apple walks away from the porting Java. As long as it doesn't interfere with anyone else porting Java. That's pretty much what Java is up to on Windows as well, not like M$ is porting Java anymore. Folks get it from Oracle.
Now, if Apple was to ban Java from OSX then I would walk from OSX. Not that I like Java, I don't. But it is useful and am much less tolerant of a closed ecosystem on a personal computer than I am for consumer electronics like iPad and iPhones.
..It's obvious that disguised Apple fan boys will miss the pretiness of OS X. (At this point, I'm hard pressed to think there is any rationale for them to be 'up at arms', considering the innumerable OS options in the LINUX universe (not to mention BSD, of which I'm particularly fond of).
Giving you exactly what we tell you that you want, every single day...
How that Microsoft JVM coming along?
What are you talking about? When did Microsoft come into this? On a Windows or Linux system I get my JVM directly from Oracle. Works like a charm. On an Android system there are some wonky workarounds, 99.9%+ of the code for any standard java app I have worked on ports lovlingly and easily.
Only now, my customers using Macs can’t use the Java software they need to send us orders. This upsets these customers, who rely on us to print their orders (there aren’t a lot of other choices in this segment of the industry in our country.) It also upsets us, because we now have to either migrate our customers away from Mac (which I will be doing with a /vengeance/ now,) or supplying them with an alternate system on which to enter their orders.
I don’t see where at all Microsoft enters into this. The MS JVM died ages ago. This is about no longer being able to run critical Java applications on OSX.
What Mac users can't use Java software? All shipping versions of OS X contain Java. The article speculates that OS X v10.7 may ship without Java but notes that Apple have instead made it explicitly possible to install your own.
OS X has a BSD-sourced POSIX layer and ships with an X11 window manager. The supplied compiler remains GCC, at least while Clang can't parse C++.
This means that customers using Macs will not be able to use Java software as soon as it stops being possible to build it using GCC for a POSIX OS with X11. When do you expect that to happen?
There are considerable difficulties in implmenting the OpenJVM under OSX. As to existing customers, they can use Java...for now. 8 months from now...12? Development moves on, and it takes advantages of new features as well as works around bugs in previous versions. 90%+ of our customer base is Windows. The developer who writes the Java software we are dependant upon keeps that software up to date such that when a new version of Java comes out, they are ready.
If Macs are stuck on the last shipped version (6u20) then they are buggered. 8 Months from now, they most likely won’t be able to use our application because it will be coded for a much newer version.
As to trying to walk people through installing the OpenJVM…forget it. It would cost us less to simply supply a separate physical system to our customers. They are not “savvy” folk. It’s why they chose Macs in the first place. They are quite simply /not/ going to be compiling anything from anywhere…and to walk them through it would be huge support dollars.
Moreover, that is suddenly asking us to pay for the development company in question to support three JVMs: The Oracle standard, the OpenJVM on OSX and Davlik. It is enough that we are paying to get the app repackaged for Android…we’re not about to spend that money again on Mac users.
Java on Macs is done. What exists will rapidly be out of date and the costs of supporting the OpenJVM will simply be too high.
"The MS JVM died ages ago"
I think that's his point Trevor, though the relevance question still comes up, there was never real Java support on windows - even when Microsoft cared it was a catastrophic failure to the degree nobody actually relied on it so Sun HAD to for fear of Java dying there and then.
End of the day it's easier to write a JVM for windows than it is to do one for OSX for reasons I've outlined in another post. In short you can talk to Microsoft, Apple.. not so much.
Steve Jobs still makes me laugh every time Apple come up with a cunning plan, for the record.