Mustang is galloping into town. Also known as Java SE 6, Sun’s latest incarnation of the Java 2 platform should arrive in its first non-beta release by the time you read this article. Jeff Friesen shows you why the many new features (from console I/O and access permissions control methods, to the system tray API and table sorting and filtering) that you now get to play with make Mustang an interesting release.
Its great that its just about to be released as I’ve seen many speed improvements compared to 5, however I wonder – when will it be available to Mac OS X…
however I wonder – when will it be available to Mac OS X…
Apple is currently at J2SE version 1.6.0_b88 (Developer Preview 6 of Java SE 6 Release 1).
(looks like they will be faster than with previous Java releases 😉
i think they can even make a simultaneous 4 platform launch for JDK 6 (mustang). only the Intel Macs tough.
It will come on Leopard.
this is probably one of the best java releases in a long time, this version has serious speed increases all over, and finally they’ve put effort into making it much more better for desktop users.
however unlike the articles states java non-beta is still not out.
Edited 2006-10-22 18:31
Better performance is more than welcome. I can imagine quite a few people who would appreciate that more than a lot.
However, I’m concerned about bells n whistles here. Surely it’s good what is written in the desktop integration part of the article, but will they manage to make apps look good?
Launching a Java App in Windows for instance gets all greyish and ugly and surely don’t remind of anything else in Windows. Will this “appearance issue” change? I for one surely hope so.
Yes, the new version of Java/Swing uses native widgets on Windows.
So, a Swing application will fit in perfectly with all of the other applications on that platform. This is similar to how the Mac OS X version of Java/Swing fits in perfectly with other applications.
They have also made great improvements on Linux with GTK+, although I am not sure if it is emulated or if they are using native widgets there also.
Edited 2006-10-22 18:43
Yes, the new version of Java/Swing uses native widgets on Windows.
No, it doesn’t. The whole point about Swing is that it provides a set of managed (written in Java), cross-platform widgets that can be skinned to match the look of the native platform.
This being said, both the win32 LnF and the GTK LnF have improved significantly in Java 6 and both make use of the native theme engine to draw the widgets. This, along with the new Desktop API, improvements in font rendering and other items, should give a great boost to Java on the Desktop.
“new version of Java/Swing uses native widgets on Windows”
“use of the native theme engine to draw the widgets”
Excuse me, you pedant.
“new version of Java/Swing uses native widgets on Windows”
“use of the native theme engine to draw the widgets”
Excuse me, you pedant.
There is a good deal of difference between a native widget and a Swing widget drawn with the native theme engine. One must be freed by hand, the other will be automatically freed by the GC. Also, there is a great deal of difference when it comes to portability (just ask any SWT user) and accessibility (Java applications won’t make use of the native accessibility framework) among other things.
Edited 2006-10-23 03:12
“but will they manage to make apps look good?”
The apps look great exactly like native apps, you can’t tell they are java apps.
The apps look great exactly like native apps, you can’t tell they are java apps.
They still look like non-native apps, IMO.
And, despite the speed increases, I’m sure they didn’t do anything to make programming in Java suck less. I’ve gotten to the point where I’d rather bag groceries than write applications in Java. Unfortunately, PHBs around the world still think it’s the best thing since sliced bread.
They still look like non-native apps, IMO.
Which apps in Java 6 don’t look native? I guessing you’re just full of shit.
What sucks in the java language? Seems pretty nice to me but since you are not specific about any of your comments I assume you just want to spread fud. In other words, you’re comments don’t mean shit.
Yeah, Java is a pretty decent language for writing most applications. There are certainly places it is less than optimal but it is still a good all around language.
This guy is a tool.
He’ll probably go on about the virtues of C# over Java next, haha.
Edited 2006-10-22 19:49
Which apps in Java 6 don’t look native?
The ones in the screenshot he just posted there. Did you RTFA? One running in the Java 6 beta that’s on my machine in front of me. They look more like Windows apps than CDE apps (which is an improvement), but they’re still not native-looking. Hell, GTK+ applications look more native than Java ones in a lot of circumstances.
What sucks in the java language?
The vast array of semi-standardized libraries, mostly. Shitty documentation doesn’t help that, either. Inclusion of globals with 5.0 made it somewhat less annoying, but not much. Oh, but it’s cross-platform, so that absolves it from all its flaws. I forgot the marketdroid lines. Excuse me.
“The vast array of semi-standardized libraries, mostly. Shitty documentation doesn’t help that, either.”
You’ve obviously never used Java have you?
Java doesn’t have issues with either of these. Java has one of the better standard libraries and really some of the best tools for creating/maintain/generating documentation.
You just described C/C++ (which I should add, are also good programming languages).
If the Look and Feel is set to native then there’s virtually no difference.
I’ll agree the libraries aren’t perfect but you’ll be hard pushed to find anything better in other languages.
At least in Java you get libraries written specifically for Java taking advantage of its features. Everyone else has to put up with badly ported C/C++ libraries, or worse still actual C/C++ libraries 😉
There’s no great conspiracy behind Java’s success, it actually does make life much easier for a great many prgrammers.
If the Look and Feel is set to native then there’s virtually no difference.
I’ll agree the libraries aren’t perfect but you’ll be hard pushed to find anything better in other languages.
At least in Java you get libraries written specifically for Java taking advantage of its features. Everyone else has to put up with badly ported C/C++ libraries, or worse still actual C/C++ libraries 😉
There’s no great conspiracy behind Java’s success, it actually does make life much easier for a great many prgrammers.
OS X Cocoa Frameworks are an example of a language married with extensive frameworks that were designed to leverage the strengths of it’s native language, ObjC, not to mention enjoy C/C++ within it.
I’ll agree the libraries aren’t perfect but you’ll be hard pushed to find anything better in other languages.
Besides, you do have alternative frameworks, lots of them: For J2EE, just look up any of the Apache projects. Those are just offerings from the ASF. There are other commercial and OSS offerings, such as WebObjects. There are many alternative frameworks for the Desktop as well, such as the Eclipse and NetBeans RCPs.
“The ones in the screenshot he just posted there. Did you RTFA? ”
the ones in the articale were not using SystemLookAndFeel. Just because you’re clueless doesn’t make you right.
I just tried setting the lnf to SystemLookAndFeel in a Swing program I had written, turns out SystemLookAndFeel is Metal by default on Linux. At least that’s what System.out.println(UIManager.getSystemLookAndFeelClassName()); tells me. (not using Gnome)
AFAIK, default is always Ocean (Metal replacement of Java5). You need a line of code to change it.
I did have UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); in the code,
running it on Windows XP gives the XP look and feel, but the same code on Linux gives me Ocean.
>The vast array of semi-standardized libraries, mostly.
Ahem one of the best libs there is, and fully standardized, not semi, sorry… but every function there is in the jre is covered by unit tests!
>Shitty documentation doesn’t help that, either.
Ahem is it so hard to go to java.sun.com and to read the array of tutorial books published for free, and have been since day 1. Is it so hard, afterwards to look into the javadocs online and offline. In fact the excellent documentation is one of the reasons why java took off!
And, despite the speed increases, I’m sure they didn’t do anything to make programming in Java suck less. I’ve gotten to the point where I’d rather bag groceries than write applications in Java.
I feel your pain.
This from a guy who loves Mono, yet hates Java.
You should see a therapist…
Does it render fonts using the windows font rendering stuff? I hate non-cleartype’d fonts. Nothing looks more out of place when your fonts are all blocky and ugly.
It has its own font antialiasing/aliasing technology, AFAIK.
However, when you use it, you can’t tell the difference.
But gone is the horrible Java fonts of the past, that’s for sure.
Launching a Java App in Windows for instance gets all greyish and ugly and surely don’t remind of anything else in Windows. Will this “appearance issue” change? I for one surely hope so.
It depends on which Look and Feel you use. LnFs like WinLaF and Quaqua provide very native looks to Java applications even under Java 5.
It’s just very sad that most Java developers don’t take advantage of this. Much like how many Java developers leave heavy processing on the event dispatch thread, make the application unresponsive.
Swing uses Java 2D, which is quite fast and can even be hardware accelerated through OGL or D3D. The problem lie in how you design your application.
I developed and tested this article’s Java applications using the second beta release of Java SE 6 (build 86). Windows 98 SE was the underlying platform.
Does anyone else find this add that the author is still using Windows 98 SE? Seems like more people would want to know how Java 6 performs on Windows XP or even Vista.
Odd? A little. But kind of cool that is *does* run on Windows 98. Although it is the kind of “Cool! Someone still runs Windows 98?” type of thought.
OTOH, this proves that java’s compatibility is great, even under an 8 year old operating system.
…is shaping up to be a great release. Btw, beta2 is quite old build, b88, and JSE6 is on b103 now. If my memory serves me well, there were some important optimizations even after beta2.
On look and feel, yes it is using native widgets painters, and you will have to have a veeeery good eye to see any difference. Works great on Vista too. GTK is still not there yet, few bugs plus a little bit slower, but actually much better than before.
Performance is extremely good now. Even on Linux, especially with (now practically bug and trouble free) OpenGL rendering pipeline.
AA, including subpixel AA is supported on all platforms, and it adjusts itself depending on the desktop preferences (although one can switch them on even on platforms that do not support AA, like on Win200).
Unstandardized libraries? WTF?
Anyway, a great release of JSE, and a great intro for things to come (open sourcing the beast).
I for one welcome the new enhanced font rendering that supports clear type and don’t make Java swing stick out like a sore thumb
Been following the beta releases for a while now, so I’m really happy to see Java continuing to improve.
I thought JDK 6.0 was due to “ship” on the 30th? Was this article written in the future? Or, was it written recently and published too soon…
Honestly, what’s up w/ that?
Anyhow, Java 6 looks to be fantastic. Java 5 was a huge improvement in terms of performance and Swing cosmetics…and here we are just a couple years later w/ another great leap forward for Java.
I can’t wait to crack open the final Netbeans 5.5 running on JDK 6.0 on the 30th…what a month for great Java releases!
Does anyone knows under what kind of licence will be released JDK6
>Does anyone knows under what kind of licence will >be released JDK6
Yep, I know
Same old, same old. JDK6 is the last one under old terms (if you neglect the fact that JDK6 actually has some new terms, like JRL for sourcecode and that distribution thingy that should make life of Linux providers easier, don’t know the exact details or success yet, sorry). The (opensource) fun starts with JDK7. Sun guys are deep into fun of choosing the license, process, version control system etc. First opensource bits should be out, well, any time now (They’ve said “October” for compiler and HotSpot, I’m really not sure that they are ready yet, but, it’s comming, it’s comming )
Edited 2006-10-23 19:40
i’m using Lotus Sametime 7.5, build with java+eclipse, and it looks perfectly native to Win 2000.
SWT makes use of native widgets (not managed widgets skinned with the native theme), so of course it would look perfectly native.
Edited 2006-10-23 17:37