Java 1.4.1 Update 1 for Mac OS X
hrbrmstr writes "Regular updaters will already know, but Apple issued an update to Java today. It adds the following enhancements: improved Java applet support for Safari and other web browsers that support the Java Internet Plug-In; improved drawing correctness and performance; changes to Java 1.3.1 that provide support for Oracle11i client applications on Mac OS X; improved stability, memory usage, and correctness."
Does anyone know if robocode works right with this new version? It's the one program I've found that seems to run *much* better on windows Java distros than on OS X (it's basically unusable). I'd really like to see that working, because it's a great game, and a fun way to learn Java.
A Minesweeper clone that doesn't suck
It's fairly obvious that Sun has made an effort to assure that Solaris + Java == happy
And here I thought that SUN's whole purpose was to make sure that Solaris + anything = miserable. That was always my experience - but I've not touched Solaris for 4 or 5 years...
I think Hushmail is using some wierdo sun.* encryption library that hasn't so far been included with Apple's Java libraries. Have they fixed this? It sucks having to check my Hushmail account at work...
I've been using Batik to view and convert SVG image files, and had some problems with incorrect rendering (e.g. dashed strokes getting inconsistent dash lengths). Seems to be all fixed with this new version.
Because they're not Sun.
You surely must be joking... or is it the late hour that impairs my sense of the ironic? Nevertheless, I'd like to advance a disclaim: I religiously perform my hygienic duties on every morn, so I resent your mention of the odorous populace.
What can I say to persuade you that "improved correctness" is Newspeak for "we fixed some bugs", which is more transparent but less palatable for a release note - become - press release?
Apple had an appauling track record with Java until fairly recently...
.NET platform. So I said screw it and went NetBeans for a while.
It's still pretty bad, according to Borland. Yes, the deltas are quick, but the adherence to the actual Java Language Specification is still pretty appalling.
Apple still has the balls to show JBuilder on the main page all this time, even though they broke JB7 when 1.4.1 first came out. Because of these adherence problems and the native loader breakage (even though Apple supplied a workaround for them), Borland hasn't felt that OS X has been "prime time" so JBuilder versions 8, 9, and likely 10 will be without an OS X version - even though there are Linux and Solaris versions. I'm talking about official support, you can still force JBuilder 8, 9, and 10 to run on OS X, but Borland doesn't officially recognize it.
Thankfully, JBuilder 7 has been fixed in this Java Update from Apple. Hopefully, this will bring OS X back into the Borland fold.
Yes, Java + OS X makes me happy too. I personally have not had the issues Borland points out with the MRJ. I think Borland is crying sour grapes because of political pressure from Microsoft's
I've been pretty happy with NetBeans, and have had great success at mixing platforms. I can work on the same CVS tree using JBuilder on OS X and Windows, as well as NetBeans on OS X and Windows. Just takes an Ant script to allow NetBeans to use the same project tree as JBuilder.
Check out my personal web site, coded entirely in NetBeans on Mac OS X. Umkay?
A programmer is a machine for converting coffee into code.
BTW - where did you hear Borland dropped Mac support because of language adherence? I've never heard that. I heard more that people were simply picking Eclipse or Project Builder over JBuilder. I'm not sure why. What little I've played with it JBuilder seemed pretty nice, although my Java friends all seem to dislike its auto-code generation.
Admittedly Borland has been pushing their .NET plans a lot. I'm not sure if that will end up working for them though. As nice as their product is, it doesn't offer that much more compelling than Visual Studio other than their UML integration. (Which admittedly is pretty damn cool - but I wonder how many in practice use UML)
The first version of 1.4.1 for OS X was obviously shooting for enterprise users. Headless apps worked well, and there was even a new way of opening apps that wouldn't create icons on the dock to support headless apps in a seamless, usre friendly fashion.
:a bleChild(IntegerInterleavedRaster.java:462)d (IntegerInterleavedRaster.java:516). getRaster(FastGradientPaintContext.java:53). access$100(FastGradientPaintContext.java:37)r (FastGradientPaintContext.java:142)v a:718)
As a shareware client app developer who targets the Mac, I've been watching Apple's JVM from a different angle. 1.3.1 was a nice VM, and with the Aqua look and feel I've had some comments that assumed my Java application was native.
Now as a client app maker, I was looking forward to Java 1.4.1 on OS X for, of all things, mousewheel support. I got that, but I also got a number of issues with any look and feel *other* than Aqua. Menus didn't paint correctly at times, text sometimes didn't paint the way I expected in JTextAreas, and after a few checks I decided it was better to continue to shoot for the 1.3.1 VM rather than rip my code apart to get around OS X-specific quirks. Headless apps might have worked great, but Swing, Java's "de facto GUI toolset of choice" didn't. Comments about JBuilder (it seems the most popular client apps in Java other than Limewire are Java IDEs for all those headless app makers) in this thread help support that.
If you didn't catch that, I said I targetted 1.3.1 even after the 1.4.1 release. That's right, Apple had enough problems in 1.4.1 (my spin) that they left two nearly mutually exclusive JVMs on each OS X system after upgrade. New Macs wouldn't ship with just 1.4.1. Developer tools allowed and allow developers to force applications to run under just 1.3.1 if they'd prefer. Apple wasn't (isn't?) quite ready to put all the eggs in one basket. Aside -- I wonder if Panther will ship with just 1.4.1?
From what I've seen of this VM after a few minutes of testing suggest that I might be able to release a new version of my app that uses the latest VM installed, which would be great. That said, the Kunststoff Look & Feel, a relatively trivial extension of the standard Swing Metal (or "Java") Look & Feel still ain't happy out of the box. A few lines from its song when running my app under 1.4.1, new update, below:
apple.awt.EventQueueExceptionHandler Caught Throwable
java.awt.image.RasterFormatException: y lies outside raster
at sun.awt.image.IntegerInterleavedRaster.createWrit
at sun.awt.image.IntegerInterleavedRaster.createChil
at com.incors.plaf.FastGradientPaintContext$Gradient
at com.incors.plaf.FastGradientPaintContext$Gradient
at com.incors.plaf.FastGradientPaintContext.getRaste
at apple.awt.CSurfaceData.setupPaint(CSurfaceData.ja
Fwiw, here are the versions of the old 1.4.1 and the new:
prompt% java -version
java version "1.4.1_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_01-39)
Java HotSpot(TM) Client VM (build 1.4.1_01-14, mixed mode)
prompt% java -version
java version "1.4.1_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_01-69.1)
Java HotSpot(TM) Client VM (build 1.4.1_01-24, mixed mode)
Interesting to note that Apple is still behind. 1.4.1_02 and 1.4.1_05 have been released by Sun for some time now. Not a big deal, but a little evidence that, though OS X's "built-in" Java support is the best you'll find in an OS, it's hardly "latest and greatest".
It's all 0s and 1s. Or it's not.
Is anyone else experiencing all sorts of oddities with Yahoo Games after this install?
In Safari, all text is replaced by X'd out squares.
Camino won't load.
I've check with Hearts & Pool - am I the only one this is happening to?
... and I'll show you a perfectly correct implementation.
The JVM has a reasonable specification. The 1000s of classes that ship with it do not have a good specification. The closest you'll get is deciding whether it should work like version X.X_0X of Sun's JDK on Solaris. Or should you do what the Windows implementation does? or perhaps the Linux version? or maybe you want to do something different again to be in line with Apple's UI specs for OS X?
Correctness in these large systems is a myth, so I don't see a major problem with something being "more correct".
Lord Pixel - The cat who walks through walls
A little bigger on the inside than out