Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

Java 1.6

Does xCode support JDK 1.6??? I can't seem to find a download anywhere... I am trying to compile a program for class and I am using the comparable interface and I get an error that says "Generics are not supported in -source 1.3".

MacBook Pro, Mac OS X (10.4.9)

Posted on Sep 14, 2007 1:55 PM

Reply
75 replies

Oct 31, 2007 8:18 AM in response to ciigma

I just don't understand Java developers. In C++ or pretty much every other language, you develop on the most recent version of the language you have installed, taking into consideration any runtime support requirements for your user base. In 20 years, I don't think I've ever developed code using the latest greatest version. I'm always one or two versions back. That is normal on every language and platform I've ever used.

Is Java 1.5 useless for any application development? I seem to recall people doing nice work in Java back in the '90s and early 00's. Were they just fooling themselves (and us)?

Java is actually worse than C++ or other compiled languages in this regard. If I dig up the latest GCC 4.4 or whatever, and compile a binary, linking against shipping runtime libraries, it will run just fine on the current OS. Java needs a compatible VM. Do you still (in 2007) have to deliver a matching JVM with each Java app?

I just don't see why all the sudden "Java on the Mac is DEAD!" You didn't have a 1.6 before Leopard. The preview 1.6 you did have was apparently pretty buggy. As far as I know, Java has always been a little late on the Mac. Apparently that hasn't stopped anyone so far. Why now? The JVM version on my work PC is still 1.5 and it gets updated constantly. I don't see what the big deal is.

Oct 31, 2007 8:29 AM in response to etresoft

I can interject here etresoft - coding on both sides of the Java/C++ fence, I can understand precisely what you mean. It's important to understand that Java 6 is a substantial improvement on Java 5 in an incredible number of departments. Instead of rewriting existing articles, I would offer this one:

http://cyberkruz.vox.com/library/post/differences-between-java-5-and-6.html

The biggest factor though, is sheer speed. Java6 shaves an insane amount of time off of startup and runtime..in fact, an imaging GUI that we've designed runs 28% faster in Java over JOGL than it does with C++ and the OpenGL library!

Combine this with the fact that the release is not new, has been much hyped by Sun, is actually worthwhile, and has been delayed by Apple forever now... Perhaps this might paint a picture as to why the 1.6 JRE is incredibly coveted.

Oct 31, 2007 9:14 AM in response to Saeven

Saeven wrote:
I can interject here etresoft - coding on both sides of the Java/C++ fence, I can understand precisely what you mean. It's important to understand that Java 6 is a substantial improvement on Java 5 in an incredible number of departments. Instead of rewriting existing articles, I would offer this one:

http://cyberkruz.vox.com/library/post/differences-between-java-5-and-6.html

The biggest factor though, is sheer speed. Java6 shaves an insane amount of time off of startup and runtime..in fact, an imaging GUI that we've designed runs 28% faster in Java over JOGL than it does with C++ and the OpenGL library!

Combine this with the fact that the release is not new, has been much hyped by Sun, is actually worthwhile, and has been delayed by Apple forever now... Perhaps this might paint a picture as to why the 1.6 JRE is incredibly coveted.


But etresoft is right though. Tiger and Leopard both have Java 5, so what harm would it do to upgrade to Leopard? Either way you still have Java 5. Staying with Tiger isn't going to help anything. So I don't understand the people who say they've advised their clients to not upgrade to Leopard.

From what I understand, the version most commonly installed on Windows computers right now is still 1.4.2, so it seems that targetting 1.6 is kind of jumping the gun, unless you plan on shipping the JVM with your application. I know that here and at my last job (both all-Windows shops), we're all standardized on 1.5. We only develop C++ code for Windows, but we use Java internally, and our IT department still hasn't given the green light to Java 6.

It's the same thing in Windows development. C# and .NET are great and all, but MFC is still the dominant development environment on Windows. It takes time to migrate to something new, even if the new thing is clearly better.

At the same time, I agree that it would be nice if Apple would give some kind of roadmap or estimate for when we'll get Java 6.

Oct 31, 2007 9:30 AM in response to Saeven

Staying with Tiger is a solution, solely because there is a JRE 1.6 available for tiger, that albeit with a few bugs, gets the job done!


I guess that's true. Having worked for government contractors for the last several years, we weren't allowed to put beta software even on our own machines, let alone ask clients to use beta software, so I didn't think of that.

Oct 31, 2007 9:43 AM in response to Saeven

