This blog is about Mustang for the Mac, which is being developed for both PowerPC- and Intel-based Macs. That’s kind of interesting when you consider one thing:
As of yesterday, Apple doesn’t make PowerPC Macs anymore.
Soooo… why are they still working on a PowerPC version of Mustang, as evidenced by posts to the java-dev list announcing each version? Oh, sure, they don’t want to “piss off” their current Java-using audience, right?
But wait a minute: Sun doesn’t expect to declare Mustang final until October. And Apple’s release will surely fall some number of weeks or months after that (hey, we’re lucky; it used to be measured in years). So a non-trivial amount of time will have elapsed between the end of PPC Macs and the release of a final Mac Mustang.
Furthermore, how many developers need Mustang features right away? Other than Aerith, I mean? For a huge majority of developers, Java SE 5.0 will be just fine, and it still enjoys Hotspot acceleration, as my G5 reports.:
[aeris:~] cadamson% java -version java version "1.5.0_06" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-112) Java HotSpot(TM) Client VM (build 1.5.0_06-64, mixed mode, sharing)
So by the time anyone’s shipping Mustang-dependent applications, it could easily be a year from now, meaning a year and a half since the iMacs and laptops went Intel, and a year since the tower switched. So if Mustang for PPC went cold, how much outcry would really be justified?
I have to be careful in staying out of NDA territory discussing Mac Java — the existence of the Developer Previews is public knowledge due to its posting on the java-dev list, but the nature of the VM’s remains covered by NDA agreements that anyone who clicks into connect.apple.com is stuck with. So even if I’ve played with Mustang on PPC and Intel, I can’t talk about it. Guess you’ll just have to buy two Macs and try it yourself.
But the BoFs at JavaOne are not NDA’ed, and Apple’s team talked about some interesting issues over the last few years. Chiefly, they get a big win on Intel from all the compiler work that Sun and others have done for the x86 platform. At JavaOne 2005, they talked about the C1 and C2 HotSpot compilers (are these -client and -server ?) that they already had running on Intel Macs. They didn’t inherit all this intense optimization work on the PowerPC, and had to do it themselves. That’s extra work that made sense when the PPC was what Macs ran on, but what about today?
Ultimately, Apple is in business to sell hardware. It may be the case that there is enough end-user Java software (Limewire, Moneydance, etc.) that Apple feels compelled to support Java for the sake of these applications. It may also be the case that Java support is largely a means of selling attractive laptops to developers. Sun says there are about 5 million Java developers. If having Java means that Apple could capture 1% of that audience that wouldn’t otherwise buy Macs, that’s 50,000 computers times Apple’s notoriously high margin times the price of each computer… easily enough to pay for Apple’s Java team all by itself.
And if the point of supporting Java is to sell computers, and they don’t sell PPC computers anymore, then it shouldn’t surprise anyone to see PPC support drop off the radar very fast. Particularly if most of the audience really is developers: if that’s the case, then considering most Java developers do enterprise apps, and Apple isn’t that prominent in the server space, then it’s likely all the runtime is doing on the Mac is compiling and unit-testing. If the PPC runtime gets a little less love, it may be a perfectly sensible thing for Apple to do.
In other words: if Mustang stinks on PPC, don’t be surprised. Code to Java SE 5.0, or upgrade yourself to Intel. Even my 512 MB Core Solo mini is a surprisingly adequate Java machine.



