 |
 |
when Java 1.4.2 for Mac OS X??? why so long?
|
 |
|
 |
|
Dedicated MacNNer
Join Date: Jun 2000
Status:
Offline
|
|
I'm curious if anyone knows when Java 1.4.2 will be available for Mac OS X? (which has been available on other platforms for many months)
And two other questions: why is it taking Apple so long to get around to this?
And why is it that Sun doesn't offer Java releases directly for OS X?
|
|
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Apr 2002
Location: Illinois
Status:
Offline
|
|
Originally posted by OmniX:
I'm curious if anyone knows when Java 1.4.2 will be available for Mac OS X? (which has been available on other platforms for many months)
And two other questions: why is it taking Apple so long to get around to this?
And why is it that Sun doesn't offer Java releases directly for OS X?
It's been on ADC for months now... (Still making sure there's no bugs)
Sun refused to spend so much time making Java for anyone except Microsoft for along time. Only reason they make it for Linux is because IBM is a large customer for Java and IBM strongly supports Linux.
|
|
|
| |
|
|
|
 |
|
 |
|
Junior Member
Join Date: Mar 2002
Status:
Offline
|
|
Originally posted by King Bob On The Cob:
Sun refused to spend so much time making Java for anyone except Microsoft for along time. Only reason they make it for Linux is because IBM is a large customer for Java and IBM strongly supports Linux.
To expand on this, most Java impementations *don't* come from sun. Most are done by hardware vendors (like Apple, HP, IBM (for mainframes)) or by independent 3rd parties (MochaWorks, Apogee, etc). Sun's implementations are the most visible, but there are plenty of others out there. Very few of the third-party implementations are up to 1.4.2; many don't support 1.4.0 yet. Having Apple do the JVM port in-house means that releases take a little longer, but in return we get awesome features like hardware accelerated drawing*, hooks into the native application environment, and Cocoa-Java bindings which we might not otherwise get.
*Quartz Extreme was heavily influenced by the hardware-accelerated drawing impl put together by Apple's Java elves for OS X 10.1.
|
|
|
| |
|
|
|
 |
|
 |
|
Dedicated MacNNer
Join Date: Jun 2000
Status:
Offline
|
|
famousmred (or others): could you offer any insights as to how the Java implementation is implemented on the Windows platform? Does Microsoft do it? Or Sun?
Is there anything that Apple could do (work more closely with Sun?) to speed up Mac OS X Java releases, so they are more in synch with the Java world?
|
|
|
| |
|
|
|
 |
|
 |
|
Dedicated MacNNer
Join Date: Mar 2001
Location: Iowa City, IA
Status:
Offline
|
|
Sun supplies a Windows implementation of Java themselves because a Windows implementation is absolutely crucial and Microsoft ain't gonna do it.
Apple is not that far behind. They take Sun's code, and port it, and add nifty integrations into OS X. There's nothing Sun can do to make this faster, and I doubt there's anything Apple can do to make this faster. It's vastly more important that it be complete and robust.
At any rate, as has been pointed out, Apple doesn't lag behind "the Java world." They lag behind Sun, necessarily, because Sun leads, and also because Apple isn't content to just do a quick port. This is a good thing.
No serious Java developer is always up on the bleeding edge anyway, so it's no great loss.
|
|
James
"I grew up. Then I got better." - Sea Wasp
|
| |
|
|
|
 |
|
 |