I certainly understand the desire for newer, faster, better tools. People are just really annoying me these days with the 10.5 release. I really don't care about people wanting to sue because their 10.5 upgrade didn't work on their hacked up, un-backed up box. I do care about Apple developers though.

Basically, people are upset because:
1) Java 1.6 isn't in Leopard.
2) Apple had earlier said they would keep up with Java releases.
3) Apple isn't saying anything about 1.6.

My response to these issues is:
1) Even though I'm not a Java developer, I would also like to see Apple keep up with the Joneses. They did have the preview release, so they are working on it. They have been working on quite a few things recently. Not everything is going to be ready for the 10.5 ship date. Do they delay again because Java 1.6 isn't ready? Do they open-source it and just give up? I'm betting that they are doing the best they can and they will release 1.6 for 10.5 when they feel it is ready. Clearly, they weren't happy with the preview.
2) Perhaps they shouldn't have said that. I think that statement was back from when Apple was planning Java to be a first-class language for MacOS X. That just isn't going to be the case. They dropped the Cocoa bridge and I think that was a good idea. Anyone who wants to develop Java with native OS hooks is probably going to be using the Eclipse libs anyway.
3) Perhaps Apple has learned its lesson from #2? You got what you asked for. Now, if Apple isn't sure they can deliver on something, they won't promise anything. Apple isn't sure they can deliver until after then have delivered.

Finally, given that we are all discussing this matter on Apple's discussion boards and the thread isn't locked or deleted, this is all public knowledge. Perhaps Apple has private 1.6 seeds for Select and Premier ADC members. I'm not one of those so I don't know. Someone developing enterprise-level Java apps probably should be a paying ADC member. Perhaps then, under an NDA, Apple might be more forthcoming of their plans for Java.

Oct 31, 2007 9:47 AM in response to Wade Peeler

Well, when a beta JVM is dangled in front of you, for lack of a final release long overdue, you make due with what you can. Do you hold back 95% of your customer base that runs Java on Windows for which the 1.6 JRE has been available since Dec 11th 2006, or do you ask 3% of people to install a beta version? (the missing 2% run Linux, for which JRE 1.6 works quite well). 😉

Oct 31, 2007 10:07 AM in response to Saeven

Saeven wrote:
Well, when a beta JVM is dangled in front of you, for lack of a final release long overdue, you make due with what you can. Do you hold back 95% of your customer base that runs Java on Windows for which the 1.6 JRE has been available since Dec 11th 2006, or do you ask 3% of people to install a beta version? (the missing 2% run Linux, for which JRE 1.6 works quite well). 😉


You do when your contract with the Federal government prohibits it. We didn't ship Java software, but we did run into similar situations a couple of times, where we had to drop features because we were not allowed to upgrade some piece of software or hardware due to contract requirements.

But I see where you're coming from.

Oct 31, 2007 10:28 AM in response to Saeven

You must have either enterprise customers or other customers to whom you can dictate. While 1.6 is available on Windows, it isn't the default (at least on this PC I'm forced to use). As far as Java is concerned, I am an end-user. If a Java program required 1.6, I probably wouldn't use it. I would like it if a program could take advantage of additional features in the latest and greatest version, but I sure don't appreciate that version being required. This is something for which I do feel justified in scolding Java developers. Instead of taking the time to support a "standard" or at least "common" JVM, Java developers typically just include or provide a link to a JVM that works. Surely Java is able to detect what JVM version is available and load objects that are appropriate, or am I wrong?

Oct 31, 2007 10:54 AM in response to etresoft

We sell commercial software to end users and companies alike, via retail, and as on-demand solutions. Not all are Java.

{quote:title=etresoft wrote:}While 1.6 is available on Windows, it isn't the default{quote} There is no default...ever since the Sun vs MS lawsuit many years ago! Java is a platform that must be separately installed, and the JRE launcher initiative will always recommend the latest version...this is a moot point. JRE 1.5 is only accessible in the Sun archived downloads area; if our product requirements state that Java 1.6 is required, the end-user that goes to http://java.sun.com and clicks on any "Get Java" links will be offered 1.6 either way; one must explicitly request 1.5 at this point - this has been the case for nearly a year now. *The only exception to the rule, are OS X users, for which there is no JRE at sun.com, and unfortunately, are only offered an old JRE with the OS itself.* On this note, I do applaud OS X shipping with Java by default, albeit a very old version. (personal note: Tiger still shipped with 1.4 as default when I bought my Mac (when 10.4.8 was the offering)! At that time, 1.6 was already out for Windows/Linux/Solaris/Sparc/etc..)

