Java SE 6 For Mac OS X
wchatam writes "After a long delay, Apple has finally released a version of Java 6 for OS X. 64-bit Intel Macs are starting to see this pushed out via Software Update, but there has not been an announcement for when 32-bit Intel and PowerPC Mac users will get their versions."
Look, if you're going to repeat a lame joke, at least be accurate. It goes like this:
"Java: write once, debug everywhere."
Dear Mac users,
We're very sorry that unenlightened members of our organization have ported this abomination to your platform. I'm quite sure that you understand that large organizations often have rogue elements working against the organization's best interests from the inside. I assure you that we're working tirelessly to end the Java scourge. In the meantime, we offer our most sincere apologies not only to the Mac community, but to everyone who has been forced to use a Java application throughout history. Hopefully, with your help, we can cleanse the world of Java and make computing a more enjoyable experience for all.
Thank you for your time,
Sun Microsystems
I was about to say that this matters to the Java Fanbois, in the hope that they would finally get to play with the Java 6 features now that they're supported on the major platforms. "Doesn't run on Mac, must run everywhere" is a very solid argument against moving to Java 6.
As it happens, I must be new here, and I accidentally read the article.
Sadly, a Java 6 app still doesn't run everywhere. According to the Update, it'll only run on 64-bit Intel Macs with OSX 10.5.2 installed. If Apple doesn't do something about that fact, this update really doesn't mean much for anyone interested in developing for broad market deployment. This will only affect the tinkerers that happen to be running the latest version of OSX on 64-bit hardware, or developers that are fortunate enough to be able to target an audience that uses modernish technology.
So, nothing to see here unless you're a bleeding-edge Java+Mac fanboi. Granted, that particular market segment has gotten the shaft for far too long. It's good to see at least a small step in the right direction.
All Macs have been 64-bit for quite a while now. The G5s were 64-bit (but that doesn't really matter, since this update is only for Intel Macs) and the only Intel Macs that aren't 64-bit are the original run of Mac Minis with the Core Solos, and the first iMacs with the Core Duos. All Intel MacBooks, MacBook Pros, and Mac Pros are 64-bit, along with any iMac since late 2006.
Computers allow humans to make mistakes at the fastest speeds known, with the possible exception of tequila and handguns
Well, somebody had to post. All of us Mac guys were too busy running our critical Java 6 stuff.
I don't know of anyone beyond the most clueless of idiots who think that Macs don't crash. Of course they can crash, every computer has a chance to crash. The thing is that Macs tend to crash less often than certain other computer platforms because Mac OS X and Apple hardware are designed to integrate tightly and there are less variables in their construction. Apple is also not immune to producing the occasional lemon but in experience they tend to build solid machines that have very few problems.
Mac OS X is VERY tolerant of situations where you are running low on RAM, once it has enough RAM to run itself. Generally once you are above about 512 MB of RAM you have a decent amount to run Mac OS X. Yes, it will run better with more RAM than that but for the casual user anything from 512 MB to 1 GB is pretty decent.
I don't know if you understand how modern operating systems work but generally they will load TONS into memory, even if they don't really need it. Just because Safari is "using" 800 MB of RAM doesn't mean that it's really using that much. A lot of that is caches, backing stores, associated libraries, and other support data that the operating system loads just in case it's needed. That sort of stuff can be overwritten in a jiffy if another application needs the memory. Not only that but a lot of that memory is likely to be libraries that are common to other running applications so 3 or 4 running applications might all be using the same 500 MB chunk of RAM.
I think you might want to read up on memory management under Mac OS X before you make these sort of wild speculations...
Sapere aude!
Um, no, anything using a Core Duo is 32-bit, which means the first gen of all Intel Macs with the exception of the Mac Pro. The Core 2 Duo was a 64-bit CPU, not the Core Duo.
What reaaly bothers me about Apple is that their support for anything that doesn't come out of Cupertino seems to be either designed to bait end users into moving to Macs than anything else.
When Apple brought out OS X in 2001, it was all smiles as the system came with free developer tools, a Java-Cocoa API that allowed you to use Java to write native Cocoa apps as well as a C/C++ API that also allowed you to write native Mac apps.
The problem was that the Java-Cocoa api was buggy from the start, apart from having very slow response on a, at the time, very slow user interface. Apple never fixed some of the worst bugs in critical objects (PDF objects for example), and finally, in 2005, dropped further development for the Java-Cocoa bridge altogether.
Last year, Apple dropped further development for the C/C++ API, which is having a major impact on big applications like Adobe's Creative Suite, which now have to move to Apple's in-house Objective-C api.
The overall impression that I get is that Apple is only paying lip service to anything that doesn't come from Apple itself. Apple was known for this in the 90s and there was an acronym for that: NIH -Not Invented Here. This is also Microsoft suffers from, in its Embrace and Extend strategy.
This had serious repurcussions for Apple in the 90s and I, as a long time Mac user worry if it won't happen again. Java6 was available for other platforms over two years ago, and now Java7 is even almost here.
Seriously, if you're a Java developer, is there any actual reason to use Mac OSX? You're far better off using Eclipse on Linux.
I hate to bait you, but an appropriate comeback to that would be: Whereas as everybody else was running their critical Java6 stuff 2 years ago.
There is a real problem at Apple with Java. Java6 was in beta 2 years ago at Apple, and has only been released in a crippled form for OSX, now. The thing is, Java7 is already on its way for the rest of the world.
Microsoft's support for Java on Windows theoretically ended in 2007, and if you want to run Java apps on Windows you go to http://www.java.com/en/index.jsp and download Java.
If you're on Linux and you want to run Java apps, you go to the same place and download an RPM.
On Solaris, of course, you go... guess where... and download Java.
Last time I installed it on FreeBSD, I used the Linux binaries in Linus emulation mode. There's a FreeBSD Java project now.
And Sun has recently announced that they'll be supporting Java on the iPhone.
But if you have a Mac, Sun tells you to bugger off and ask Apple.
I'm sure there's some good historical reason for this weird exception, but given that Sun's supporting Java on much smaller platforms than Mac OS X, wouldn't it be in Sun's interest to take on the Mac as well if whatever legacy business agreement with Apple isn't working out? If they did that, then possibly it'd even become possible to get up-to-date Java support for older versions of OS X.
How about it, Sun, are you willing to put your programmers where your mouth is?
The MacBook, the MacBook Pro, the Mac Mini, and the iMac all shipped with a Core Duo model initially. The only model that didn't is the Mac Pro. Oh, and Xserve....
Check out my sci-fi/humor trilogy at PatriotsBooks.
Apple has a history of denying new versions of Java to any previous version of the OS. (See Java 5 & 10.3)
Frankly I was amazed that Acrobat 8 Professional requires Mac OS 10.4 when it only came out 18 months after 10.4 was released. (But then perhaps Apple was paying Adobe a little bit under the table to help strongarm Mac owners into coughing up their $129 upgrade fee.) And of course Office 2008 requires 10.4 as well.
I have a hard time believing that the OS changes so fundamentally from one version to the next that apps can't be reasonably ported. I guess the only reason legacy versions of Windows enjoy so much support is simply because of the vast amount of market share Microsoft enjoys.
Makes me glad I use a free operating system and free software, still annoying as fuck supporting my users though.
On licensing, the BSD port licensed its code from Sun under a different license before Java went GPL.
At the moment, legal eagles are working through some paperwork regarding acceptance of this code into the GPL source tree. But in coming months we'll hopefully see the BSD and, by extension, Landon Fuller's OS X work hosted in the main openjdk codebase. Patience...
Now on the other matter, the OS X Java, there have been pleadings from Java developers in the past for Sun to take the reins and do an official port. Particularly a few months ago when Leopard shipped without Java 6.
What makes the port to OS X harder than, say, Linux? Among other things:
* A Cocoa implementation of AWT
* Porting the hotspot virtual machine to PPC
* native libraries, e.g. the Java-Cocoa bridge
These are not trivial tasks they require some expertise of OS X and PowerPC internals. If they were simple to implement, Apple wouldn't be 2 years late. For Sun to replicate these existing features from scratch would take many man years. And for 10%, or thereabouts, of the desktop market they obviously don't see a cost benefit. Would Sun be willing to 'buy back' Apple's source tree and GPL it? Some OS X internals Apple may not wish to expose (IP issues) and like Sun's codebase be encumbered by code they don't own.
Ultimately some of the ball is in Apple's court. They have sought to maintain their own Java port for competitive reasons such as low level OS integration. But what competitive advantage they deem to have when their releases are a full version behind Linux, Solaris and Windows is debatable.
Would Apple publish changes back to openjdk? They seem reluctant to. One benefit:
* PowerPC hotspot - someone else can maintain legacy architecture support for the G4. Who else have a vested interest in openjdk? Redhat, who have signalled intentions to support multiple architectures besides x86. Do Apple and Redhat really compete for the same markets, aside from a few Xserves???
Windows XP's system requirements are rooted in the cutting-edge technology of 2001, with a few increases on the way thanks to the three service packs, whereas Leopard was designed for the current and previous generation of hardware Apple has shipped.
It's just not that good of a comparison.