|
Dedicated MacNNer
Join Date: Jun 2000
Status:
Offline
|
|
just to explore the question a slight bit further: if Sun makes a Java implementation for Linux (since IBM lends its enterprise support to the platform, according to a previous poster), would it be possible for Apple to base the OSX implementation off of that, and thus have much of the work already done for them? (I assume that's what other non OSX Unix distributions do for Java support?)
Is there that big of a difference between Darwin and Linux, and Darwin and the other Unixes?
Forgive me if this is a slightly naive question; my developer experience is quite limited, but I am interested in the issue.
|
|
|
| |
|
|
|
 |
|
 |
|
Senior User
Join Date: Apr 2000
Location: Woodridge, IL
Status:
Offline
|
|
To further explore, what exactly changed in 1.4.2 that's so critical? Usually 0.0.1 updates (particularly of Java) don't change much of anything. Of course, if they change that one thing you need, then it's important for you. 
|
|
|
| |
|
|
|
 |
|
 |
|
Junior Member
Join Date: Mar 2002
Status:
Offline
|
|
Originally posted by OmniX:
just to explore the question a slight bit further: if Sun makes a Java implementation for Linux (since IBM lends its enterprise support to the platform, according to a previous poster), would it be possible for Apple to base the OSX implementation off of that, and thus have much of the work already done for them?)
Yes and no. The short answer is that Apple can use a lot of what Sun provides, but Apple also has to (and chooses to) do a lot on their own.
Long answer:
Apple licenses the Java source from Sun, which includes the source for a VM, the class library, and so on. The Java class library is written almost entirely in Java (the language), so no porting is needed for much of it. The native (non-Java) parts of the class library and the virtual machine itself need to be ported. For some files a simple recompile is enough. For others, Apple has to do some heavy lifting (the HotSpot Just-In-Time compiler needs to be written/tweaked specifically for each CPU).
Then there's the matter of the user interface. Getting things onto the screen is much harder than it sounds. Apple had to write that part themselves (Sun provides a Windows UI and an X11 UI, but no UI for OS X). While Apple could have chosen to use X11 for the UI to make their lives easier, it wouldn't have been the right thing. Instead they wrote their own, which takes awhile.*
Another part of the user interface is figuring out *what* to put onscreen. Java supports different look-and-feels for applications (a LAF is basically a fancy, all-encompassing skin). There's a generic LAF, a Windows LAF, and a couple of others. Apple provides their own LAF (Aqua), which they need to write and maintain. I imagine that while the Aqua LAF may be based on one that Sun provided, a large part of it is custom code that Apple has to write + maintain. This is hard work, especially when trying to make something that integrates with the more advanced parts of the Aqua UI like the striped background, rounded buttons, lots of transparency, etc.
Then there are the extra touches Apple puts on the Java implementation, like the ability to package Java apps just like a native app, or integration with the OS'es native spellchecking framework. These are all chunks of custom code.
So yes, Apple can (and does) borrow an awful lot from Sun. They also have to do a lot of work themselves though.
--
*Interestingly, the implementation of JDK 1.3 that shipped with OS X 10.0-10.2 used the Carbon framework for custom code. Apple basically rewrote all of the custom stuff from the ground up for JDK 1.4 using Cocoa. In doing so they wound up with a much better foundation in 1/4 as much custom code, which (they claim) means that future updates to Java will be much closer to the Sun releases. The rewrite is why the 1.4.1 release took so long.
|
|
|
| |
|
|
|
 |
|
 |
|
Dedicated MacNNer
Join Date: Jun 2000
Status:
Offline
|
|
famousread, thanks for your reply.
(i guess that means 1.4.2 should be in SoftwareUpdate any day now...!  )
|
|
|
| |
|
|
|
 |
|
 |
|
Dedicated MacNNer
Join Date: Jun 2000
Status:
Offline
|
|
another question, based on famousred's response: if the HotSpot JIT needs to be re-written for every CPU, who does this work for non Mac OS X PowerPC-based OSes, such as Yellow Dog Linux, etc.?
|
|
|
| |
|
|
|
 |
|
 |
|
Mac Elite
Join Date: Apr 2002
Location: Illinois
Status:
Offline
|
|
Originally posted by OmniX:
another question, based on famousred's response: if the HotSpot JIT needs to be re-written for every CPU, who does this work for non Mac OS X PowerPC-based OSes, such as Yellow Dog Linux, etc.?
IBM. Do you think they would leave their own processors out in the cold?
|
|
|
| |
|
|
|
 |
|
 |
|
Professional Poster
Join Date: Jun 2001
Location: Northwest Ohio
Status:
Online
|
|
Originally posted by Amorph:
Sun supplies a Windows implementation of Java themselves because a Windows implementation is absolutely crucial and Microsoft ain't gonna do it.
Actually, Microsoft is not allowed to do it. Sun sued Microsoft because Microsoft tried to kill the cross-platform abilities of Java by "embracing and extending" (aka embrace and extinguish) it... making Java applications essentially only run on Windows.
The judge agreed with Sun, and Microsoft went away and "invented" C#.
|
|
|
| |
|
|
|
 |
 |
|
 |
|
|
|
|
|

|
|
 |
Forum Rules
|
 |
 |
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is Off
|
|
|
|
|
|
 |
 |
 |
 |
|
 |
|