Apple Deprecates Their JVM 451
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')."
Plenty of heads up. (Score:2)
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?
Re:Plenty of heads up. (Score:5, Insightful)
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?
Re: (Score:3, Insightful)
Re: (Score:3, Insightful)
thing is apple did the first port, not SUN. I don't think that apple will graciously give there JRE code-base to oracle.
Re:Plenty of heads up. (Score:5, Insightful)
I don't think they will because I believe that Apple would rather developers use Objective-C over Java for OSX development for the very same reasons they would rather developers use Objective-C over Flash for iOS development.
Re: (Score:3, Interesting)
I believe that Apple would rather developers use Objective-C over Java for OSX development
Then does Apple plan to provide a tool to automatically translate the back-end of an existing application written in Java into Objective-C so that it can be used as a first-class citizen on Mac OS X 10.7?
Front-ends sharing a back-end (Score:3, Insightful)
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 [wikipedia.org] or multi-tier [wikipedia.org] 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 fro
Re:Plenty of heads up. (Score:5, Informative)
Right, but Apple does ship versions of Python and Ruby that can access their Cocoa libraries. Apple would rather all developers use Objective-C, but that's just a way of ensuring that developers use Cocoa. Using Cocoa is what they're really after, technically speaking, because their real goal is for all Mac applications to use the same toolkit, look nice and behave like other Mac applications.
I promise you Apple doesn't care if Swing applications look similar to Mac applications since they won't behave like Mac apps due to not running through Cocoa. I bet Apple would be happy if those apps just never ran on OS X. But they have in the past provided a way of using Cocoa through Java. Apparently the Mac Java developer community had enough of a clue to realize that using Cocoa is a great way to restrict your app to one platform and miss the whole point of using Java in the first place.
Apple's special JVM was really just a way of trying to sneak Java developers into Cocoa, but it never really worked, so at this point, it's probably in Apple's best interest to just provide a stock JVM so people who really want to use Java can and let Oracle worry about whether or not Swing apps look like Mac apps. In general, Swing app usability is damning enough that Apple can just leave well enough alone and their customers will want Cocoa apps or Swing apps that have been engineered to look and behave a lot like Cocoa apps anyway.
Re:Plenty of heads up. (Score:5, Informative)
NeXT jumped on the Java bandwagon early on, porting their flagship WebObjects framework from Objective-C to Java. When Steve returned to Apple, he planned to make Java a first-class citizen of OS X. The Apple JRE had a number of enhancements over the stock one. For example, it shared classes between JVM instances, a feature that didn't appear in the Sun JRE for a few years. It also included a lot of stuff for native integration - you could make the menu bar sit at the top of the screen from Swing apps, just like a proper Mac App and use the standard Mac keyboard shortcuts, for example.
They also shipped an Objective-C to Java bridge. You could call the Cocoa APIs directly from Java programs with some low-level automatic translation letting you use Java strings and arrays instead of NSString and NSArray, for example. This was deprecated some time around 10.2 or 10.3 (I can't remember - Wikipedia probably can), largely because no one was using it. New Cocoa APIs were not added to the bridge.
The idea that Java would be one of the dominant languages for OS X development died five years ago. Apple has only continued to invest money in their JRE to help sell XServes running OS X Server and running WebObjects. I'd imagine this market is now so small that it's no longer worth bothering with.
Re:Plenty of heads up. (Score:4, Informative)
The problem with this assumption is that Apple does not seem to have realized that a load of developers especially in the java land use OSX for java server side development
Irrelevant. Those people can still use the Oracle JDK / JRE on their Macs. Most will probably prefer to, because they will no longer have the delay between Sun releasing a new version of Java and Apple porting their changes.
Re: (Score:3, Insightful)
Qt is in most every way better than Java for client-side graphical application development. However, Qt is not completely free, requires that your app be compiled for each platform it is distributed for, and does not provide access to Java libraries. The last reason there is why we use it at my work.
Re:Plenty of heads up. (Score:4, Insightful)
I'm sure they would, but is it very likely that people are going to start doing OSX only development? Apple doesn't really have that much marketshare, and as this very incident once again shows, it's dangerous to trust them.
If Mac loses Java, then Mac loses Java programs, not gain native ones. And frankly, Mac can ill afford to lose software.
Re:Plenty of heads up. (Score:4, Interesting)
You're right that the people that Apple is now pissing off won't be queueing up to port their applications to Objective-C. But it's clear that Apple doesn't want to invest that kind of money in that kind of user experience and then have to support it. They're already well on their way to slough off Carbon completely.
They want to settle on just one framework that they provide and support. (And yes, I said framework, not languages. There are supported bridges to Objective-C for Ruby and Python, and unsupported bridges in many other languages.)
I would conserve my bewilderment until Apple starts making it impossible to do, say, Qt apps.
My hunch tells me that there are more Cocoa applications than Java GUI applications, and even if that isn't strictly the case, that the number of people that are writing Java GUI applications each day are shrinking, and the number of people that are writing Cocoa applications each day are growing. (Yes, excluding iOS.)
Mac as a platform doesn't have a ton of software compared to Windows, but that doesn't mean that this makes even a sizable dent in the installed applications that people use. Name one pervasive Mac Java application besides Eclipse and Vuze.
(That doesn't mean that it's a valid reason to kill a Java runtime. But that sentence was discussing the impact, not the action.)
Re: (Score:3, Insightful)
Something tells me your missing the point.
No other company did the work to take the browser from KHTML to webkit, which is now used in almost every phone OS, including Android & RIM.
Apple gets shit all the time for being closed. They're not always. Examples: http://www.apple.com/opensource/ [apple.com]
Re:Plenty of heads up. (Score:5, Informative)
And another benefit, IMO? (Score:3, Interesting)
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!
Re:I thought JAVA was supposed to be crossplatform (Score:4, Informative)
Binaries for the JVM are cross platform. The JVM itself is written for the platform. If you write a Java application and compile it on Windows, the compiled version will run on a JVM on Mac. But the Windows JVM will not run on a Mac.
Re:I thought JAVA was supposed to be crossplatform (Score:4, Funny)
Re: (Score:3, Interesting)
I'm not sure why this was modded funny. IIRC Apache Harmony is written mostly in Java with only bits of C code to bootstrap the JVM written in Java.
Re:I thought JAVA was supposed to be crossplatform (Score:4, Funny)
Maybe he is here for all the non-technical political articles.
Re:I thought JAVA was supposed to be crossplatform (Score:5, Funny)
Re:I thought JAVA was supposed to be crossplatform (Score:4, Informative)
Java is crossplatform in the sense that you should be able to run your java app* on any system with a compliant java implementation but someone still has to provide that implementation of java built on whatever interfaces the OS provides.
Currently on the mac (unlike with windows and linux) apple provides the java implementation based on code licensed from sun (now oracle). If apple stops updating thier java implementation and doesn't either release the code or at least push it upstream to oracle then either java on the mac becomes ever more outdated or someone else redoes the porting.
* provided the app is pure java and written properly.
Re:Holes in the API coverage of 100% Pure Java (Score:5, Informative)
Why wouldn't a peripheral require a driver?
The driver is already present on the machine and available to native code, yet the Java virtual machine is not aware of it.
Re: (Score:3, Insightful)
You might want to go read up on Grand Central Dispatch.
Re:Plenty of heads up. (Score:4, Informative)
Re: (Score:3, Informative)
Did you actually read the second link? He's saying it doesn't make sense to implement anything in Java with GCD, although it might potentially make sense for some 1.7 extensions to be designed to use it.
GCD implements an N:M threading model for C. The JVM implements an N:M threading model for Java, but with different semantics (more preemption points - GCD only has them between blocks, which gives a different throughput-to-latency trade). Implementing one in terms of the other does not make sense. It i
Java banned from the Mac App store... (Score:5, Informative)
From the Mac App Store guidelines:
2.24
Apps that use deprecated or optionally installed technologies (e.g., Java, Rosetta) will be rejected
Patents (usually) wouldn't worry Apple (Score:4, Informative)
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 [swpat.org]
(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)
Re:Patents (usually) wouldn't worry Apple (Score:4, Interesting)
Meh, I could see them possibly doing this to strengthen Oracle's suit against Google's Dalvik VM in Android.
Or possibly Apple wants to introduce the straightjacket-in-a-walled-garden appstore approach to their desktop in addition to iOS, so they're starting to make moves to discourage the distribution of portable Java apps the same way they inhibit Flash on iOS.
Other than that, seems like a bunch of maneuverings between companies and technologies I don't really care all that much about. But at least hopefully it'll keep the fanbois who like chatting about soap opera politics preoccupied for a bit.
Re: (Score:3, Interesting)
MacOS X will probably be using J2SE, which the Sun/Oracle Java patent licenses will allow. Since Apple ported the Sun JVM, it would be
Re:Patents (usually) wouldn't worry Apple (Score:4, Insightful)
And all along I thought it was because it just wasn't ready for production use.
The BSDs are still working on getting ZFS good enough to use. Everyone I knew that tried it on OS X said it was shit.
So they are dropping another tech (Score:2, Insightful)
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.
Re: (Score:2)
with drop default support I meant "not installed by default", could also mean stopped supporting, I'm not sure
Re:So they are dropping another tech (Score:4, Insightful)
No, they simply depreciated the 'Apple' version of Java, meaning it will probably be discontinued in Lion. I suspect that due to the changes in ownership over Java that they will now handle things like everyone else and get their java from Oracle. They aren't 'dropping' Java or anything of the sort. You'll simply go to Oracle to install it rather than getting it out of the box.
I would imagine Oracle asked for this, or Apple simply decided it wasn't worth the hassle of maintaining their own java machine.
Re:So they are dropping another tech (Score:5, Insightful)
Or they looked at the Android lawsuit and said "Hmm, I don't *think* we're breaking any laws, but why take chances?" Oracle is playing a different game with Java than Sun did and personally I'd want to stay out of it as much as possible. There's lots of reasons they may have done this and with ~8 months notice Oracle has plenty of time to build their own JVM.
Re:So they are dropping another tech (Score:5, Interesting)
Larry and Steve are good friends. I would bet a lot of money that this is a "strategic" decision, not something in favor of customers directly.
Re: (Score:2)
this is good for the end user IMO. I remember sometime over the last year Apple was bit with a security hole by including an older version of Flash in an update. Their Java version also usually lags behind the current releases. By not including both the end user will be able to update them more frequently or not have them installed at all if they don't use it. I can see people that don't have a need for Java at all.
Re: (Score:3, Insightful)
The problem is, there is no other implementation of Java for Mac OS. If they were turning the maintenance over to Oracle, they would have said so.
Re:So they are dropping another tech (Score:5, Insightful)
And after removing Flash and Java and publishing the "We want the web to be open" public letter Apple still requires Quicktime to watch videos on their own website. Hypocrites.
Re:So they are dropping another tech (Score:4, Informative)
Other media players will probably support HTTP Live Streaming in a couple months. It's not like it's a proprietary format or anything- it's just a continuously updating MPEG-2 file sitting on a server. Quicktime continuously checks that file for updates and downloads just the new parts when they get uploaded. I'd rather they use that than Adobe's proprietary streaming format or Real's proprietary streaming format.
Re: (Score:3, Informative)
Funny story: in order to watch Apple's live stream of the "Back to the Mac" event yesterday, I had use my 1st gen iPod touch. This despite the fact that i have a macbook sitting on the same network. Why? because it required Snow Leopard to stream. Their 2 year old general purpose operating system can't "handle" the stream but their 4 year old mp3 player can? Yeah Apple cares so much about its "real" OS
Re: (Score:3, Insightful)
Snow Leopard is $29. Really, there is no excuse to still be on 10.5. The whole point of making Snow Leopard cheap was so that everyone would be on the same release.
If you have an Intel Mac you should be on 10.6. Period.
You can give me 29$, since you feel so strongly about it.
You are right.... (Score:4, Interesting)
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.
Re:So they are dropping another tech (Score:4, Interesting)
This is not a sign of lockdown ... java support on Macs having been drying up since Apple deprecated the Java-Cocoa bridge years ago. Nevermind it took them two years to release Java 6 which required users to have 64bit intel boxes. So, if you were doing any sort of Java desktop work (yes, this does exist), you were stuck on Java 5. If you were doing any server side work, you'd need to install SoyLatte to use the updated class libraries, nevermind dealing with performance issues from moving from JVM to JVM.
This is a GOOD THING as now Mac's will have a better supported and up-to-date JVM and updates should come quick and fast compared to Apple's sluggish almost apathetic attitude towards releases.
Re: (Score:3, Insightful)
This is a GOOD THING as now Mac's will have a better supported and up-to-date JVM and updates should come quick and fast compared to Apple's sluggish almost apathetic attitude towards releases.
Really? Where are these magical JVMs going to come from?
Re:So they are dropping another tech (Score:5, Insightful)
By which you mean the JVM? It has nothing to do with "internet standards" ffs.
You do know that 'Java' is to 'JavaScript' as 'car' is to 'carpet'. Beyond a few shared letters for early buzzword compliance, and things like the Rhino interpreter, there is no real relationship between the two.
All those sexy HTML5/JavaScript apps have to be written in programming languages and hosted on servers. And plenty of people are building on top of the JVM. Large chunks of both Twitter and Foursquare are written in Scala, a JVM language. Why? Oh, something about how it is good for long-running processes due to something ridiculous like a million engineer-hours going into JVM development.
If we should get rid of technology simply because it is old, let's get rid of C. No, wait, let's not. Because it is a useful and practical technology, and we should base our technical decisions on technical merit not on buzzword compliance and what appeals to Web 2.0 shiny-seekers.
Re: (Score:3, Informative)
(Quoted a larger section of the GP pos
Re:So they are dropping another tech (Score:4, Insightful)
Re: (Score:3, Insightful)
Apple isn't going to 'stop supporting Java'.
Actually, if the JVM goes back to being a 3rd party system on OS X, which it seems like it will, this is exactly what they've done.
Re:So they are dropping another tech (Score:4, Insightful)
this insightfull?
So now Oracle will develop the JVM for Apple.
It is plausible enough that oracle won't, or will take so much time / bungle some stuff so bad that java on mac essentially becomes a no-no long enough to drive everyone to objective-C. Given the fact that java these days is mostly about server-side stuff and (the language anyway) android, i dont see any reason why oracle would hurry with an OS X JVM (they mostly care about their own server stack anyway, and OS X isnt anywhere near significant in server-world)
FYI Google doesn't care for Java, so stop sucking Google's dick.
Google runs TONS of their shit on java, heaps of their server-side apps are completely running in java. If any mega-corp cares about java (aside from oracle themselves), it would be google
Re: (Score:3, Insightful)
...and Steve is probably itching to reinvent UIs again and tell us we don't need overlapping windows and a menu bar after all (both integral to desktop OSs up to now).
This alone should be a big blinking clue that the path you're wandering down isn't making that much sense.
Making OSX work like iOS right now is a good deal more work than just mucking around with UI calls. You have to disable running of interpreted languages, completely sandbox each app, disable making files 'executable', and a whole slew of other things that the OS in its current design philosophy is taking for granted. It's stupid and it makes no sense to do that when iOS is already there.
The best clue
Abandonware (Score:2)
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!
Mac as ultimate dev machine no more? (Score:4, Interesting)
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...
Re:Mac as ultimate dev machine no more? (Score:5, Funny)
This dev is more concerned about Minecraft not working...
Re: (Score:3, Insightful)
I still fall back to my various Linux boxen a lot but for the actual IDE, I find OSX does fulfill the so called 'ultimate developer's machine' - I actually know a former MS-SQL developer collegue who has converted because it does work.
Let's hope either OpenJDK or IcedTea can fill in the gaps...
The danger is that they are going to force people down the Lion/AppStore route on the desktop - and the size of the desktop user-base will probably surprise them and bite them where it hurts most, their wallet - not e
Re: (Score:3)
Re:Mac as ultimate dev machine no more? (Score:5, Insightful)
Honestly, with the talk of app stores, the ridiculous talk of macbook air's being the 'future of computing', and other things from yesterdays announcements, I will be keeping my eye closely on linux for the time being. I'm not sure I'm going to stay with Apple for my next computer. They seem to be going in a direction I'm not comfortable with.
Re:App Store (Score:3, Insightful)
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".
Re: (Score:2, Insightful)
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.
MacOS is actually based on the mach kernel, and not UNIX. /pedantic
The issue here is that java is full of security holes, and is being actively exploited in the wild. If you have a normal computer (ie a non-mac), then you can download & install the latest java version from sun/oracle.
But if you have a mac, you can't. B
Re: (Score:3, Informative)
UNIX is a specification, not an implementation. Mac OS X 10.5 onwards on Intel are UNIX 03 certified /pedantic
Re:Mac as ultimate dev machine no more? (Score:5, Informative)
MacOS is actually based on the mach kernel, and not UNIX. /pedantic
Mac OS X is actually based on the mach kernel, which, along with OS X's userland is a certified implementation of UNIX. /pedantic
Re: (Score:2)
That's not pedantic, that's confused. Linux might be (pedantically) a specific kernel, but UNIX isn't. Unix is a set of higher level standards, and OSX conforms, and is officially registered as a version of UNIX.
http://www.opengroup.org/openbrand/register/apple.htm [opengroup.org]
Unlike Linux, there is no way that OSX is not UNIX, including by what kernel it uses.
Re: (Score:3, Insightful)
The problem with Unix defined as a marketing buzzword is that it leaves out a lot of important details that actual Unix users care about.
It allows for a degree of "inconsistency and chaos" that Mac Zealots would eviscerate Linux for.
Re:Mac as ultimate dev machine no more? (Score:4, Insightful)
Anyone who wants Java can install it. Oracle don't release a Mac version right now because previously Apple have done that work for them. But that'll no doubt change if Oracle are still wanting to promote Java. And even if not, GPL says someone else will.
Re:Mac as ultimate dev machine no more? (Score:4, Insightful)
I think a lot of Apple devs have been asking for this anyway. I usually stick with the "tried and true" but my colleagues were very vocal about Apple being slow to bring the new features for Java into their JDK.
Now that these people finally got part of what they wanted, let's see if Oracle or more likely OpenJDK steps in and gives them the rest. I personally look forward to helping bring Cocoa to OpenJDK and hope I'm not alone.
Re: (Score:3, Informative)
The BSD-port [java.net] of OpenJDK already run on OS X. I don't know if they support using Cocoa yet but their mailing list would probably be a nice place to start looking for others that are interested in working on Cocoa support in OpenJDK.
Re: (Score:3, Informative)
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...
The Linux foundation doesn't develop a Linux JVM.
Microsoft's JVM was awful and incompatible.
Both those platforms are still widely used for Java development and deployment, in spite of depending on a third-party JVM.
Re:Mac as ultimate dev machine no more? (Score:5, Insightful)
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...
Apple doesn't maintain a distribution of python, but you're still able to run Python on OS X. The only thing that's really going to change is that it won't be Apple doing the work, it will be Oracle.
Ugh... (Score:2)
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?
Re: (Score:2)
Variable variables... [php.net], 'nuff said.
That thing should have been shot at birth...
Re: (Score:2)
Agreed, it doesn't imply quality - the problem is how do you split the two?
Saying that I'd use perl or something else if its the right tool for the job - look at say mercurial which is mostly python (& some C) - I'm not that fixed to a specific language to start the flame wars some people seem to... that url was the only one I had to hand at the time...
Re: (Score:2)
"Proper" is a bit like when you put your real name and email instead of "Anonymous coward"...
Way to go, Apple. (Score:2, Interesting)
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 [hp.com]
PPS: Java IS part of the OS because without Java you cannot run Minecraft. :-)
Re: (Score:2)
Huhwhatnow? Am I just reading that wrong? Apple's custom rebuild of Java was available from the update centre, the same as most other Apple bits. Windows users have to have yet another background updater running. Linux users get Java from their repos (the same as any sane person) and get updates automatically, the same as Apple used to.
I'm still confused by the message. Is Apple ditching Java altogether, or just is custom rebuild?
Re: (Score:2)
They are just moving it to the App store, relax everyone.
Re: (Score:2)
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.
Did you ever actually use linux? Any linux distribution from this decade has a centralized installation/upgrade mechanism such as apt-get, etc. This is one huge usability advantage over windows, that makes linux in my opinion much more usable than windows at the moment. Plus, it is an open mechanism, because if you want a software that is not provided by your distribution you can add a new repository source and it will get auto-updated just like all the rest.
A move by Apple, or Oracle? (Score:2)
Who knows whether this is the result of some move on Oracle's part, rather than something Apple have suddenly decided to do?
Re:A move by Apple, or Oracle? (Score:4, Insightful)
This means that the Apple-produced runtime will not be maintained at the same level, and may be removed from future versions of Mac OS X.
Obvious reason: people aren't using the Apple-produced runtime in Mac Applications?
Applications developed in Objective-C / Cocoa are more specific to the OS X platform, providing Apple a competitive advantage when developers build their apps using Cocoa, instead of something portable like Java.
Not in Apple's best interest for Mac apps to be developed using Java.
Not only can they be run on other platforms, but Java-based apps may not conform to Apple UI design guidelines
Re: (Score:2)
I suspect a bit of both. Apple is pushing java out of the mobile space with iOS, and probably wants to set themselves up as controlling the Cocoa toolkit that runs on everything from iPhones via iPads to OS X to OS X Server. As long as you stay in the Apple sphere, of course.
However, I don't think the timing with Oracle is coincidental either, with the Android lawsuit and so on I think the see the opportunity to "sink" java as a development platform. Microsoft pushes .NET, Apple pushes Cocoa, Google pushes
Similar to Flash (Score:5, Insightful)
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.
Re: (Score:3, Insightful)
There are a lot of custom, in-house apps developed with Java specifically to handle cross-platform issues.
We couldn't have done a lot of our apps if we had to write separate versions for Windows, Linux, and Mac.
Annoying, but maybe a silver lining? (Score:2)
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.
part of new software store? (Score:2)
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".
Re: (Score:2)
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.
The odd thing is, with the release in question (Update 3), Apple's JVM is 1.6.0_22, exactly the same as the latest release for Linux/Solaris/Winows. This is the first time I can remember that that was the case.
watch oracle do nothing (Score:2, Interesting)
Re: (Score:3, Insightful)
Watch Apple not care.
I'm curious... (Score:2)
Why was Apple allowed to provide their own JVM software and Microsoft was sued for making their own JVM?
Re:I'm curious... (Score:4, Informative)
In short, Microsoft feared and sought to impede the development of network effects that cross-platform technology like Netscape Navigator and Java might enjoy and use to challenge Microsoft's monopoly. Another internal Microsoft document indicates that the plan was not simply to blunt Java/browser cross-platform momentum, but to destroy the cross-platform threat entirely, with the "Strategic Objective" described as to "Kill cross-platform Java by grow[ing] the polluted Java market."
More... [wikipedia.org]
Re: (Score:2)
Microsoft's J++ was not fully compatible with the Java spec at the time and introduced it's own class libraries in the standard Java namespaces IIRC. They claimed their JVM was compatible with Sun's Java even though it really wasn't. If you targeted J++ your app wouldn't run in any other Java environments. Apple's Java implementation is a full implementation of the J2SE spec and all the Cocoa bridging stuff was properly labeled as extenstions. If you write a J2SE app on Apple's JVM it will run on any other
Re: (Score:2)
Both Apple and Microsoft were commercial Java licensees. Apple's JVMs included all of the standard classes, plus some additional hooks to Mac-specific functionality that were clearly packaged as extensions (com.apple.*, quicktime.*, etc.). Microsoft's VM deliberately left out core functionality -- JNI for native calls and RMI for remote procedure calls -- and disguised Windows-specific calls as if they were typical Java calls, which could result in Java code that would only run on Windows.
I don't think it
Re: (Score:2)
It isn't Apple's "own" JVM software - it is still the Sun/Oracle JVM. Apple maintains the OS X port/distribution of Java.
Re: (Score:2)
Easy.
Apple followed the rules. The did extend Java but did it in way that didn't break portability.
Microsoft made an incompatible Java in violation of the agreement with Sun. They added all sorts of "windows only" features.
What about servers? (Score:5, Interesting)
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.
Re: (Score:2)
Rarely on the desktop myself... & for me that amounts to Netbeans. The rest is server-side, which fortunately reads as Linux. However for development it's a problem.
Re:What about servers? (Score:4, Informative)
Slashdot briefly seemed to have forced everybody to the "Dynamic Discussion" mode this morning. I went to my account settings, turned it off, and it still showed up as on. Then a half hour later, I went back to Slashdot and everything seems to be working with the classic interface again.
Anyway, it seems to have been a glitch in the matrix and all is back to normal now. An interface that only shows score-5 comments and makes you click 100 times to see more comments is just horrible. I hope that's not what "dynamic discussion" mode is. Ugh.
So, is this a reason to drop Apple hardware? (Score:3, Insightful)
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.
Wait for the other shoe to drop... (Score:4, Insightful)
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).
Apple's fault, or Oracle's? (Score:2)
Maybe Ellison wants the official JVM to be the only such one.
A vendetta against Java and Flash? (Score:2)
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 Sto
Re: (Score:2, Informative)