Apple Deprecates Their JVM
Mortimer.CA writes "In some recent release notes Apple has deprecated their JVM: 'As of the release of Java for Mac OS X 10.6 Update 3, the version of Java that is ported by Apple, and that ships with Mac OS X, is deprecated.' In the past Sun (now Oracle) has always let Apple do this: 'Apple Computer supplies their own version of Java. Use the Software Update feature (available on the Apple menu) to check that you have the most up-to-date version of Java for your Mac.' I wonder how much heads-up Oracle was given for this change, and if the Java team has any code ready to go, or whether they'll have to ramp up porting for Mac OS 10.7 (aka 'Lion')."
Even if they if only just found out now, Lion is around 8 months away. How much time do they need to create an installer?
Oracle's patent moves probably didn't help, but Apple's normally not a company to be afraid of software patents - they have a big enough portfolio of their own.
http://en.swpat.org/wiki/Java_and_patents
(Phone patents are another beast - they're held by companies that Apple often doesn't have as long a history of dealing with and they don't yet have patent non-aggression pacts)
Expert in software patents or patent law? Contribute to the ESP wiki!
So they have dropped default support for flash, then java, now they just launched their app store.
This is really starting to look more and more like the iphone. I just hope they don't start dropping multitasking and third party software sources.
As long as users are able to install non-appstore apps, install flash and install java, I'm fine with it.
It's kind of funny to read the definition of deprecate:
In manner that deprecates; insulting; belittling - to express disapproval of; to recommend against use of; to pray against!
And then read how they are enabling 'Sudden Termination' and 'Garbage Collection' - take THAT JAVA!
He who knows best knows how little he knows. - Thomas Jefferson
In the past I've heard macs referred to as the ultimate developer's machine, with a full UNIX, all the gnu tools, a nice UI (with X if you need it), and nicely integrated laptop hardware. But Java is still one of the top languages on the planet, so if Apple really stops keeping it up to date that could put a nail in that coffin. Heck, I'm pretty sure the Apple Store has a big pile of Java back there...
E pluribus unum
As I use my Mac as my primary java development environment (ok still on 10.5.x but about to finally go to snow leopard), this does say, wtf is going to happen after this latest update?
I.e. is Snoracle going to support macs directly or are we going to wait for OpenJDK etc?
Java gaming nut - http://www.retep.org/ or for the rail http://uktra.in/
With this, Mac OS X users get all their OS updates automatically from one place. Too bad Microsoft & the various BSD & Linux vendors are not able to do this too.
PS: HP does this too for the HP-UX Java releases (except for the automatic updates): http://www.hp.com/go/java
PPS: Java IS part of the OS because without Java you cannot run Minecraft. :-)
1% APY, No fees, Online Bank https://captl1.co/2uIErYq Don't let your $$$ sit in a no-interest acct.
Who knows whether this is the result of some move on Oracle's part, rather than something Apple have suddenly decided to do?
This seems like a similar move to the obsoleting of Flash. Cross platform app development was useful when Apple was struggling to compete. Now Apple doesn't see any particular need for cross platform apps, because the breadth of app types is already covered by native Cocoa apps. They won't exclude Java in the way that they excluded Flash on the iPhone. But there's no need for them to spend development time on bundling it with the OS.
Unless Oracle steps up and makes Mac OS X a primary platform for JDK releases, this might be rather annoying. Ultimately, I might be forced to do development on Linux or Windows. That would blow.
But maybe this decision encourages some group to package a kick ass JDK, and have more timely updates and developer snapshots... one can dream.
WIth the App store and Flash removal, I'm not keeping my hopes up though.
When all you can install on a Mac needs to be installed via their AppStore, there is no need to have Java. Could their strategy for future OS-X version be more apparent?
If you don't like that you can always install Linux though.
Java maintained by Apple has always been WAY behind what everybody else is using. I'm glad Apple is going to ditch it and leave it up to others.
Flash and Java will probably end up in the new Mac App store which will mean automatic updates but via the vendor that supplies them.
My reaction to this is one of mild joy and "whatever".
tell apple they dont get java if they dont use a standard installer.
Why was Apple allowed to provide their own JVM software and Microsoft was sued for making their own JVM?
"A plan fiendishly clever in its intricacies"- Homer Simpson
I don't see much use of Java on the desktop these days (aside from a few specific applications), but I certainly see it used a lot in server environments. I suppose Apple will also apply this to OS X server? So if you want an Apple server you can't run the applications you've been running up to this point? They're going to shrink their already small server share.
Also, Slashdot, I set this account to use the "classic" interface, why are you making me click buttons to see comments now?! I just want to see the page, not have to keep clicking "show more". This comment entry box is terrible too, the "Reply" button is too close to the box itself.
The right to protest the State is more sacred than the State.
How come Apple was allowed to distribute their own JVM, but back in the day Sun slammed the shit out of MS for doing the same?
IBM join to OpenJDK, Oracle merges JVMs ...
If Apple deprecated its JVM, this can be the end of years of confusion about which JVM to use.
"They don't need to create an Installer, they need to create an entire port to a new operating system. The low-level threading and memory management, the GUI.. who wants their Java apps to be running under X11 on Mac?"
We have rather a lot of internally-developed applications in Java, and some of them are substantial. Since there's not a hope in hell of us porting millions of lines of Java code to Objective-C, no matter how much Apple spins things, should we be considering saying in future that Apple hardware is no longer a supported platform and that all users will have to migrate to Linux or Windows on their desktops and laptops instead? (While it is possible to use Apple hardware to run non-OSX, there's no real point in buying it specially for the purpose of running non-OSX when other hardware with a lower price premium will do a perfectly adequate job of it.)
Mind you, adequate availability of a JVM for the platform from another vendor (e.g., Oracle) could well be an acceptable solution. It's just a shame that the announcement is not clearer in this respect. But then it's not exactly like Apple are very good at providing proper support for developers who aren't targeting Jobs's latest platform du jour.
"Little does he know, but there is no 'I' in 'Idiot'!"
From the Mac App Store guidelines:
2.24
Apps that use deprecated or optionally installed technologies (e.g., Java, Rosetta) will be rejected
This space for rent.
Apple's JVM was packaged a bit different than all the other *nix JVMs and they had their own unique way of allowing you to select JVM versions. The changes in this update make it easier to install, select , and use a third party JVM that is packaged in the more conventional way. I suspect this is the first step in moving to an Oracle supplied JVM or an open JVM.
From the Mac App Store guidelines:
2.24
Apps that use deprecated or optionally installed technologies (e.g., Java, Rosetta) will be rejected
Looks like you're right.
This space for rent.
Maybe Ellison wants the official JVM to be the only such one.
Hail Eris, full of mischief...
E pluribus sanguinem
Java is not going away for SERVER SIDE development. What will replace it? .NET? (joke)
Apple isn't going to 'stop supporting Java'.
This comes the same day that users report the new MacBook Air doesn't have Flash preinstalled; and while you can install it yourself, Safari doesn't prompt you to do so (just displays a generic "missing plugin" over Flash content and ads).
Call it a smart business move, a deluded fantasy, or anything in between, but Apple seems to have decided to play hardball with middleware developers. Clearly they think they support all the standards and APIs anyone could ever need, and with the opening of the Mac App Store on the horizon (which will, in all likelihood, provide apps that duplicate a lot of the lightweight functionality that Java apps tend to do now) don't feel the need to do Adobe and Oracle's work anymore.
[ Java starting up ] ... that took so long, so my comment, I am can see this a good thing [ JVM Garbage collection; world pauses.. ] .. so annoying, so as I was saying, moving from Java can only be a good thing [ Java exploited by one of the many recent holes and malware vectors ] ... DISCONNECT..£$£^&^&^&
I have not tried Minecraft yet so I had no idea it was written in Java.
Wow I wonder if that will slow down the "Java programs all suck" FUD.
Actually I have very mixed feelings about Apple dropping Java support. Java support on the Mac is super integrated and really does just work most of the time.
The downside is one of my Java applications was failing on the Mac and for the life of me I could figure out why. Then Apple pushed an update and all was well.
I was testing on Windows and Linux with no problem but on the mac...
I will say that Java programs on the mac actually look better than on Linux or Windows. I believe that Apple did a better job at integrating the Java UI with the Mac UI than Sun did with Windows and or Linux. Frankly on Linux it is a matter of which UI as much as quality.
I hope Oracle steps up and produces a very good OS/X version of Java.
See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
So, thanks to the turtleneck's power trip, it'll be harder for me to continue developing Android apps or the Android OS on my MacBook, or, for that matter, continue using Eclipse (and not Xcode) in general? Man. Why on earth would they want to do THAT?</sarcasm>
Good thing I'm not particularly attached to my MacBook. And that I've been in the market for a new laptop anyway...
Demanding constant attention will only lead to attention.
It looks like Apple are taking another small step towards making OSX more like iOS with their "you can only develop your applications in these approved languages" rule.
Sure, there is currently nothing to stop people downloading and installing Java on OSX, but this makes it just that little bit more painful to install a Java app for the end user over, say, a native application.
Personally I avoid running anything in Java on the basis that I don't want a honking great JVM just for one app. Oh and that the JVM has an annoying tendency to want to update itself a little too often for my liking.
Avantslash - View Slashdot cleanly on your mobile phone.
I'm a software engineer and the Java situation on OSX has been a huge pain in the ass for me for a couple of years now. I installed Linux on my macbook a while back to have a trouble-free development environment and had decided to move off of Apple hardware completely the next time I'm replacing my systems. Apple's attitudes toward developers and their customers are losing this customer for them. I find Linux to be a much nicer overall development environment and I'm throwing my mobile development chips in with Android.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
Could http://www.xmlvm.org/ step into the gap, turning JVM code into a native application?
> They won't exclude Java in the way that they excluded Flash
See recoiledsnake's post for a reality check.
It's even funnier if you consider "deprecate" is the nice way of saying the other word "defecate" which translates as "Applet thinks Apple Java is now $hit".
My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
Maybe the next Java for the Mac won't suck. Their implementation has been crippled with memory leaks and is always back rev. It's slow and clunky and I've always had the impression that they intentionally developed it that way so people wouldn't use it. Good riddance.
However, if they pull through an App Store for the Mac, which doesn't even have the "it's on a Phone" excuse, they will have effectively succeeded in solving the 20+ year old problem of how to actually sell "shareware" aka "Free/Premium".
My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
The $64,000 question is whether Oracle will now start offering a Java download for OS X - if so, then the Mac will have the same status as other platforms, where you get your Java VM from Oracle. Since Apple's Java releases have tended to lag quite a way behind Sun in the past that might not be a bad thing (although the downside is that the horrible Java auto-updater might make an appearance).
OTOH, if Jobs is really determined to turn the Mac into an oversized iPad that can only run native software then, yes, there will have to be a bit of an exodous. However - there's no reason to decide right now (its not like Java is going to vanish from Mac tomorrow - and you weren't expecting the next version of Java to appear on Mac anytime soon, anyway).
In a survey of 100 programmers, 111111 thought that duck-typing was a good idea.
Java is crossplatform in the sense that you should be able to run your java app* [...] * provided the app is pure java and written properly.
Does pure Java provide a usable interface to every peripheral connected to a computer? For example, does pure Java allow an application to read a human interface device that is not a keyboard or a mouse? I spent some time with Google, and the answer is apparently no: a native driver has to be installed.
Just don't forget that GNU's not Unix.
And I was sure 2011 would finally be the year of Java on the desktop.
When I installed my Java update from Apple this morning, I noticed that the wording was similar for Java 1.4 on leopard. Apple may be just announcing that this is the end of the line for Java 6 SE, and only expect future support for Java 7 SE in the next version of OS X.
Unlike Oracle, Apple disables the previous version of Java platform and gives the user the option of re-enabling it by jumping through hoops.
These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
If Apple removes Java from Mac and with Oracle's unknown plans with Java then we are one step closer to killing Java and affecting Android environment - long shot but gets them one step closer.
There will be something else instead. Maybe they'll sponsor OpenJDK, kind of like they sponsor LLVM. Or maybe Steve will just get his pal Larry on the phone and Oracle will offer official *.dmgs. I think Apple _ships_ Java based software (WebObjects and stuff based on WebObjects), so it's not like they can fully deprecate Java.
Nice try trolling, but it's actually the other way around. Apple has always shipped their own version of java. They just stop doing that now, and let Oracle do the work instead, just like on Windows or Linux.
From the release notes linked to in the article:
People who *actually develop* on Mac have always complained about the JVM being behind, and it sounds like Apple is opening up the JVM hooks so that third parties can write JVMs for the Mac and get the full integration. So Apple is really giving everyone what they wanted: a stock JVM maintained by the Java Source (Oracle/Sun) just like all the other platforms.
Sheesh, paranoid much? Everyone on Slashdot is so convinced that the Mac App Store is the coming of the apocalypse that they are jumping to some insane conclusions.
"Doubt your doubts and believe your beliefs." -- Switchfoot, Ode to Chin
cross-platform Java development and Mac development were different enough that if you were using Java it was because you wanted it to run on other platforms and therefore didn't care if it looked like a good Mac app.
You, like numerous other Slashdot users, appear to have forgotten the model-view-controller or multi-tier paradigm. An application is split between a front-end, which interacts with the user, and a back-end, which interacts with the data. Ideally, an application would have a separate front-end per platform and a common back-end. I have applied this philosophy in one of my video game projects: the physics of the game world are the same in the PC version and the Game Boy Advance version because they build from the same source tree, but the front-end is very different. But in order for this to work, all platforms have to share a common language in which the back-end can be written.
In what world is "deprecate" used as a euphemism for "defecate"? Are you a moron or something?
This is probably the best thing that Apple could do for Java developers... Originally Apple added Java to OS X to entice Java developers to come over to the new platform. Since that time, there have only been complaints about Apple's Java implementation - and as a result, we've seen Java get pushed further & further out of the core OS frameworks. Basically, the writing has been on the wall for a long time. The introduction of the iPhone (with no Java support) was the final nail in the coffin.
I'm not saying that Java on OS X is dead, but at least now it will be on a level playing field with other platforms. And now all of us Mac/Java developers can stop holding our breath waiting to see if Apple will commit to supporting Java or not.
Unlike the Windows versions of Java, you aren't regularly harassed to install "Yahoo Toolbar", or "Google Chrome" or some other piece of software along with every single update they try to push out to you!
Seriously.
Same here yesterday. I had to recheck classic settings or something. You will need to do the same.
Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
Remember when Apple was making a modest push into the enterprise with Xserves and XSAN and you had a version of Oracle 10g on OSX Intel and then like out of the blue you went like meh, whatever.
Payback. Enjoy your trip to the bottom with McNealy and friends. It will be picking up speed right about....now.
There, there, little JVM, it'll be alright.
Coder's Stone: The programming language quick ref for iPad
I can't believe that no one has seemingly mentioned neooffice's future. Its UI is written in Java. Neooffice is a nice OS X port of openoffice.org, with many platform-specific improvements -- it offered native OS X support way ahead of oo.org's.
Without a JVM offering a native GUI experience on OS X, neoffice project is basically screwed. Re-developing the GUI in objc would probably take years.
A successful API design takes a mixture of software design and pedagogy.
Java is pretty pointless for a GUI-app when you can use Qt
If you want your app to be portable to BlackBerry phones, phones with MIDlet support, or web browsers with applet support, you need to code it in a language that compiles to JVM bytecode. A solution might be a Cocoa/ObjC front-end specific to the Mac version and a Java back-end shared by all versions, but Apple has deprecated Java.
Looks like it's time to suck it up and start using XCode for your Perl/PHP/Python/Ruby development work, since most other smart IDEs are Java-based in order to be cross-platform. With so many web developers using Macs, this is going to hurt.
Now if only XCode knew how to speak PHP, it could all work out... then again, there's always VIM or EMACS.
If Java is being deprecated on future versions of OS X, then I wonder what will happen to the iTunes Music Store, as it is developed in WebObjects, which runs in Java? Of course I'm presuming that they're running the iTMS on OS X Server, which may not be the case.
I have a lot of friends who have 50 3rd party apps on their iPhone, and zero 3rd party apps on their Mac, because they don't know how to install them. That is the main reason for Mac App Store.
Whoosh.
Two things I know for a fact, and because I know them for fact, I must remain anonymous.
1) Java and JavaScript (but mostly JS) are key to Apple's "HTML5 / Web 2.x Everywhere" strategy. So, they do have a vested interest in seeing the whole ecosystem continue to move forward.
2) Larry Ellison and Steve Jobs are best friends. Believe, Oracle knew about it. Doesn't guarantee they were happy, but I can promise you, they knew. It may very well that Larry wanted it this way to put the ball back in his court with Apple's blessing.
Finally, I would add that SJ always has contingency plans. Always. Whatever the fallout of this will be, it will either be neutral or beneficial to Apple.
On top of the wait and the pricing, each new OS release had a new list of unsupported machines. The end result is that even several years after a Java version update, you couldn't count on Mac users having the newer version. Even simple bugfixes and security updates took forever as well.
If Apple had allowed using a Sun or third-party JVM, this might not have been such a big deal. But when you can't count on having reasonable support on the platform with the second-biggest user base, the vaunted cross-platform compatibility meant little to application developers.
Why did apple do this? Does anybody have Apple or Sun inside info on this? I could understand abusing and discouraging Java after the success of the iPhone and the move toward being more of a walled playground- "use our API and our language or get lost" seems to have been the spiel since then-, but Apple's idiotic behavior in regards to Java started long before that point.
Actually there is a big risk for independent 3rd party "java game" developers. There are fairly advanced Java FRP/RPG games out there and some of them have yearly accounts for better graphics. There is also the case for Limewire which you can actually "buy" the "Pro" version.
So with 10.7, all Java tools you purchased/subscribed goes to trashcan?
To paraphrase Morecock, "Apple is a thousand times more evil than Microsoft"
Why they get a pass on /. I'll never understand.
I think that Java on the Mac will go one of three directions...either towards SoyLatte (OpenJDK) with an X11 GUI, Swing (Java2D) written in OpenGL, or SWT written with Carbon or Cocoa. My guess is that Oracle will take the OpenGL route, but the main developer of that is no longer at Oracle--so who knows? My second guess is SWT, since it maintains the mac look and feel to some degree, after Eclipse took down Sun, I'm wondering if Eclipse will change its name to Worm (eats Apple).
Apple requesting that a 3rd party open source product is from now on maintained by either the 3rd party or open source community. I mean, they sure maintain Microsoft's Silverlight and Adobe's flash in house so why is poor Java singled out?
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.
This hints that someone else will be taking over the JVM on Macs.
To paraphrase Morecock, "Apple is a thousand times more evil than Microsoft"
Because, after all, not shipping a JVM with your OS is right up there with killing and eating babies.
(I'm inclined not to attribute to malice that which can be adequately explained by wanting to dump onto somebody else a software maintenance burden.)
Does that peripheral show up as a character device on Linux? You can open it and read it from Java.
Does it requires libusb on Windows? You can call that library from Java.
The peculiarity of Java is that it really strives to let you avoid os-specific code when it's possible, and it's currently the best platform at that. Of course its standard library can't possibly cover all possible hardware/software interations because they're not a finite set.
Does it requires libusb on Windows? You can call that library from Java.
In an application for which you seek 100% Pure Java certification, you can't use JNI or JNA. In a sandboxed environment such as applets, MIDlets, JNLP, or BlackBerry, you can't use JNI or JNA unless you have digitally signed your application using a Digital ID from a commercial certificate authority recognized by the platform owner. Hobbyists might not be able to afford to obtain a Digital ID and keep it renewed, and some platform owners such as RIM don't appear to support native code at all.
From the release notes, it appears that we can expect further Java runtime updates for Mac OS X 10.5 and 10.6 to the end of supported life of these OS X versions. What we should not expect is that the Apple-supported and -maintained Java runtime will be present in Lion.
For anyone too lazy to click the link ;) Read carefully below:
Java Deprecation
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.
To let the vendors that own the tech support it. I don't see a problem with that myself. Who is to do something better but the people who write it in the first place?
You don't see Microsoft writing their own java for similar reasons, they have their own issues to deal with.
Now, if Apple stands in the way of support by the 3rd parties, then we have something to talk about.
---- Booth was a patriot ----
Apple doesn't want an open web. They are trying to justify their purely commercial desire to kill off flash support - and they have plenty of reasons, not least of which is that the sales of 99c and $1.49 casual games in the app store would be severely impacted by the availability of a catalog of tens of thousands of already-released flash games.