I know that development cycles and support for legacy stuff goes much faster with Apple, but come on, it was only what, 211 days ago that they even started to make the Intel transition. So all those developers who bought G5 PowerMacs or other PPC based systems can't use Mustang and shouldn't be able to complain? Please.
Apple has said that they will support PPC at least until the version *after* Leopard so I would expect Java to be part of that. I *expect* mustang for PPC because developers will be messing with Mustang long before a year from now - I plan to be messing with Mustang as soon as Apple can get it out there. I have a PowerBook that's not 2 years old now. I plan on upgrading once my AppleCare days are limited. Until then, this is my primary work computer - meaning lots and lots of Java development, JSE 5, JSE 6 or whatever.
I certainly hope Apple doesn't cut off PPC from Mustang or I would be writing in.
As an addendum to my previous comment, I develop web applications on a mac and don't develop anything for the mac platform itself. I just want to be able to develop and test web applications with the latest version of Java and then deploy them on Solaris, Linux, etc. That's really why I would need JSE 6, because all other environments would have it.
Can you cite where you saw Apple promising to support PowerPC in the OS version after Leopard? With Leopard coming out next Spring, and approximately three-year dev cycles for the OS (Apple said they were slowing down after Tiger), that would put this OS sometime in 2010... four years after the last PPC shipped. Given the cost of developing for and testing for a second architecture, I would be very surprised if a) Apple made such a promise, and b) they actually kept it.
I was wrong. I couldn't find it on the Apple.com site but at http://appleintelfaq.com/#12 it says that Apple has stated that PPC would be supported with Leopard. So that makes the next release after Leopard up in the air. You're right, it would be tough to justify support for PPC for too long. I am just saying that I think it's too early to discontinue too much for the PPC since the install base of users is still so large. I don't *think* I'm alone (who knows) as a web application developer that uses a PowerBook. That's I guess what I was trying to communicate. I didn't mean to sound rude, just that I hope that Apple realizes that there is at least some set of users who would appreciate very much Mustang on PPC and that I didn't think it was an unrealistic expectation. I had written in to Apple when it took them almost 2 years to get JSE 5 out the door as default on their OS so you have me kind of afraid that they won't do it (especially with the Mustang preview release for Intel only still, though they did say that the PPC release was forthcoming, AFAIK).
Anyways, thanks for keeping me honest. I was just getting ahead of myself as I was in my flabbergasted mode :-P.
I'm not up with solid facts, but I get the impression that, historically at least, Apple has maintained backwards compatibility for several years, partly because this ties in with their obligations to maintain the hardware in their service contracts. There's no real reason for them to do this with the SW, so it must be tempting to drop it. That said, other factors might keep it in place. They have had the OS running (to whatever extent) on Intel for years apparently, for several reasons: perhaps they'll keep PPC support for much the same reaasons? My personal pick is a more gradual drop off, losing G3, then G4 and finally them all. They won't want to lose loyal clients, after all (and Apple is probably fairly dependent on them!)
C1 == -client
C2 == -server
Well thats why I don't use a Mac - Apple is only focused on selling things. After they've sold it ... the mostly don't care about you anymore.
I don't feel comfortable with updating the OS every year (in other words buy every year an upadte just to be able to use latest software), nore with throwing away a 1 year old PPC mac, just because Apple can't develop compatible products.
If Apple would now drop Support for PPC rapidly I just would feel right with my descision.
Let's see, so you're of the opinion that noone will be using PPC powered Macs by the time Mustang hits the street?
If depreciation goes anything like it does with PCs there will be a LOT of them still around. PCs in companies (and most home machines) remain in use for something like 5 years at least (not necessarilly with the same user), maybe even 10 years in some cases.
There's no reason to think that Macs are any different (though the religious Macaddict will replace his earlier, that's not the customer Apple or Sun really cares about as he's not responsible for the bulk of their revenue) so if there are the claimed several million Macs out there today you can expect at least a million of them to still be around when Mustang is released.
That's a sizeable market.
I'm not saying that no one will be using PPC Macs by the time Mustang comes out; I'm saying that Apple won't be selling any, so supporting such machines becomes increasingly an act of charity as time goes on, especially given how slowly the risk-averse Java development community adopts new versions. By the time Mustang really matters, how much will PPC matter? I should mention that I'm not so much advocating the quick abandonment of the PPC as I am being realistic about Apple's motives and general history. I recall their BoF at JavaOne 2005 when people were wondering/complaining about how J2SE 5.0 would only be supported on Tiger and not backported to Panther. Apple's reps said they were focused on the future and the new features in the current OS. Historically, Apple's been pretty aggressive about pushing old boxes off the cliff. Ask someone whose Mac doesn't have USB 2.0 about the non-FireWire-friendly iPod lineup sometime, or a pre-FireWire Mac user about Tiger.
Ahh, because there are tons of people running PPC macs who want Java 6?
Maybe, just maybe apple is trying to be good to customers? I just bought a PowerBook G4 (the last 15 inch model made), and if apple did not release a Java 6 for PPC, I would be screaming bloody murder!
So you think apple should only do what 'sells' computers? Maybe they are also thinking of future customers, knowing that if they treat current customers well, they will buy apple in the future.
Apple is not going to suddenly abandon computers it is *still* selling (PowerMac G5 is still for sale on the apple store). 2-3 years from now I can see them starting to really phase PPC out, but for the next couple of years it would be suisidal.
This article is completely pointless.
So what if people are developing with mustang *RIGHT NOW*??
You falsely assume that everything is WAY off in the future. I for one like to use the latest features as soon as they are available (even if they are in beta). Does not mean that it is going to be used in production right away, but it is definately useful right now.
Granted, they likely had to put much effort of their own into the VM in the past, where they can now use more of Sun's work. But they do have it now, including HotSpot. Does this stuff really change so much between releases (say, from Tiger to Mustang) that the additional effort is significant? I wouldn't think so, as the language is much the same, isn't it?
Of course, after that release, I would not be too surprised to see Java PPC support fade.
I don't see the point in removing support for the platform the project was initially configured to target. If anything, it probably saves time in certain functional testing debugging instances to have an identical reference platform on the same box. And it certainly isn't going to save any time to chuck the PPC target, consider the man-hours involved in branching, code cleanup, administrative approval. What's the point? The work is done, and you don't throw away good code when there are Xserve application servers out there in the wild that still have several years of life.
There still are tons of PPC based Macs, both "clients" and "servers", so having Mustang with PPC JIT compiler is still VERY useful and expected, indeed !
Not so many people can / want afford new hardware just because you can...
- I'm on a powerPC and I want to run the Mustang 6 beta right now!
- More importantly for me is When will Oracle be releasing a Universal binary for it's db products because, I'm running Java and Oracle DB on my laptop.
To August 27 Anonymous: Mustang developer preview is available for Intel and PPC from the ADC (even for free "online" members). See a recent announcement for details, and remember that while widely-distributed, it's still NDA so you can't talk about it publicly.
Sorry but one of the points of java wasn't the platform/CPU independence? There are serious machines out there, when you speak about PowerPC, you forget the G5 machines and especially this kind of (Quad G5) machines which are used in production workflow. It is not about Limewire P2P application; it is about breaking the "trust" or what is left of it.
If Apple never releases PPC optimised new javas, what about Xserve G5 machines out there? They are servers. Just as you won't discard a Fiber/SCSI, HD workstation having max RAM (16GB) just because Steve Jobs falls in love with Intel making exclusive agreements which may end up in court (Intel/AMD case) people won't discard their Xserve G5s.
I am actually surprised that a person in Oreillynet thinks of java as couple of piracy ahem. P2p applications.
If Mustang stinks in PPC, people will switch to a more serious platform which is concentrated on things other than fashion mp3 players.
Perhaps it is already time for Sun to takeover Java support on OS X?
sorry for double posting but I must make myself clear: I know what author speaks about and there could be such thing. That would be the time to convert/move to Yellow Dog Linux for PPC users/servers.
It will give amazingly perfect argument against using Apple for serious things to their rivals. That is why it can't happen.
Tyan/Microsoft or even Linux PPC vendor: "See, they couldn't even handle java for their $4000, $10k desktops/servers, that is a company to buy iPod from, not enterprise/workstation products"
It would be perfectly reasoned argument against Apple which would totally be justified.
We have Mustang now in Tiger
We will have Dolphin in Leopard PPC