Apple Updates to Java 1.4.1 148
A user writes, "Apple has caught up with the times and updated their Java to 1.4.1, bringing it completely up to date with the newest release from Sun. It now takes advantage of Aqua and Quartz Extreme, is usable via Universal Access, and can be controlled through AppleScript." It provides 1149 new classes over 1.3.1, a new native I/O API, updated XML tools (SAX 1.0/2.0, DOM 1.0/2.0, XSLT), I18N and L10N enhancements for Unicode 3.0, regexes, IPv6, faster loading of applets, improved caching, storing of certs in the Keychain, faster UI, more Aqua-like UI ... and native Java applet support for Safari.
Yay for me! (Score:5, Interesting)
I usually develop things on my Mac laptop, then transfer thing over to the official test system. But since I only had Java 1.3, it was harder to develop my stuff for them - I had to have a separate Linux box just for me to use as a mini-server.
Well, I no longer work there and am about to take another job, but at least I an update my system and work on my new web publishing system.
My only fear? That Java 1.5 will be released in a few weeks....
Re:Documentation/Changelog/New futures (Score:5, Interesting)
If you think switching from old apple MRJ (carbon) to Cocoa and a very standard JVM is trivial you are sadly mistaken.
This release is a huge win for OS X users. It puts the Mac in parity with Sun JVMs for the first time in many years. The UI is greatly enhanced by the use of Aqua and hardware graphics acceleration.
I suspect that finally OS X can stay nearly in parity with Sun's releases.
So far, so good. (Score:2, Interesting)
Re:Best Java Apps? (Score:5, Interesting)
My point is that Java seems primarily used for client/server applications or XML based messaging. (Thus the large number of UML programs) The end user applications end up tied into that via support. Other than a few so-so chat or P2P clients, I just don't see many end user applications writen for Java.
Don't get me wrong. I'm not knocking Java. Some folks who work here swear by it. We're even going to start coming out with some nice Java libraries and toolkits ourselves. But it seems oriented towards custom programs and perhaps largely the enterprise. Sort of one step up above scripting languages like Perl or Python but not quite in the C++ territory.
Yet I just never see applications outside of that market. Not a slam. Just curious. It just seems odd that there are more Basic programs for OSX than Java. (At least judging by what gets downloaded at VersionTracker)
Great: WHY? (Score:2, Interesting)
Or better yet since you are discussing client-side apps you don't need to spend one penny and just download Apple's tools.
Of course if you are adamant and have lots of use with IntelliJ great but you'd be surprised how nice PB/IB work.
Possible New WWDC Slogan (Score:3, Interesting)
Re:Best Java Apps? (Score:5, Interesting)
Now, I didn't know Java when I started. I learned Pascal in college and I've made a few attempts to learn C++, but I've never really succeded.
I picked Java for this project because I intended it for educational purposes and I'm not delusional enough to think that anyone would adopt my program if it was MacOS X only.
Anyway, long story short, I've written a beta quality piece of software for statistical design of experiments using the Java/Swing API. I thought it was pretty easy to work with, and the speed is more than adequate, even on my iBook/500.
I think the reason you don't see more Java Apps is just that not many people have inscentive to write their programs for cross platform use. If I had been a Windows user, I probably wouldn't have cared about the people who don't use windows and just learned C++ and the Win32 api. There wouldn't be the inscentive to capture the other 5-10% that doesn't run Windows. Even most Mac or Linux programmers don't care. Even though Java really is "fast enough" for most things.
BTW: if anybody would like to beta test some Java software for Statistical DOE, email me. Let's see... Take my slashdot username and email me with that at mac.com.
Re:Limewire (Score:2, Interesting)
much faster applet rendering (Score:2, Interesting)
Re:Best Java Apps? (Score:2, Interesting)
Well, I think that actually people *do* write lots for Java, but Java is better at different things than C or C++. It doesn't show up in consumer listing like Version Tracker Basic is good for nothing, and the only reason you see it on VT so much is the same reason you see VB for windows: tons of bad developers using drag-and-drop solutions.
Java is good at non-GUI things. I mean *great* at it. C is much better at rendering graphics. So, Java lives with developers and server apps mostly. I have never found a lack of Java libraries to support in me any given task.
Re:Limewire (Score:2, Interesting)
and yes, improving java *will* improve acquisition, because acquisition literally runs limewire's java core and then provides a native interface for it. so if limewire's core is running faster (which it might, because it'll be using java 1.4), then the interface is updated faster and the program as a whole is faster.
i can assure you there's no code that "messed with the window server". the warping you're probably referring to is java being slow and not allowing time for the Swing Event Thread to completely process all the redrawing. but, the code tries to make sure that swing is given as much time as possible to keep things updated.
Apple made improvements on Java? (Score:5, Interesting)
"On other platforms, each Java application consumes some system memory. So you might end up using more memory than you need to when running multiple Java applications. Other languages, such as C or C++, solve this problem using what?s called shared libraries. Apple developed an innovative new technology that allows Java code to be shared across multiple applications. This reduces the amount of memory that Java applications normally use. And it fits right into Sun?s Hot Spot VM, allowing Mac OS X to remain compatible with standard Java. In addition, Apple has given this implementation to Sun so the company can deploy it on other platforms. Just one example of how Apple supports standards and shares ideas to benefit all"
That's very nice of them.
Re:1.3 and 1.4.1? (Score:2, Interesting)
1) is this supposed to happen?
Oh, I missed that. IIRC one of the improvements Apple were making was to have java preloaded. One of the big reasons java is perceived as 'slow' is that when you run any java binary the virtual machine has to be loaded. So 'java HelloWorld' takes a second to run - which looks bad.
2) if the answer is yes, why? is apple going to remove 1.3 at some point, or are both required, kind of like a 'classic' enviroment for older java apps? or is 1.4.1 backwards compatible?
1.4.1 is backwards compatible. However it isn't a bad idea having both around. Developers (like me) find it useful - for example Swing was very buggy in 1.3 and has been rewritten, so it's nice to be able to choose versions.
Also, Apple are playing it safe. For packaged apps I think 1.4 is 'opt-in' - i.e. the default is 1.3, and you have to edit the info.plist to change that. (At least this was true in the recent developer previews).
One situation I had recently was my (bad) code whose behaviour changed from 1.3 to 1.4 because I forgot that 1.4 can return ipv6 addresses (which I'd forgotten; doh). It's backwards compatible, but that doesn't mean crappy code won't make silly assumptions.
Anyway, hope that gives you some explanation.
Re:Best Java Apps? (Score:3, Interesting)
So I've chosen C instead. I know that I can write C in a portable way so that it will be trivial for the end user to install on any platform. I have the division between OS specific code and general code well defined. So I can call the C backend from, say, Objective-C in the Cocoa environment. Or I can link it into a GTK+ front-end. It's more work for me than a Java app would be and I don't get the many advantages that Java offers to developers. But I just don't see any other realistic solution. Java's portability is largely theoretical in this world.
Devon
JBuilder startup script. (Score:2, Interesting)
quick way to get jbuilder working from the
command line. I've only tested it with jbuilder 6.
Paste it into a file called startJBuilder.sh
or whatever and put the file into the
directory and do a chmod +x startJBuilder.sh. Then you can run it from there with a
Should work with any version of jbuilder and will use the default jre you have installed.
------------- startJBuilder.sh -------------
#!/bin/bash
JARS=`find
CP=.
for X in $JARS; do
CP=$CP:$X
done
DEFS='-Dcom.apple.mrj.application.apple.menu.ab
DEFS=$DEFS' -Dapple.laf.useScreenMenuBar=true'
DEFS=$DEFS' -Dapple.awt.showGrowBox=true'
BOOTCLASS='-Xbootclasspath/p:../lib/lawt.jar:/S
java $BOOTCLASS $DEFS -cp $CP com.borland.jbuilder.JBuilder