Discussions

News: So What If Apple Deprecates their JDK?

  1. So What If Apple Deprecates their JDK? (20 messages)


    Java support on OSX isn't the biggest priority for Apple these days, and maybe, just maybe, they're doing everyone a favor by pulling the plug on it. The version of Java Apple ships with their OS is typically a version behind, and that simply ends up frustrating everyone. So maybe taking Apple's JDK implementation off life support is the right thing to do; that is, assuming some other big player in the industry can step up to the plate and commit to delivering a JDK to the Apple community in conjunction with the JDK releases Windows desktop users get.

    Joseph Ottinger, Java pundit and former Editor-in-Chief of TheServerSide, steps into the fray, putting Apple's announcement into perspective, and clearing up all of the "Sky is Falling" FUD that Apple's announcement has generated in the Java community. Could this actually be the best thing to happen to Java on the Mac?

    Has Apple Done Java A Favor? By Joseph Ottinger

    At the same time, James Gosling has thrown in his two-cents worth, discussing on his nighthacks blog the history of Java support on various platforms, from IBM's AIX systems to the Apple Mac.

    James Gosling Comments on Steve Job's Comments

    Threaded Messages (20)

  2. Not so sure about this[ Go to top ]

    Over the years, a LOT of work has gone into the graphics parts of Apple's Java implementation, as well as platform integration in general. Assuming that Apple won't release the source code -and I think that's a given- who's going to replicate all that work? Oracle? The community? Both rather fanciful notions, IMO. (OpenJDK on OS X uses X11, and that's a poor cousin of Quartz - nobody wants to have to see that.)

  3. Apple X11[ Go to top ]

    . (OpenJDK on OS X uses X11, and that's a poor cousin of Quartz - nobody wants to have to see that.)

     

    I run java on X11 every day ... no problem. Maybe Apples X11 implementation sucks, though ... I like Cygwin/X11 a lot better than Apple X11.

    I used to develop Java on Apple, but switched to Linux (Ubuntu), partly because I didn't like the Quartz implementation (subjectively), partly because of core dumps and internal compiler errors in javac (maybe I had a hardware problem ... but it was only troubling the jdk, though ...) and partly because it sucked to lag one step behind the rest, platform-wise.

    I quite like Max OSX, though, it deserves a decent Java implementation!

  4. X11 on OS X[ Go to top ]

    I didn't mean to imply that there's anything wrong with Apple's X11 implementation - it works fine, runs Motif, etc. When used for OpenJDK's AWT/Swing graphics, though, it looks like X11 - very different from the Quartz graphics that people expect on OS X. Apple started finetuning Java GUIs and graphics way back when with MRJ 2.x on MacOS 9 (which implemented Java 1.1), and there's a lot going on under the hood that I'm not even sure is supported by X11.

    Plus, all the Cocoa bindings -deprecated though they are, but still widely used- would be history - goodbye QuickTime for Java, for example.

  5. If Apple wants to cede development of the JVM for the Mac AND Oracle (or some other funded entity) wants to pick it up, AND Apple is willing to hand over their current port, THEN the JVM for the Mac will likely progress as normal.

    Obviously, if no one picks up porting to the Mac, Mac developers are in for a world of hurt.

    If Apple is not willing to hand over their current implementation, then Mac developers are in for a Do Over as whoever decides to pick it up reinvents all of the wheels Apple created to get a solid running JVM on the Mac platform.

    Regardless of what happens, Mac developers will likely not have any issues for probably 2 years.

    While there are no guarantees, even if Apple does not release the JVM for 10.7, the 10.6 version will likely work just fine. Just need to copy over the JVM from a Snow Leopard distribution.

    Obviously, Mac users would be stuck at JDK 6, but even with 7 and 8 coming out soon, 6 has a long life ahead of it (look at the lifespan of Java 4, and even 5).

    Some Mac developers can even choose to not upgrade to 10.7, which, so far, doesn't seem spectacularly compelling -- though that will certainly change. The darkside is that those who choose to do iOS development are pretty much forced to "keep up" by Apple, as the latest iOS SDKs tend to only run on the latest Mac OS X, and Apple only accepts apps from the latest SDKs.

    Open JDK is "sort of" an option, but the Mac port only runs under X11. In theory "not a problem" for server runtimes, but it IS a problem as all of the IDEs are Java client apps. Running Netbeans under X11 on the Mac doesn't seem particularly exciting to me.

    I am, personally, as a Mac and Java developer, not particularly worried. I don't think the Mac will be lacking a JDK long term. In 5 years, I expect we'll still be able to develop reasonably current Java on the current instance of Mac OS.

    We forlorn Mac developers weathered the "no JDK 6" incident on Tiger. In fact I recall delaying upgrading to Leopard because I still wanted to support JDK 5 folks.

    If anything good comes out of this, one way or the other, we'll perhaps have some long term stability in terms of the status of Java on the Mac. If it dies, it dies. If not, then whoever picks it up will have the long term in mind and we won't have to "guess" each JDK or Mac release whether or not "Java will be back..on the Mac".

     

  6. Open JDK is "sort of" an option, but the Mac port only runs under X11. In theory "not a problem" for server runtimes, but it IS a problem as all of the IDEs are Java client apps. Running Netbeans under X11 on the Mac doesn't seem particularly exciting to me.

    A really solid JDK for the Mac, but X11 wouldn't be the end of the world for a lot of developers really. An IDE doesn't need to be that pretty really and the most used IDE (Eclipse) has it's own graphics implementation anyway. I'm not sure how much SWT still depends on AWT or other system specific things in the JDK, but I hope it's not much.

    The main problem with the soylatte JDK and current OpenJDK 6 ports is not really the fact that they are X11 based, but just that it's a port someone once did and then never cared to update it. Soylatte is years old and the only available OpenJDK6 build is very old too.

     

  7. 5 years is a long time[ Go to top ]

    ... and being stuck with an outdated and unsupported java 6 jdk in the meantime is not a viable option ...

    I think most Java developers will switch to a different platform in that timespan. That said, I don't think they'll have to wait that long for a decent JDK...

  8. I guess some people want to put a positive spin on this, and in the long-run there might be some positives that come out of it.  This decision does make sense from Apple's perspective though.  Desktop Java is completely irrelevant except for developer tools, and nobody uses Apple on the server.   There's really no point in committing resources if you're Apple.

  9. Desktop Java is completely irrelevant except for developer tools, and nobody uses Apple on the server.   There's really no point in committing resources if you're Apple.

    It's a mixed bag. Those server side apps do get developed on Apple computers. Many people in my Java development team use Apple hardware to run Eclipse and JBoss AS.

    Having developers using your platforms is always a good thing I think. They may be primarily Java developers, but a percentage of them will simply be curious to that shinny X-code that's sitting there. Since they use OS X as their main desktop each and every day, if they want to create some system tool the chance is they will make it an OS X system tool.

    Now consider scaring all those Java developers using the Mac away to Linux. How is a Linux user able to contribute and kind of programming specifically for the Mac? Answer, he won't. They will just build their tool or whatever for Linux instead.

    The JDK might not be interesting for 99% of Apple's target audience, but having it as a bait to lure those relatively rare and much sought after people called developers to your platform is probably a small prize to pay.

  10. Desktop Java is completely irrelevant except for developer tools, and nobody uses Apple on the server.   There's really no point in committing resources if you're Apple.

    That is certainly the case for home users, but not for business users. I can assure you that there is a tremendous number of prototypes, tools, small or not so small applications that are developed in Java inside corporations. Sometime the development is started by people that are scientists or field engineers then it is handed over to real Java developers.  Java is the best choice for those people, easy to grasp, lots of available libraries in all sort of domain, lots of literature and competences available, the capacity to scale to a real application, etc...

    Lots of those people are using Macintoshes (because they are cool), what will they think, what will they do if Apple give up Java on Mac ?

  11. This surely can't be the best thing to happen to Java on the Mac, unless Apple helps with the transition. Can the community maintain a top notch Java implementation that Java developers can run GUI intensive Java applications on without help from Apple? After trying our Java GUI application using SoyLatte on the Mac.. I have serious doubts.

  12. apple and the enterprise[ Go to top ]

    Apple has always been at odds with supporting enterprise stuff, so from that perspective this isn't surprising.

    I think this will be very disappointing to all of the java developers on the Mac.  It will be hard for them if they like the Mac because of the unix that's under the covers.  In my opinion/experience Linux on the desktop is still far from ready for prime time.

  13. No big deal[ Go to top ]

    quite honestly, I don't think it matters. Oracle will be forced to provide jdk for OSX and apple won't have to worry about it.

  14. Good news[ Go to top ]

    More migrations to Linux in the Java community. That is good news, as far as I'm concerned.

    So no worries here.

  15. +1[ Go to top ]

    Just a +1 on all of the well thought out and intelligent comments. It's tough to write anything about Apple without it becoming complete flame fodder. Some great points to think about, especially the input regarding the work Apple did with the graphics programming, something I completely hadn't thought about.

  16. An action plan needed?[ Go to top ]

    If a stable, non-Quartz JDK port would exist that also keeps up-to-date with the latest Java versions, it would not be the end of the world for Java developers on the Mac. But on the other hand, since the IDE is something we use all the time, it would seriously undermine the reasons for paying big money to get an aesthetically
    pleasing piece of machinery and make the development experience less enjoyable.

    So, is this serious enough in order to create a plan of action?
    And what would be the options?

    • a) Persuade Apple to continue supporting current and new versions of the JDK on Mac OS X.
      Apple probably feels it's not in their strategy to support Java development on the Mac. Are there enought of Java developers to make them care? Maybe not.
    • b) Get Apple to open-source or transfer their JDK port to another entity (+ option c, d or e).
      Sharing is not really in Apple's DNA and the port is likely to contain a huge amount of proprietary. Remmember how difficult it was for Sun to publish Java source code.
    • c) Convince Oracle to add Mac support for JDK.
      Oracle seems to care about Java developers in some cases (e.g. Oracle DB 10g R2 is available for Mac OS X and it probably required quite a bit of porting work. They also provide a separate package of SQL Developer for the Mac).
    • d) Reinvogorate OpenJDK Mac OS X port and create an active community around it.
    • e) Get a commercial vendor to create a for-pay JDK port for Mac OS X
      Is there anyone apart from the Java middleware vendors (IBM, Oracle) that have their own JRE/JDK.
    • other?

    IMO, options c and d feel like the best ones.
    Comments?

  17. And I thought Steve and Larry were close.  To me it is up to Oracle, in the end, to somehow acquire Apple's work and publish a Mac JDK at the same time Windows and Linux get published. Apple had spotty support when they were weak and are spotty again now they are strong. And I am getting that feeling we are seeing OSX fall prey to Apple's client device mentality. XServer deprecated? 

    Surprisingly, if I have to find an alternative to Mac, this gives me incentive to not upgrade my iPhone but cut over to Android when my contract comes up in December.  Realistically, I'll dump my Mac when my IDE upgrade or some tool requires a munimum JDK to run.

    As a short-term solution, there is always Linux on Mac as a solution. Ubuntu has come a long way.

  18. why speculate on rumours[ Go to top ]

    Has Apple released any official statement on this ?

    If so can someone point me to it. I searched a lot and couldnt find anything.  

     

  19. why speculate on rumours[ Go to top ]

    Has Apple released any official statement on this ?

    If so can someone point me to it. I searched a lot and couldnt find anything.  

     

    http://developer.apple.com/library/mac/#releasenotes/Java/JavaSnowLeopardUpdate3LeopardUpdate8RN/NewandNoteworthy/NewandNoteworthy.html#//apple_ref/doc/uid/TP40010380-CH4-DontLinkElementID_2

  20. While much has been written about this, here's an excellent analysis of some of the deeper issues involved, and what may be done about them, by Chris Adamson: http://www.subfurther.com/blog/?p=1305

  21. There are lots and lots of Java developers out there.  I'd say that in the enterprise backend, I wouldn't be surprised if there's more Java than anything else (except mainframe...).  And the trend is that these developers have been moving to the Mac more and more.

    If Java on OS X dies, Apple will lose a lot of customers... all the Oracle devs using Apples to name a few, and all the google devs using Macs as well.  I can't imaging Ellison or Schmidt agreeing to all of a sudden having to shell out for thousands and thousands of Windoze machines.

    I have to believe that there was a prior conversation about Oracle taking it over!