didn't sun do this to microsoft?
didn't sun do this to microsoft?
Posted Aug 18, 2010 13:52 UTC (Wed) by tstover (guest, #56283)Parent article: A very grumpy editor's thoughts on Oracle
Also for a company that is suppose to be as smart as google, they should have just used their platform (droid) as a vehicle to bring the industry further past java instead of letting it fester some more.
Posted Aug 18, 2010 14:55 UTC (Wed)
by Trelane (subscriber, #56877)
[Link] (3 responses)
Microsoft was sued for "trademark infringement, false advertising, breach of contract, unfair competition, interference with prospective economic advantage, and inducing breach of contract." (http://www.javaworld.com/javaworld/jw-10-1997/jw-10-lawsuit.html) Regarding the differences between MSVM and a real JRE: So MSVM + Most of Java + Microsoft extensions. This is perhaps a bit different from "because the ms java implementation had support for a 2 button mouse or some such nonsense" (The JNI stuff is very understandable. Sun didn't have a desktop monopoly, so making Java able to run the same no matter what platform it was running on (standardizing the environment and making it hard to invoke native (i.e.must-be-ported-to-every-platform) libraries) was good for them. Microsoft, having a monopoly on desktop operating systems, would like to make it as hard for developers as possible to create cross-platform applications (so make Microsoft-specific extensions to an otherwise standard environment and make it easy to call native (i.e must-be-ported-to-every-platform) libraries.)
Posted Aug 18, 2010 15:44 UTC (Wed)
by tstover (guest, #56283)
[Link] (2 responses)
I had never considered that they intentionally made calling native code so gross with JNI for those reasons. That is especially interesting to me, since I consider that the most frustrating aspect of java.
Posted Aug 25, 2010 15:09 UTC (Wed)
by Blaisorblade (guest, #25465)
[Link] (1 responses)
Posted Sep 3, 2010 17:40 UTC (Fri)
by nix (subscriber, #2304)
[Link]
didn't sun do this to microsoft? Not really, no.
Typically, just recompiling your program with the standard Java compiler, instead of the Microsoft command-line or Visual J++ compiler, reveals which nonstandard classes are being accessed. Areas that may need work include differences in the security model, applet packaging (JAR vs. CAB files), and if used local scratch space through the ClientStoreManager ( com.ms.io.clientstorage package). Using technologies like J/Direct (instead of JNI), Windows Foundation Classes (WFC), and Application Foundation Classes (AFC), accessing any Microsoft Windows VM specific classes may require developers to substitute similar standard technologies.
http://www.oracle.com/technetwork/java/upgrade-136591.html
However, if your applications or applets use any MS JVM-specific features, you will need to check for dependency issues and tune the code. Typically, just recompiling your program with the standard Java compiler reveals which nonstandard classes are being accessed.
didn't sun do this to microsoft? Not really, no.
didn't sun do this to microsoft? Not really, no.
1) a JNI library can be reused in binary form with whatever available JVM. That means that every access to an object must happen through a call to the JNI support library.
2) unlike, say, Python, you have a garbage collector instead of refcounting. Thus you need to use a different kind of API. I'm not sure if one is more complicated than another, but it is anyway a difference.
3) The unreliability of finalizers can easily cause leaks of native resources. Interestingly, .NET 1.0 got it even more wrong, by giving finalizers the familiar syntax of C++ destructor while they're a completely different beast (as well argued by Hans Boehm).
didn't sun do this to microsoft? Not really, no.
