Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Who is supposed to be interested in maintaining Java on OS X? Apple, if their platform were too weak to attract developers who develop specially for the platform.

Oracle, if the Apple's platform is attractive enough. Note that Sun fought Microsoft to effectively take over Java on Windows. I know, MSFT one was not "pure," still that was the result. And one has to wonder if Apple would be sued the same way, since they also have OSX specific bindings.

The current bet is: OSX just became interesting enough to let Oracle maintain Java on it, if they want and are capable.

As far as I understand, the Java applications that were not already using OSX specifics weren't by any measure successful, and the only famous one is that FTP client, which is actually not a "write once works everywhere" Java app, but an OSX app accidentally written in Java. And it's an open source app. Can you please name some examples for "business based on a Mac Java apps?" Especially those that don't use OSX specifics.



http://www.entertainmentpartners.com/

They have Java based apps for the Film industry. I have to support them on OS X. They are hideous to use, hideous to install and maintain. I don't know if they use OS X Java specifics, but some how I doubt it.

They were broken by Snow Leopard. Took them months to fix.

My experience, purely as a sysadmin and user, is that cheap and cheerful cross platform apps seem to be much nicer when written for Adobe Air.


Their target was obviously not the users of OSX, I believe it was more an exception.


Can you please name some examples for "business based on a Mac Java apps?" Especially those that don't use OSX specifics.

I don't understand this question.

Either it's a Java app (no platform specified), or it's a Mac Java app that does use OSX-specific code.


Microsoft was sued by Sun because of "a deliberate course of conduct to fragment Java" and had to settle by removing their own Java implementation from the operating system.

http://www.javaworld.com/javaworld/jw-10-1997/jw-10-lawsuit....

http://en.wikipedia.org/wiki/Microsoft_Java_Virtual_Machine

As far as I understand Java license doesn't allow you to make a platform specific Java implementation.

So who's then to bet his business on Mac Java apps? The only potentially "safe" approach is not to depend on Mac specifics. But is there any example of a profitable Java app (which made profit by targeting OSX customers) applying the mentioned "safe" approach?


They got sued for not adhering to the Java spec, not for their extensions. The latter would be ridiculous, it would mean you could never distribute the JRE together with any sort of extra libraries. Even the Sun/Oracle runtime ships with non-standard extensions (javax.* , com.sun.*).


> not adhering to the Java spec, not for their extensions.

And AFAIK specs are made for "write once run everywhere."

> it would mean you could never distribute the JRE together with any sort of extra libraries.

You can as long as you are using only what Sun (now Oracle) approves.

> Even the Sun/Oracle runtime ships with non-standard extensions

They make the rules, so what they do can't be used as an argument.


Java certainly does not guarantee "write once run everywhere", although Sun had a "Pure Java" branding effort at one time.

What Microsoft did was extend the language to include an annotations feature (making it source-incompatible), and extending the JVM spec to include new opcodes (which crashed everyone else's JVM). Had they extended Java the conventional way there would not have been a problem.


And AFAIK specs are made for "write once run everywhere."

Yes, my understanding was that the MS implementation did not pass all the compatibility requirements. Adding extra functionality is entirely orthogonal to that point.

IBM's, Azure's and all the J2ME implementations come with proprietary extensions and are blessed by Sun/Oracle. I don't follow your argument.


> and are blessed by Sun/Oracle. I don't follow your argument

I don't have anything more to add than to quote you (the keyword is blessed) and also point to my previous posts. As long as you're forced to get the blessing before you introduce the interface to your own platform (or be forced to leave something out because you know it won't be blessed) why should it be in your interest to maintain the technology of others if you have your own technologies and a platform that's attractive even by itself?


From my own experience with it:

- .class files compiled on Apple's JVM work fine on other JVMs

- Source code written for Apple's version of javac will compile fine on other Java compilers.

To my knowledge, Microsoft's JVM violated both of these requirements, which was Sun's bone of contention. (Android's Dalvik is in similar violation, but doesn't pretend to be "Java" - they're being sued based on patents IIRC)


> .class files compiled on Apple's JVM work fine on other JVMs

Technically, you don't need to compile "on JVM" but "for JVM." And it doesn't seem to be as you describe for most of the cases (in Sun's words, 98%).

> Microsoft's JVM violated both of these requirements

AFAI understand it was far more subtle: the language (the source form representation) was extended with the features which functioned only on Microsoft's implementation, and only such classes were affected. See

http://download.oracle.com/javase/1.4.2/docs/guide/deploymen...

for a list of issues of switching from Microsoft VM based upon Java 1.1 to Sun's 1.4.2. The list appears to be very unimpressive.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: