Great post.  Couple thoughts though: Apple has a ton of server side
java code/applications (both internally written and enterprise type
apps).
And Oracle can't let OS X whither, too many Java devs use macs.  And
they have to support the UI side - almost all java code is either
written in eclipse, netbeans, or IDEA.


On May 7, 5:53 am, Chris Adamson <[email protected]> wrote:
> David Herron has already addressed the question of why Sun didn't do
> the Mac port of Jav, but I would like to offer a little more
> historical perspective.
>
> In the mid-90's, a lot of interest in Java was based around applets,
> so some of the first implementations came from browser makers.  In
> 1996, arguably the most important JVM was not Sun's but Netscape's.
> Microsoft also made a VM for IE (and deliberately left out certain
> APIs, like RMI, which came up as an issue in the anti-trust case
> against the company later that decade).
>
> On the Mac during this period, Sun put out a Java 1.0 JDK that clearly
> didn't benefit from much attention: it was absurdly slow and buggy.
> Rumor has it that a single engineer was assigned to the port.
> Developers who wanted to learn and use Java turned to IDE makers:
> Metrowerks (who made CodeWarrior, the top Mac IDE of the day) turned
> out what was probably the best Mac JVM of the time. Symantec also
> shipped their own VM as part of their Café IDE, and another company
> called Roaster had a really nice JVM.  Microsoft licensed the
> Metrowerks VM for the Mac version of IE, and Apple licensed Roaster,
> but apparently never did anything with it.  To add to the confusion,
> Netscape rev'ed their Mac JVM to a weird "1.05" version -- Java 1.1
> for everything except the AWT, which remained at 1.0 (a huge problem,
> as 1.0 and 1.1 had different and incompatible UI message-dispatch
> architectures).
>
> With all these JVMs, and a limited ability to get a given browser to
> switch VMs, the situation was a mess.  Apple decided to provide a
> system-provided JVM, so Java would always be available to browsers and
> applications and would behave consistently.  Sun loaned a few
> engineers to Apple's team to make this happen.  Sun was probably happy
> to have this off their hands, getting another Java platform mostly on
> Apple's dime, as many believed Apple was in an irrevocable death
> spiral (imagine telling someone in 1997 that by 2010, Apple's market
> capitalization would eclipse Microsoft's, as now appears inevitable).
> At any rate, the resulting port was called Macintosh Runtime for Java
> (MRJ), and once it was included with the system, it cleared up a lot
> of the JVM confusion.
>
> As Sun's decline started around 2000, the first round of their decade-
> long series of layoffs included all the engineers they'd loaned to
> Apple, which was taken by most of us Mac-Java developers as another
> sign of Sun's disinterest in the platform: throughout the decade, Sun
> didn't provide Mac versions of APIs that required native code (e.g.,
> JMF, the ME SDK, etc.), and can't be said to have done any kind of Mac-
> specific releases until mid-decade, when they started rolling a Mac
> installer for NetBeans.
>
> With the shift to OS X, Java was in a better position on the platform:
> Java has always had what some of us on the MRJ list called "latent
> subtle unixisms", and the architecture of the old Mac OS proved very
> unaccommodating for Java's version of threading, file-system access,
> etc.  Java 1.2 was never attempted for classic Mac OS, and when OS X
> came out, it shipped with the then-current Java 1.3.
>
> For the rest of the decade, Apple as a licensee ported subsequent
> versions of Java with varying degrees of timeliness and quality.  At
> first, there was a genuine interest in the language, with Apple
> converting its WebObjects app server to Java, and providing Java
> bindings to native APIs like QuickTime, Core Audio, and Cocoa.  Jobs
> made the now-infamous commitment to make Mac the "best platform for
> Java development" in the JavaOne 2000 keynote. For those of you with
> your panties still in a bunch over this broken promise, remember to
> also demand the JVM for the PlayStation 2 that was promised in the
> 2001 J1 keynote, Java on the Infinium console, or any other number of
> boasts that did not come to pass.
>
> In time, Java clearly became less important to Apple, highlighted by
> Jobs' 2007 comment that Java was a "ball and chain" that "nobody uses"
> in justifying its exclusion from the iPhone.  To be fair, times had
> really changed: when Apple licensed Java back in 1997 or so, it
> appeared that a lot of desktop development was shifting to Java.
> Apple's stated reason for creating QuickTime for Java was to give
> existing QuickTime developers a migration path to Java (ironically, it
> was later and more frequently used by Java developers needing a more
> capable media engine than Sun's JMF). However, the failure of large
> desktop Java projects in the late 90's and early 2000's, like the
> attempts to port Corel Office and Netscape Navigator to Java, badly
> tarnished the perception of desktop Java.  By the early 2000's, Sun
> had mostly shifted its efforts to the server and (to a lesser degree)
> mobile space, all but abandoning the desktop (for example, the Swing
> API remains little changed after its 1999 release).
>
> So you end up in a position in the late 2000's where Apple is mostly
> interested in desktop technologies, where Java has been rendered
> practically irrelevant (at this time, Apple's also about to push into
> mobile in a big way, but intends to displace existing technologies,
> including Java).  Sun remains disinterested in the desktop, and its
> last effort in this space, JavaFX, is pretty much a total disaster,
> alienating many of the remaining Swing developers and gaining few
> converts.
>
> So what's the case for Java on the Mac now?  It doesn't help Apple,
> which isn't much of a enterprise server company, and it really doesn't
> help Sun either, provided that Apple's version is just viable enough
> that Java can still make plausible claims of "run anywhere".  For much
> of the 2000s, I held on to a hypothesis that the cost of maintaining
> Java on the Mac was justified by Apple solely in terms of hardware
> sales to Java developers, who swooped up elegant MacBooks and used
> them to write webapps (some of which, surely, refused access to non-IE
> clients... a bitter irony).
>
> There may be other reasons that aren't publicly-known -- I've heard
> many rumors over the years of licensing spats -- but what I'm left to
> conclude is that the Mac platform isn't big enough to justify Sun (now
> Oracle, of course) picking up the tab for maintaining Java on it, and
> Java isn't important enough to the Mac's end-users for Apple to make
> anything more than a half-hearted effort to keep up to speed.
>
> --Chris
>
> On May 6, 7:02 am, Lloyd Meinholz <[email protected]> wrote:
>
> > Why didn't Sun provide a JDK for MacOSX like it (eventually) did for Windows
> > and Linux? Did Apple take the lead because they thought they would provide
> > the best LOF for the graphical parts, because Sun didn't have the extra
> > resources, both or some other reason?
>
> --
> You received this message because you are subscribed to the Google Groups 
> "The Java Posse" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group 
> athttp://groups.google.com/group/javaposse?hl=en.

-- 
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en.

Reply via email to