{quote:title=etresoft wrote:}As far as Java is concerned, I am an end-user. If a Java program required 1.6, I probably wouldn't use it.{quote}You fall into a very small percentile where our metrics are concerned...and in my minute opinion, that's a stubborn refusal to say the least? JRE 1.6 is leaner, faster, has a smaller footprint, is more efficient/stable..etcetera --- and is not new! Why refuse the small upgrade? Start->Control Panel->Java->Update

The rest of your posts contains quite a few generalizations, and I really don't want to turn this into a Java developers need scolding type of post. I just wanted a status update on JRE 1.6 for OS X! I love Java, love OSX, and Apple's silence makes it very difficult to plan commercial endeavors for their platform.

{quote}This is something for which I do feel justified in scolding Java developers. Instead of taking the time to support a "standard" or at least "common" JVM, Java developers typically just include or provide a link to a JVM that works.{quote}

The bottom line, is that the now one-year-old JRE 1.6 is worlds apart from 1.5. Do consider as well, that Sun has been recommending an early adoption since long before Dec 2006! As Java developers, we'd be foolish not to heed the guidelines of the shop that develops the platform that we use. With better developer tools at our disposal with 1.6, it empowers us to deliver better software to our end users - to my company at least, this is of utmost importance.

Nonetheless, with the above in mind, considering Moore's law and its timescale, the reasoning behind a refusal to upgrade is analogous to saying that car makers should stick to carburetors because not all mechanics are familiar with fuel injection. It's time to move forward sometimes...in the scope of software development, 18+ months (considering JRE1.6b is shelf-life enough).

Without further digression, and on a positive note, I'll continue to scan this thread for good news, or any news! As was written in this thread several times...it's the silence that prompted these questions; that's all they are in the end. Requests for information 🙂 In my part at least, definitely not an invitation for debate on programming practices 🙂

Oct 31, 2007 12:24 PM in response to Saeven

Saeven wrote:
{quote:title=etresoft wrote:}As far as Java is concerned, I am an end-user. If a Java program required 1.6, I probably wouldn't use it.{quote}You fall into a very small percentile where our metrics are concerned...and in my minute opinion, that's a stubborn refusal to say the least? JRE 1.6 is leaner, faster, has a smaller footprint, is more efficient/stable..etcetera --- and is not new! Why refuse the small upgrade? Start->Control Panel->Java->Update


You forget, I have my "end user" hat on. I'm free to be as stubborn as I want. I expect applications I download and want to try out to run on my "reasonably" up-to-date system. I don't think it is "reasonable" to require a library (or VM) only a year old. Control Panel or not, it isn't "commonly" found.

I certainly understand you point of view. If I put my "developer" hat back on, I have to decide, for example, should I start targeting .NET 2.0? How "common" is that going to be? Will the stubborn end-users refuse to download it from MS and ignore my software? Is the gulf between Java 1.5 and 1.6 as great as that between MFC and .NET 2.0? Sorry, end-users, I'm not going back to MFC. That is a perfectly valid position for me (as a developer) to take. Your 1.6 only position is also perfectly valid. In both cases, if an end-user doesn't like our positions, they are perfectly free to remain stubborn and buy from the competition.

The rest of your posts contains quite a few generalizations, and I really don't want to turn this into a Java developers need scolding type of post.


I certainly don't want any Java language war either. I am just talking about compatibility. I am going to continue to target 10.4 applications for the forseeable future. If there is something I really, really want in 10.5, I will try to include it in a compatibile fashion. I want 10.4 users to be able to run the software and 10.5 users to have the fancy new features. I don't care so much about 10.2 users.

I just don't see why Java developers don't do that. Work with 1.5, but work better and faster with 1.6. Don't worry about 1.4 users. That just seems like a reasonable position for everyone execept Java developers. Why?

I just wanted a status update on JRE 1.6 for OS X! I love Java, love OSX, and Apple's silence makes it very difficult to plan commercial endeavors for their platform.


That was my earlier point. The last time Apple wasn't silent on Java they couldn't deliver on their promise. Now they aren't making promises anymore. At least, they aren't to the general public.

I'm sure you want Apple to keep up with Java releases. I would like that too. But they just don't have the resources. How come the fact that Sun doesn't provide an up-to-date Java for MacOS X is somehow Apple's problem? Apple likes Java better than Microsoft. Yet, clearly, Sun like Microsoft more than Apple.

