3 ms·
>> The more important question is, was there anything that prevented Sun or anyone else from implementing those in the other OSes? > Yes, they made calls to na
by ygra 12y ago
>> The more important question is, was there anything that prevented Sun or anyone else from implementing those in the other OSes?
> Yes, they made calls to native microsoft frameworks etc.
Uhm, yes, that's how you run things on another platform. You have to call that platform's APIs. Sun's JVM won't be able to create an AWT window without calling WinAPI's CreateWindow. They have to call the native APIs at some point or another.
- easytiger 12y agoAnd what use are COM components on another OS that doesn't have them?
- ygra 12y agoI think there was a misunderstanding here. I thought it was about normal Java APIs which just happened to use a better abstraction on Windows than what Sun was providing. You were probably referring to MS-specific Java APIs that were corresponding exactly to certain COM objects for functionality that didn't exist on other OSes, I guess.
- easytiger 12y agoYes, those are the things microsoft added. Another point was things they refused to add. Such as JNI & RMI. They used J/Direct for Windows specific system stuff. The simple facts of the case are that Sun license the Java brand to someone who wants to implement a JVM/API but you have to pass the TCK/JCK testsuite to keep the license. MS would have failed that.
- AnimalMuppet 12y agoTo add a bit: Microsoft added stuff to the standard packages (java and com.sun, if memory serves), but the stuff they added would have been Windows-only. So you write it on Windows, using what looks like standard packages, and then - surprise! - it won't run everywhere, it will only run on Windows. A nasty, hidden form of lockin. And Microsoft was doing this deliberately, trying for the lockin. That's why Sun sued. And, since the contract prohibited exactly what Microsoft did, Sun won.
- easytiger 12y agoExact same policy with OpenGL before DIrect-X came along.