Java 6 Available on OSX Thanks to Port of OpenJDK
LarsWestergren writes "Many Mac users have been upset that Apple has not made Java 6 available on the platform. Landon Fuller posts that there is a developer preview release available of Java JDK6 on Mac OSX, Tiger and Leopard. It is based on the BSD port of Sun's Java 6 and is made available under the Java Research License. Charles Nutter posts about impressive JRuby performance gains using Java 6 on his Mac."
"Many Mac users have been upset that Apple has not made Java 6 available on the platform."
.Net is another.
I'd have thought not having Java infecting your machine would be a huge advantage myself. Not having
It is not OpenJDK, but "based on the BSD Port of Sun's Java 6 JDK, and is made available under the Java Research License"
Am I the only one who thinks it's weird to run an interpreted language inside of a virtual machine? Would there be any application to it, aside from rewriting overly-verbose Java code in a more concise language?
...for the next OS X update, when this breaks the updating.
People will cry foul on the boards, other people will note that as this isn't an official release, it should have been expected that it'd break the updating.
It'll be fun for the whole family!
Then don't use WSAD. It's crap.
I changed to eclipse and everything is blazingly fast.
-- MartinG To mail me: echo kewyjlcxyzvjfxbqwh | tr bcefhjklqvwxyz
Shouldn't they be upset at Sun? Why is Apple getting the flack?
What the hell is WASD and why do you use it?
Apple integrates their Java into the OS, but a standalone JDK exists within its own directory tree and doesn't interfere with anything else. I have 4 different JDKs installed on my machines and they don't interfere with each other or the resident JDK.
Probably not. This is only good news if you need JDK 6.
I suspect I'm not the only person who didn't know the answer to this person's question. I have no idea why someone felt the need to mod it "troll".
And even further into the thread, it is pointed out that the answer lies in Apple's earlier promise to provide Java for OS X people (rather than Sun doing it). I suspect I'm not the only person who wasn't previously familiar with that, either.
Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
Where are the Java 6 apps out there that make this necessary? Java 6 introduces incompatible changes to JDBC, so new database drivers are necessary.
Okay, developers need it, but why not develop on Linux, which has had Java 6 for some time now?
"Write once, test everywhere"
No swing, no thanks... yet.
TODO - Insert Creative/Witty Signature
As others have noted, Java on the Mac is handled more by Apple than by Sun.
But there are good reasons for this - Java on the Mac is more tightly integrated than with other systems. For example if you load multiple Java apps, you are not getting multiple instances of Java libraries loaded...
There is also a Java-Cocoa integration layer, which though deprecated has to be supported and tested.
It's true that Java ports have lagged behind other platforms, but there are some compensations in return. That said it's good to see some option for Java6 support for people that need that.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
It's the preferred keyboard layout of first person shooters, ever since Quake (or in my case, Half-Life). I use it because I can have other keys around my fingers to easily access buttons for reloading, using items (such as doors and health stations), jumping and ducking (easily done at the same time when the duck and jump keys are located conveniently under my thumb and pinkie), running, switching weapons, and even checking my score (usually only in multiplayter). You should try it instead of those stupid arrow keys..
which is totally what she said
No it's not. That's J2SE 5, release 6.
Who are these "many" Mac users who are supposedly upset about Java 6? There were a couple of very loud-mouthed blog posts at the 10.5 release date, but other than that.... Java developers surely don't make up a group of "many" Mac users.
If the programs know to use the new version of Java it should. Java 6 is faster then Java 5(http://en.wikipedia.org/wiki/Java_version_history). According to some other posts the JDK for OSX is built in. With any luck this JDK will replace that one. There is also a chance that the programs will need to be recompiled to take full advantage of it.
No J2SE 6 there.
Energy: time to change the picture.
(Note: I am a Java developer by day.)
There was a huge, huge stink in the Java community when Leopard was released without Java6. Teeth were gnashed, complaints were shouted from the rooftops, great offense was taken. Threads of truly astonishing lengths were generated.
Watching all of this transpire made me incredibly embarrassed of the Java community. (Note: Predictable smart-ass comments can be inserted after the previous sentence.) The hue and cry was simply amazing and, let's face it, immature. "I want Java6 *now* and since it's not there I'm abandoning the Mac as my platform!" In other words: "I'm taking my toys and going home." Very, very few of the complaints were from people who actually depend upon Java6, i.e. are building apps with it. Instead, there was a large sense of entitlement that was unjustified and exhibitied a childish impatience that was amazing to watch, with a strong dose of the usual fanboy/hater streetfight.
*shrug* There were two choices that were much less reactionary: (a) wait for the Apple release Java6 or (b) work on the OpenJDK project. Kudos to Landon for doing this. It's a big start, and will hopefully generate enough interest to move it forward significantly.
Of course, people like to bitch, and neither of those choices fulfills that need.
Maybe you should do some research into common human (and slashdotter, which tends to fall loosely into the 'human' set) behaviours.
*Whoooosh*
which is totally what she said
Y'know, I almost added a disclaimer just in case you were failing miserably at being sarcastic. Sorry.
Yes, perhaps I was a little too deadpan. I had hoped that the laboured nature of my description was enough of a giveaway..
which is totally what she said
Ha, that's actually what made me think you were clueless :)
;) It wasn't really meant to be sarcasm btw, I just have a weird sense of humour is all - I'd actually already found that wikipedia page when finding out what WSAD really was :P
which is totally what she said
Well the mods are on your side so I guess you're okay. And now this thread has been long enough so I say good day sir!
I'd like to see a powerpc port, and I'd be willing to work on it if I understood the platform a little better. I'll wait for Apple to release Java 6, I guess.
God save our Queen, and Heaven bless The Maple Leaf Forever!
Is it weird to have both hammers and screwdrivers? While on the topic, I remind you that virtualization is used throughout modern operating systems, and in ways that are completely transparent to you. A Java runtime environment is just one of many such forms.
Why bother.
Re-packaged I could understand, but what's all this about recompiling? Java bytecode is still Java bytecode, no matter who compiles it.
It's people like this who help us idiots who believed that Apple would finally provide timely releases of the JDK after it was no longer the language de jour.
(The subject says it all, but the lameness filter doesn't pay any attention.)
The US free market: two halves of a government-granted duopoly are free to set the market price.
last time I checked you could download it from apple's developer site
Yes but there is more then one way to compile a program. Back in the day people thought high-level languages could never work because a compiler that turned Fortran in to ASM would never be able to match the efficiency of the ASM code generated by a programmer who was trying to write a program to do the same exact thing. Over the years compilers got smarter and now it's hard for a programmer to match a compiler. In the same way a newer Java compiler could be smarter and write faster bytecode code. I just have no idea what is more important, the Java compiler or the JVM.
Apparently, you're not in possession of all the facts. Apple has provided a beta of Java 6 that is now more than a year old. They dropped heavy hints that Leopard would include a release version of Java 6. Despite these promises, Apple has until now not delivered. Is this reason to be angry with Apple? That's a bit strong, but I am disappointed, and I'm certainly not the only one. If Apple don't intend to release a new version after all, it would be nice if they would just say so. If they did, Sun just might jump in and release their own version, who knows.
Obviously, I am happy that some people were enterprising enough not to wait for Apple, and release their own version. Unfortunately, they can't take advantage of all the work Apple has put in their Java release to integrate it better in Mac OS X. And again a little help from Apple would be welcome: if Apple doesn't want to release new versions on their own, it would help if they would at least open up some of their code to help these kinds of third-party implementations.
Most people don't realize that once algorithmic complexity has been taken care of (no, a computer AI won't find -- yet -- a better way to solve 0-1 knapscak than a good DP algo), systems that do modify an executable in real-time will always be faster than whatever a computer programmer could come with in his wildest assembly dreams (and, yup, this comes from an old former assembly language programmer).
This has been shown in, what, the eighties, by HP with their project Dynamo, reordering on the fly assembly instructions to gain speed. You think you can order and pad every single assembly opcode so that you have optimal perfs? Across today's deeply pipelined/parallelized architectures? You can't. It's a fact. A good JIT 'interpreter/compiler/you-name-it' can. It's a fact too.
Major financial project here... We just ported a huge project, running across hundreds of machines, from C++ to Java (Monte Carlo simulations). Major reason? Easier developping environment (easir debugging, easier profiling, easier code coverage, easier testing, easier you-name-it), easier maintenance. Perfs? Slight edge to Java thanks to the JIT.
Java, when done correctly, is blazingly fast and keeps getting faster and faster with each release. You have to be a very blind man not to see that.
But have fun from the top of your ivory tower screaming "Java is so slow"... Poor blind man.
I was always under the impression that the bytecode was a fairly direct representation of the original source code, but your ideas make much more sense. Sorry for my ignorance.
However, I would still place more weight on the JVM, because it's the meat of where the program runs. I believe these run-time optimizations are critical for Java to meet or surpass C++ in speed. As has been stated earlier in this thread, there are lots of cache-type optimizations that can be made at run-time by the JVM that even an optimizing compiler cannot make.
This has already been addressed elsewhere multiple times, but...
First, there is a "Java release 6" available for OS X which is not Java 6, it's a sixth release of Java 5 for Tiger. If you carefully read the blurb on Apple's developer site, it does say that it is in fact a newer release of JDK 1.5, not JDK 1.6 (aka Java 6).
Second, Apple made a beta of Java 6 available long before Leopard came out. The early access release of Java 6 coincided roughly with JavaOne 2006; I actually attended the BOF session with Apple's Java engineers, where they demoed it. This beta was yanked from Apple's developer site over a month before Leopard was released. (Sorry, I don't know how long exactly before Leopard's release the download was pulled -- I just know that, when I went to look for it around the same time that I was looking to purchase an Intel Mac, the download was missing.)
There was some sort of "developer release candidate", but I can't find it on the Apple dev site anymore, and have seen blog comments that suggest it's been pulled.
I was one of the people who was waiting to see Java 6 for the Mac. I'm a college student learning Java, and the instructional demos from sun require JRE 1.6 to run. I need Java 6 on mac so that I can take a peek at, and run, the example code. It's good to hear that somebody has stepped up and provided the JVM that Apple decided not to bother releasing.
FYI... Apple seeded J2SE 5 with developer previews of Mac OS X 10.4 and when Mac OS X 10.4 shipped it did not include J2SE 5. The reason it got pulled was to give Apple's Java team more time to fix bugs bugs.
In the case of J2SE 5 the extra 3 weeks time between final seed of 10.4 and shipping of 10.4 (DVD stamp and packaging time) allowed them to correct most of the issues with J2SE 5 so that they made J2SE 5 available as a download on the same day the OS was released. Of course I would argue that they should have worked on J2SE 5 a little longer given the various bugs the first release had.
I have every reason to expect a similar issue is taking place with J2SE 6 and Mac OS X 10.5... note it is obvious that Apple's Java team has been primarily focusing on J2SE 5 improvements / fixes for Leopard (including a 64-bit version of it) and updating Tiger to later versions of Java 5 and 1.4. IMHO it makes sense for them to focus on the current mainstay of Java on the Mac (J2SE 5) then focus on bringing out the latest J2SE (aka Java 6) afterwards.
You have fallen to the Apple PReng machine! In 1995 Apple said the Mac would be the best Java development platform at WWDC. Repeated in 1996. Yes, pre-Jobs/OSX, but subsequently Apple would put ONE developer on Java/JDK ports, a position oddly they found hard to staff (heck, they asked me), and as I understand it, this under-resourcing of Java development has continued to this very day.
(I used the be a MacOS developer by day, and then became a Java developer by day. I continued through Rhapsody development and finally threw in the towel with 10.1.)
/\/\icro/\/\uncher
The grandparent asked what WASD was not WSAD. Sure, it was a typo (or a deliberate context-joke) but still ;-)
I just got the memo, guys. Apparently there was some confusion between the Java department and the higher ups. When Java Version 5 Release 6 was released, the developers were shifted to help work on the next iPod release. Yesterday the mistake was realized, and Java Version 6 work has begun. Expect it included with the next OS release.
Please don't hit me...well not hard anyway. I first started doing object oriented programming on Mac OS X with Java so this story does hit a cord. I can't help but wonder if Java 6 will be available to older releases of Mac OS X than 10.5.
Once you start despising the jerks, you become one.
Urm...only for QWERTY keyboards. Ok, for pendants, you can remap them...
I was always under the impression that the bytecode was a fairly direct representation of the original source code
It is similar enough that there are a number of programs that can turn java bytecode back into reasonablly readable (you lose local variable names and comments but the structure stays pretty much the same) java source code.
IIRC the ammount of optimisation possible at compile time is very limited due to needing to pass the bytecode verifier.
note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
I've just tried the same with Jython 2.2.1 and I can confirm, that CPython 2.5.1 is slower around 10% than Java 1.6 + Jython 2.2.1 on my Leopard machine. Damn weird...
Pedants.
There has to be some irony in there somewhere.
which is totally what she said
There are actually quite a few Java apps that are important to many Mac users. Obviously, if you're running Mac OS X Server, you might want to run stuff like Apache Tomcat. User-level Java Mac apps include stuff like XML mind, which is widely used to write docbook documents. It's also kind of interesting that some Java apps running on Macs try to hide the fact that they're Java apps, because many Mac users have an irrational hatred of Java (probabbly due to the incredibly bad performance and looks of early Swing apps).
MacUpdate lists Java-based teaching apps, CAD Software, Microscope Image viewers, Magic card databases, iTunes helpers and a ton of games.
I'd say a huge number of Mac users have at least one or two Java apps on their Mac, probably without even realizing the apps are written in Java.
Both.
Apple uses a lot of Open Source projects (which is a good thing even without giving back), but they also write code for a lot of OS projects, and even host a few of their own.
There was a firehose entry about a serious gcc bug (wrong sign in inlined abs() mixed with negative constants) those last days, but it never reached the main/developers page.
It is that 'normal'???
It should be clearly advised to any developer using gcc right now.!
What's in a sig?
Indeed, it was pulled a couple of months ago. And even if someone gets their hand on it, it doesn't work under Leopard (10.5). Of course, it hadn't been updated before being pulled for a long time.
The guy ("these people") was already JRL licensees, so he did the initial work under the JRL. But he couldn't have released it publicly that way. The difference now is that he's able to port the work to OpenJDK and actually release it for total public consumption. I think that's an important detail.
DNA just wants to be free...
The simple solution is for Apple to integrate X11 completely into their existing windows system so that the X11.app simply goes away, and all linux/unix apps simply run without the need of X11.app.
Then Apple's Java could always start as an X11 version, possibly from Sun, then be better integrated later into Cocoa if needed.
I thought the entire philosophy of purchasing Apple products was that you expect them to work and do everything you need them to, because you're royally screwed and have no recourse if they don't. You know, the part of that old operating system to airline analogy where the stewardess politely tells you that you don't need to know this and that, so just enjoy the ride?
Still, it did strike me as weird that Apple was responsible for a Java VM, and not Sun.
Evidently, the key to understanding recursion is to begin by understanding recursion. The rest is easy.
Guilty as charged, M'lud!