Nonetheless, with the above in mind, considering Moore's law and its timescale, the reasoning behind a refusal to upgrade is analogous to saying that car makers should stick to carburetors because not all mechanics are familiar with fuel injection. It's time to move forward sometimes...in the scope of software development, 18+ months (considering JRE1.6b is shelf-life enough).


That is hardly an adequate analogy. It would be more accurate to require all new cars to be hybrid.

Without further digression, and on a positive note, I'll continue to scan this thread for good news, or any news! As was written in this thread several times...it's the silence that prompted these questions; that's all they are in the end. Requests for information 🙂 In my part at least, definitely not an invitation for debate on programming practices 🙂


This is hardly a positive note, but I say it all the same. I think there is a significant discrepancy in how Java developers see themselves and their environment compared to how non-Java developers view the the Java world. A debate between Java vs. anything else is definitely off-topic. Clearly,

I'm not really interested in continuing this thread any longer either. The fact that Apple has poor Java 1.6 support really doesn't make any difference to 95% of Java users or 95% of Mac users.

Oct 31, 2007 12:45 PM in response to etresoft

I can appreciate and understand your comments.

{quote}I just don't see why Java developers don't do that. Work with 1.5, but work better and faster with 1.6. Don't worry about 1.4 users. That just seems like a reasonable position for everyone execept Java developers. Why?{quote}

Most of the new features are language introductions, hence why 1.6 is required. This goes from infinitesimal implementation details, down to big things like system tray support (introed in 1.6..). In addition, Java is different from C++ for example, such that it is an interpreted language. The bytecode generated by compiling .java into .class files, is target sensitive. If you compile for 1.5, you won't reap the benefits that 1.6 offers as you otherwise would have had you compiled for 1.6.

If you compile on 1.5, you cannot use 1.6 features; the contrapositive explained above, I hope this can help explain why Java developers are aching for the goodness in 1.6, a considerable milestone release for Java (especially on the desktop computer front, with the app framework, beans binding, etc.).

Nov 1, 2007 4:08 PM in response to ciigma

I'm a student developer as well, going through the Software Engineering curriculum at a little o' CSU (SJSU specifically) and it's been brought to my attention that i'll eventually need to create execs under Java 6 (i've been lucky so far with 1.4.2 and 5). Guys, even if the ****'s barely passable as beta, put it back up on the ADC/Java downloads page. Pleeeeease! I promise to still buy a new MBPro. :^D

Nov 1, 2007 8:01 PM in response to Mot'

Ah! The other CSU!

I wouldn't recommend doing your school work on a preview version of Java. As a matter of fact, I wouldn't even recommend doing it on a Mac at all. Find out what platform your code will be graded on and use that. If you can afford a MBPro, you can afford Parallels with Linux. That will definitely do Java 1.6.

Nov 2, 2007 4:49 AM in response to ciigma

As I see it, the problem here isn't so much that Apple appear to have abandoned Java - which is their prerogative, I guess - it's that they have thousands of developers keep working on OSX under the assumption that Apple was trying the make it "the best platform for Java development". Even now, despite all the outcry on blogs, forums and mailing lists across the net there doesn't seem to be any statement from Apple about what their plans are. I've been working for 2 years with a company developing a new large screen LED display system - it's Java with native code for the video pipeline bits. Up to now it's been designed to run on OSX machines. But that just doesn't seem like a wise decision any more. Millions of dollars have been invested in this project - it's hard to justify continuing to risk that investment on a platform when I have no idea whether the rug is going to be pulled out from under me at any moment.

If we had been told what was happening months or years ago (or even if someone would make a statement NOW), if there had been any kind of openness and transparency, we could have made whatever decisions we had to make. Instead, every java developer is feeling mislead and betrayed. Maybe Apple aren't abandoning Java. That would be great. Maybe they're planning to open source their version - that would be great too, as long as it still gets installed into the standard OS distribution. But even if everything is rosy in Java-OSX land a lot of damage has already been done - a lot of trust and faith has been lost, and I personally would like to work on a platform where I feel the developers have some respect for the people that use it. Whatever is happening now doesn't mitigate the fact that thousands of developers and their projects have been left hanging in the air like Wile E Coyote running off a cliff. Apple put up one of those billboards that look like a road heading off into the distance and we blindly and trustingly just ran right through it and discovered there's nothing but a long, long fall on the other side.

Java 1.6

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.