Published: Oct 29 2007 / 14:26
Apple's failure to supply a current, compatible Java implementation in Leopard is a huge disappointment. We have invested heavily in Apple hardware over the years, so we face the distressing choice of abandoning the Mac or working without the fundamental tools we require to develop and test our Java 6 server applications.
What would you do?
I'd do precisely what I did when Apple pulled the same crap with the IIvx - never look back. As my grandma used to say, "Bite me once, shame on you. Bite me twice, shame on me." Steve Job's personality defects aren't going to change....
This is really sad. I bought an iMac and I was moving along with my Java based projects, however all of a sudden I can't use Mac OS to develop my projects with because without a recent or more current JDK or JVM, my iMac is just good for browsing and emailing.
...and taking pictures with animated background.
As i mentioned already in few blogs and forums, the Macintosh has become a gorgeous tool for playing and look "COOL" amongst the other PCs.
I think it may be a good idea to just take a deep breath and calm down for a bit. There are plenty of good short-term options for running Java 6 on the Mac if you need it now (BootCamp and Parallels both work beautifully).
Shipping an OS is no small feat and I'm guessing Apple just didn't have time to bring Java 6 up to speed for the launch. I sure hope they're working feverishly to ship it now. If we haven't seen any sign of it in the next month or so, then it might be time to start evaluating our options.
Mac OS X as a work environment (no matter what kind of dev work you do) makes you so productive that I wouldn't consider dropping it on a whim.
@cuncurrency: whether we like it or not, cool end-user features like pictures and movies are what sell computers and operating systems.
> I think it may be a good idea to just take a deep breath and calm down for a bit. There are plenty of
> good short-term options for running Java 6 on the Mac if you need it now (BootCamp and Parallels both
> work beautifully).
Is that what I am supposed to tell my customers who can't run apps that require Java2D on their upgraded Apple systems? As I said, the rendering performance of Java2D in Java 5 on Leopard is so bad it is not even usable. What if they have PPC based Macs? As the vast majority of business customers still do? Then they are totally out of luck.
> Mac OS X as a work environment (no matter what kind of dev work you do) makes you so productive
> that I wouldn't consider dropping it on a whim.
I would really like to see some actual scientific controlled studies to prove this claim sometime. Everyone claims that it makes you "so productive". But no one can actually back it up. Please tell me. How is Mac more productive than Windows? Or Linux? I'm no more productive on Mac than I am on Linux. Maybe slightly more productive than I am on Windows. But if I install Cygwin on Windows, then once again, I am no more productive on Mac than Windows.
Once again, whether they ship it in a couple weeks or not is irrelevant at this point. I'm sick of the entire Apple culture. I'm sick of the fact that they think they can just leave us in the dark about when important products we rely on to do our work are going to be ready. I'm sick of them changing their plans, yanking developer previews of software without putting up a new one, and simply being totally silent and not letting their customers know anything about what is going on. As I said, if they haven't got the time to even let us know what the plan is for critical products we rely on. Then I haven't got time for their products. That really is the end of the story as far as I am concerned. I've put up with them for too long. And if anything, they have gotten worse. Not better.
Isn't this really Sun's responsibility?
@murban: I was talking specifically about dumping Mac development systems, not about deployment environments. However, I'd be happy to discuss deployment.
What were you telling your customers on October 25? Tell them the same thing now. Apple not shipping Java 6 on Leopard shouldn't "break" any production system that was running fine on Tiger. If so, that was your mistake. The performance issues with Java 5 on Leopard are troubling, but I think they will be addressed. In the mean time, I'm guessing the customer would rather hear "don't upgrade to Leopard yet" than "dump your Macs and switch to Linux (or Windows).".
Speaking of which, now that you decided Apple sucks, what is your plan for your customers? Tell them to ditch all of their Macs and switch to Windows? That may be a hard sell. If I were your customer and you told me I had to switch platforms to run your software, I'd probably find competing software that would run on my platform of choice.
If your software is the only thing they run on those Macs, then staying on Tiger should not be a problem at all. I don't know why they'd even bother upgrading. If your software is just one of many that the customer uses on the Mac, then I think you're going to have a hard time convincing them to switch to Windows.
Good luck finding an objective way to measure developer productivity. We've been trying for years with little success. That LOC metric looked pretty good for a while there, though. :-)
That being said, I think individuals can easily determine which environment makes them more productive. I've been a software engineer for more than 15 years and I've used a LOT of different environments. I am definitely much more productive on Mac than on any other system I've ever worked on. Period.
So you're sick of Apple culture? What has changed? Apple has had that same "arrogant" culture since at least 1983. They had it when they made great products. They had it when they made lousy products. Now they make great products again and they still have it. No big surprises here.
I understand that you're pissed about the lack of communication about their Java plans. Me too. But there are a lot of redeeming qualities for the platform as a whole that make waiting to see what happens a compelling idea. Furthermore, there are plenty of problems with both Linux and Windows, so it basically comes down to picking your poison.
In your case, I think it WOULD be best if you ditched the Mac. Ubuntu is probably a good choice or maybe XP with Cygwin. You'll be happier and at the end of the day, that's what really matters. I wish you well.
> What were you telling your customers on October 25? Tell them the same thing now. Apple not shipping
> Java 6 on Leopard shouldn't "break" any production system that was running fine on Tiger. If so, that was
> your mistake.
No. It was not my mistake. It was Apple's mistake fro switching the default renderer and breaking thousands of applications that worked fine in Tiger. Yes, you can work around this as I have since found out. But you have re-enable the Quartz renderer, since Apple is now using the non-accelerated standard Java one (on most platforms, Java2D uses OpenGL, on Apple it uses Quartz. Or used to use Quartz by default until Apple decided to change).
So now I have to ship a patch, because Apple made a change that makes no sense. Switching off the Quartz renderer in Java has no rhyme or reason.
>Speaking of which, now that you decided Apple sucks, what is your plan for your customers? Tell them to ditch
> all of their Macs and switch to Windows? That may be a hard sell.
No. My plan is simple "Future versions of this product will no longer support Macintosh". It's simply not worth it to support less than 1% of users. The support costs outweigh the potential benefits of doing so. I'm doing what tons of others have done before me. Simply drop Mac support altogether. It's not worth it. it costs more to support than you can make on it.
hmm. Could you post a sample of the Java2D code that runs slowly on Leopard? I was just playing with the Java2D swingset and everything seemed to be pretty snappy on my MBP.
Did it only get slower on older hardware?
The problem has been resolved, The problem was that in Leopard, Apple decided to switch the default Java rendering pipeline to the non-accelerated standard Java one instead of the Quartz one that it was using in Tiger. So once you re-enable Quartz rendering, the problem goes away.
The problem is that you have ship a patch to do this, or deal with support calls from customers and try to explain to them manually how to re-enable the quartz renderer. Why Apple decided to stop using Quartz by default in Java is beyond on me. Since performance of Java2D is unusable without it.
Hm, didn't really realize Java support on OS X was this poor. Java 5!? So glad I decided to by a new HP laptop and install Ubuntu on it, rather then buying a Mac.
Hmm. I didn't realize Ubuntu was so harmful to laptop hard drives (https://launchpad.net/bug59695.html). I'm sure glad I bought a Mac rather "then" [sic] buying an HP laptop with Ubuntu on it.
I read an article recently (wish I could remember where) that said Apple treats its developers like abused lovers. Showering you with gifts, before dealing out some bizarre bit of cruelty with no apparent reason. It's a neat trick that keeps you all begging for scraps.
They're just pretending to ignore you, so that you will feel all the more grateful when Java6 turns up in an update, probably four weeks from now, if not sooner.
Just take a deep breath and have a little patience, because you know that you're not going anywhere.
As I mentioned earlier, Java2D seems to be performing fine on my box and I haven't changed anything from the default install. Maybe they set the default depending on which Mac (or maybe which video hardware) you have? Did you do an upgrade install or an "archive" install? I'm curious whether that makes a difference in what setting becomes the default.
Still. I say if Apple changed anything at all about the way Java renders in Leopard as compared with Tiger we write a huge, ranting blog post about it and then promptly switch to Linux.
As a developer of a somewhat complex Java based PDF viewer, I can tell you that the most likely reason that Apple dropped Quartz as the default rendering pipeline is due to fidelity. In many cases the Quartz based renderer does not work as well as the Java one (text layout using fractional metrics).
The "slowness" people see using the Java pipeline is not what is appears. The Quartz image pipeline is optimized for certain image formats. The Java pipeline is optimized for others. There are some image types that display much faster under the Java renderer than Quartz! In developing the pdf viewer I have disabled the Quartz pipeline (back on 1.5...) because what worked on every other platform (windows, linux) refused to render properly using Quartz. The worst part is that Apple is SOOOO SLOOOWWW to respond to reports of bugs - and when they do, often their responses are nonsense.
I would assume that eventually the Apple JVM will support the OpenGL pipeline, and then all of the image optimizations can be handled farther down the stack.
The best would be for Apple to donate what they have done so far to the OpenJDK project, and let the community take it from there. It would be GREAT is Apple treated Java as a first class citizen, but they seem reluctant to devote the resources to make that happen.
Damn'. As a ruby developer, I was dreaming of coding on Netbeans on a Mac someday.
Guess that's not gonna happen...
Html tags not supported. Reply is editable for 5 minutes. Use [code lang="java|ruby|sql|css|xml"][/code] to post code snippets.