The Source for Java Technology Collaboration
User: Password:



Chris Adamson

Chris Adamson's Blog

Why Mac Developers are Concerned About the J2SE 5.0 Wait

Posted by invalidname on October 06, 2004 at 04:53 AM | Comments (12) | TrackBack (2)

With Tiger released for the systems that Sun cares about - Windows, Linux and Solaris - it was only a few hours before the where's the OS X version posts started appearing. Some immediately called this "whining", but history shows there's good reason for Mac developers to be concerned.

The following table summarizes the lag times between releases of JDK's (later called J2SE SDK's and JRE's) and their Mac equivalents.

Version Released Mac version Lag Excuse
1.0 Jan 1996 May 1996 4 months Legend has it Sun had only one person doing the Mac port
1.1 Feb 1997 Dec 1997 10 months Apple tossed MacJDK's AWT implementation
1.2 Dec 1998 never N/A Put off Java2 until Mac OS X, which was years late
1.3 May 2000 March 2001 11 months See above. With the delay of Mac OS X, could jump straight to 1.3.1
1.4 May 2001 March 2003 23 months Rewrote Carbon-based UI layer in Cocoa
Note that 1.0 and 1.1 were only available on Mac OS (System 7.5 - 9.2), while 1.3 and beyond were only on Mac OS X

So, over time, the lag time between a JDK release and its corresponding Mac version has gotten much, much worse. If you were to extrapolate a trend from this, you might think Tiger wouldn't reach Mac OS X for 2-3 years. Of course that's ridiculous, since 10.4 is already known to have some amount of Java support, but still, the track record here is not a timely one.

"And why's it such a big deal," you might ask, "nobody expects an insta-port of something as big as Java." Good point - after all, where are the bloggers demanding that IBM immediately deliver Java 1.5 for AIX, or for their Linux and Windows JVM's for that matter?

I think there's some fear that being able to do your Java development on a Mac is a tenuous situation. In my last blog, I mentioned that there seemed to be more of an audience for Java development on the Mac than Java deployment, and wondered if that was really enough of a market to justify Apple's investment in Java. I got some pretty angry talkbacks - the threading has been lost in the move to Movable Type - but one thing to notice: the last four talkbacks are all "I wouldn't have a Mac if it weren't for being able to develop Java on it", which was exactly my point.

Because now, if a project in your company moves to J2SE 5.0, being on a Mac is suddenly very difficult. Some IDE's may support compiling 5.0 code from a non-5.0 environment (someone enlighten me with a talkback, s'il vous plait), but you still won't be able to unit test without running on another box of the Win/Lin variety.

And from practical experience, there are probably a lot of co-workers who would love to see the Macs go away. The Windows Bigot Java Programmer seems like it should be a contradiction in terms - if you like Windows so much, why not program in Active X or .NET or whatever Redmond's flavor of the month is - but in reality, I think this actually accounts for a massive percentage of Java programmers. Certainly half the developers I've ever worked with. Grep some source code sometime and see if you don't find java.io.Files constructed with C: at the beginning of the path, or with a complete path that uses \ for the separators, or ties to native code that are only implemented with Win32 versions, or other Latent Subtle Windowsisms

It's a pathology, one that I don't claim to understand beyond the annoying habits of confirmism, thuggish tech evangelism, or perhaps what Ayn Rand called "the hatred of the good for being good." At any rate, these people don't like the Mac, and would be perfectly happy to advance a project to J2SE 5.0 not just because of its intrinsic benefits, but because hosing the Mac developers is a happy side-effect.

So that's why I think so many Mac developers are so concerned, and won't feel safe until Mac OS X 10.4 ships. Of course, at some point, there will be a new version of Java and the cycle will repeat.



Trackback
TrackBack URL for this entry: http://weblogs.java.net/mt/trackback/265

Here's what others have to say about Why Mac Developers are Concerned About the J2SE 5.0 Wait:

  • » Where's Java 1.5? (Redux) from Randomness
    It appears the java.net crowd picked up on my labeling some of them wingers - the response has been much more polite than I would have expected (or deserved really). The most well reasoned response so far is from Chris... [Read More]
    Tracked on October 05, 2004 at 06:32 PM

  • » Where's Apple? from John "jbob" Bobowicz's Blog
    Mac users should hold Apple more accountable for timely support of Java on OS X. [Read More]
    Tracked on October 06, 2004 at 09:37 AM



Comments
Comments are listed in date ascending order (oldest first) | Post Comment

  • This is a bit of a digression, but from your chart it looks like most of the JVM ports were delayed due to Mac changes (Carbon to Cocoa, OSX delays, etc.)

    Posted by: johnreynolds on October 05, 2004 at 01:33 PM

  • Where did you get those release dates from? My recollection for 1.4 was that it came out in March 2002 for Windows, and a month or two later for Solaris and Linux. The dates in the jars (unzip -l) of my Linux 1.4.0.rc-b91 are 5th Jan 2002. So not as bad as it might appear. Including for the length of time between 1.4 and 1.5. Still it'd keep me away from the Mac. The miser in me thinks they they're expensive enough without having to hand over US$500 for what should be free software. Works as an X Server I guess.

    Posted by: tackline on October 05, 2004 at 03:25 PM

  • Re: dates - fair enough, these were from research I did for a presentation last year, and it looks like I got the date for the first public beta of 1.4 (May 2001), while in fact panel 5 of the Java Timeline from JavaOne shows it as being final in February 2002, which brings the Mac lag on 1.4 down to 13 months. Thanks for the fact-check. --Chris

    Posted by: invalidname on October 05, 2004 at 06:05 PM

  • Why the religious attacks on Windows and those who use it? Weren't you talking about Macs here and the delays in Mac JVM development?
    Maybe you should take a step back from your Microsoft hatred and start thinking rationally for a bit and you'd see the REAL reason many Java developers work on Windows is that they don't care one way or the other what OS they're working on as long as they get the job done. Given that most of us work in companies and most of those companies have their desktop environment (sensibly) standardised on Windows it's a given many of us program on that platform. If we insert the occasional hard link to a file on a Windows drive in code during experiments, that then automatically makes that a Windows style path. Anyone who does that in deployment code should be shot, not because it's a Windows path but because he's hardcoding a path (any path) in the first place.
    Were I given a Linux box that worked well (never seen a Linux desktop that worked well, though servers seem to do nicely) or a Mac (I've seen OS/X in operation and liked it, though I don't care for the visual fluff that Apple seems to think so important) I'd use that (though it would mean loosing some of the applications I now use regularly and finding alternatives which would temporarilly slow me down). But I'm given a Windows machine so I use that instead and it works well. And yes, I've run Linux as well. But only at home as an experiment. I've tried it on 5 different machines and never did I achieve (despite months of effort each time) to get the performance or stability I could achieve with a Windows installation in a few hours... Guess what, those are far more important than religious zealotry not just to me but especially to companies.
    Of course there's another factor involved as well. If your customers use Windows, you should too. Kinda hard to test whether your app will work on one platform if all you use (out of religious zeal) is another. That's one reason we have multiple test servers here, our customers use a variety of Server platforms and we have to test against all of them. So it is with desktops too if you ship a cross platform application. Don't leave one out just because you don't like it...

    Posted by: jwenting on October 05, 2004 at 11:59 PM

  • BTW Java 5 does work fine on the Mac if you know the right people - folks at JavaOne were installing it - for some bizarre reason you've gotta install OS X Tiger to install Tiger - but the binaries work fine on Panther though. Its such a shame Apple are not making Java 5 available early to developers, especially when it works fine.

    Posted by: jstrachan on October 06, 2004 at 03:19 AM

  • There are a couple of routes for getting Java 5 on your OS X install.

    Apple does make Java 5 available to developers ahead of time. There is a mailing list named java-seed that involves an NDA to allow participation in the early access program from Apple. I do believe that a membership (free is an option) with Apple Developer Connection is required.

    Folks could also try installing Sun's Early Access Package as posted on Apple's Java Development mailing list.

    Posted by: barryhawkins on October 06, 2004 at 09:09 AM

  • I believe one of the reasons for the nearly two year lag between 1.3 and 1.4 was not only the rewrite AWT but also some serious refactoring which brought the Apple codebase in close alignment with the Sun code base. One of the requirements specified at that time was to make sure that Apple Java marched lock step with Sun Java. I think this is bourne out by the fact that Java 5 beta was out quite close to the Sun beta.

    Posted by: suhail on October 06, 2004 at 10:27 AM

  • I

    Posted by: wgauvin on October 06, 2004 at 03:52 PM

  • I'm not a Mac user, but I have been following the rumblings of the Mac community about Java 5.0. In my opinion it's a shame that Mac users have to wait for an OS upgrade to get an implemenation of Java 5.0. I think Sun and Mac are both to blame, with Sun not really promoting the WORA idea by not giving a RI to the Mac world, as for Mac tying the release of the two Tigers might help with resources but it doesn't help the Java community if Mac OS X Tiger gets delayed. If only Sun and Mac worked together, even using the JCP, to help speed up the turn around it would be better for all. If Sun is serious about shorter dev time for Mustang and Dolphin, then Mac is going to having to put resources in to Java. Any way, that's my 2 cents worth. I guess I will wait on my PowerBook until Mac OS X Tiger is released. ;-)

    Posted by: wgauvin on October 06, 2004 at 03:59 PM

  • Same here. Please don't annoy the developers! I'm really hoping JDK 1.5 will be available on both Panther and Tiger.

    Posted by: jtr on October 06, 2004 at 08:04 PM

  • Chris: you

    Posted by: wiley_coyote on October 07, 2004 at 02:16 PM

  • Can you do some folks a favor and update your table to reflect the correct 1.4 date that was noted a couple of days ago?

    Posted by: wiley_coyote on October 07, 2004 at 02:19 PM



Only logged in users may post comments. Login Here.


Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds