Beware of rotten apples

I like Apple, it’s a highly innovative company with great products. I passion for programming was developed as a kid when I had an Apple //c. I own a couple of iPods and wouldn’t mind having one of those cool MacBooks. A few years ago, and at this year’s JavaOne, I noticed lots of developers with cool looking Apple computers. They definitely look a lot more interesting than the standard corporate Dell stuff. But one thing got my attention at this last JavaOne, I noticed a lot of Sun engineers with Apple laptops, and doing demos on those machines.
Nothing wrong with that, I didn’t expect them to be hauling some of those Sparc/Solaris laptops. However, Java 6 had already been out and there was a lot of talk of future features (Java 7 and beyond) related to the language and I found it odd that it seemed like a lot of Sun engineers would do their work on an Apple machine with versions of Java that are not current. I expect Microsoft engineers to have no problem running the latest and greatest versions of the .net framework, but tosee some of the Java desktop guys running on a machine that didn’t have the latest desktop features, didn’t seem to me like the best idea.
Due to Leopard and its lack of support for Java 6, it seems many of these same engineers are changing their minds, like James Gosling.
Many people have expressed that the OS X is a great platform for developing Java, but it has always been clear to me that this can’t be the case, specially when you consider that:
- Java releases are tied to OS X version upgrades
- Apple doesn’t provide a clear road map for their Java support
- The iPhone; no Java ME support
1. Tying Java runtime versions to an OS release is a bad idea. It only makes sense if the features of that runtime really demand new support from the operating system, but this is the standard operating procedure for OS X and it makes no sense. I can’t imagine having to upgrade my whole OS just to use the latest versions of something like a Java VM. That people were putting up with this, is pretty amazing.
2. Apple’s been “working” on a Java 6 SDK for quite a bit, with beta releases but no clear date as to when it was going to get released. It’s pretty painful to read blogs from other developers speculating when their Java version will be released in what version of OS X. Wouldn’t it be better for Apple to just say when if at all they are releasing these things. The lack of communication on this front is truly confusing. But again, why developers would put up with this is pretty baffling to me. I wouldn’t want to setup a development environment where it’s so uncertain what versions of a compiler and a runtime I will have available at least in the near future!
3. There is no Java ME support, even though there are so many phones out there and applications that support this environment. What a disappointment it was to find out the iPhone wouldn’t support this Java runtime. For general 3rd party develpoment, up until not too long ago there wasn’t even going to be an SDK for this platform available to 3rd parties, that has changed but this shouldn’t even have been a question when the iPhone was first announced.
The pattern is clear, Apple can release some fantastic products, but very often the options the create for developers are pretty rotten. Ironically, the platform that is often accused of being very closed and monopolistic is much more open in this regard, and it should be clear that if you want a better Java development environment you should likely drop Apple and get yourself a Windows machine. That or wait for some open source project to do the work that Apple seems to have been doing but doesn’t seem to want to support.
Filed under: Java, Software Development on October 28th, 2007

Long live Objective-C
I’ve done development on a Windows platform. Ditto for Ubuntu and OSX. I think I’ll stick with OSX. The long-term benefits out-weight the short-term pain of situations like this. Of course, my opinion is probably influenced by the fact that I haven’t upgraded to Leopard yet. It’s been many years since I’ve scrambled for the latest and greatest software. I prefer to wait and see.
I don’t think it’s a bad idea to wait, it might turn out that Java 6 support comes out soon. One of the main problems I see is the lack of communication from Apple. It’s just not acceptable.
I also see some people saying “so what” to that, and I have a problem with that. Companies should communicate well with their customers, and if they don’t plan on supporting these versions of Java any time soon, they should say so.
I have an idea…. How about Sun doing the work. There is not that much interest to use Java in OS X. Why? Probably because of the performance baggage that Java carries. I am not saying that it is not fast now, especially in the 6 release, but who will want to write Java vs Objective-C desktop app for the Mac (Note that I said “for the Mac”). has anybody seen how much memory a simple app uses, regardless of OS? Other issue is that it is obvious that Apple is not targeting the corporate environment because otherwise they would be updating their WebObjects environment. That is where Java is flourishing, not in the deskop. In conclusion…. If developers want to have the latest and greatest version of java maybe they should start clamoring to Sun, not Apple. Otherwise, start using Windows and their clone, Gnome(Linux).
Also the Java releases are not tied to OS X upgrades. I might be wrong, but I believe that I got my 1.5 when I already had 1.4 in the 10.4 release.
Come on Augusto, you can leave the comments that I put, don’t censor me. After all I have not denounced you of slander beause of the caricature that you made of me( when you know very well that you taken many things from my office and don’t get returned)
I believe most Java developers on Mac are not creating Mac applications, they’re just using it as a “nice” environment to work in. I think this is similar to creative professionals using Macs for print and video advertising. Nobody cares about showing these ads on Macs, but on magazines and TVs.
Why would they be developing apps for the Mac when it has so little marketplace?
I have another idea … why doesn’t Apple make it clear what their plan is with regards to Java support. People were pretty content before using other platforms for Java development, but Apple tried to court Java developers to their camp. Now that they have a fair share of them, they tease them with longish beta periods and don’t tell them when and if these releases are to be done.
I don’t believe Sun should do these ports, and I think they don’t do them because that’s how Apple wanted it. The best outcome would be to have a Java version created by the community, it wouldn’t hurt if Apple donated some of the code they have already.
I banned your earlier posts because they were completely off topic. Don’t worry, more cartoons of you (Carlos is the bald guy you see all over the site) will be coming.
“Why would they be developing apps for the Mac when it has so little marketplace?”
Not sure, I guess the same reason why they bought the hardware
Ohh boy! Here comes the bullying cartoonist!!!
As a brand new switcher and java developer I must agree with everything you say. Apple’s lack of communication is just bizarre. I stupidly upgraded to leopard wholly unaware that it would *break* existing jdk6 beta installations. It’s just amazing Apple wouldn’t alert developers to this issue or give any sort of roadmap for when to expect a new release.
For those of us who depend on jdk6 this makes leopard useless for developing. I’m now using the windows partition for developing (used to be for games) and am crossing my fingers Apple will bless us with a modern JVM someday soon.
All apple needs to do is inform us developers through the ADP and most of us would be happy. But instead, they just harm their own reputation by NOT communicating. For example, what is all that bullshit with the iPhone only supporting safari web applications when all along they are working on the public API. Why not just inform the developers that it’s coming??!!
So far, the OS is pretty cool but the way apple runs things and treats 3rd party developers leaves a very bitter taste.
Interesting commentary and divergence of opinion related to software development and Java applications. Really appreciate hearing the perspective from folks developing different applications.
By the way, on the issue of standard corporate Dell stuff you see, think its fair to note that we are undergoing some changes….especially if you look at some of the new XPS products. Zdnet said last week Dell was showing some design chops….and more to come with more new products.
In the meantime, that is not going to change whether Apple makes code available or not for Java apps….and we enjoy following what you and your audience have to say about things