4 ms·
>So Microsoft wrote their own Java runtime called the MS JVM, and made it part of Windows, it extended Java to do Windows-only things, meaning there were now "J
by wfjackson 12y ago
>So Microsoft wrote their own Java runtime called the MS JVM, and made it part of Windows, it extended Java to do Windows-only things, meaning there were now "Java" apps that could only run on Windows, destroying the whole point of Java.
The more important question is, was there anything that prevented Sun or anyone else from implementing those in the other OSes? Otherwise it looks like programs are limited to the most basic level everywhere. I do remember the MS JVM was significantly faster than Sun's. So the solution was to slow it down or for Sun to make it's own faster?
It's in Microsoft's interest to make things run faster on it's own OS. For example of a similar issue, see Flash on OS X and Jobs' memo regarding how it sucked and made OS X look bad and refusal to allow it in iOS. How is that a good thing and what MS did bad?
Instead of improving the JVM, Sun decided to make money by suing MS. No wonder that bloated piece of slow crap that looks like crap is dying a slow death and stopped being relevant.
I remember using a popular bittorrent client called Azureus that ran on the JVM. My laptop would get super hot and slow to a crawl. Also remember how J2ME made mobile Java development a complete hell before Windows Mobile and iPhone came on the scene?
http://www.zdnet.com/three-billion-devices-run-java-yeah-but-do-they-like-it-7000017911/ http://www.zdnet.com/three-billion-devices-run-java-yeah-but...
- xxs 12y ago>>I do remember the MS JVM was significantly faster than Sun's. This is not true, actually. JDK1.1 1997 had JIT. MS had basically exposed the Variant and COM, the windows handles and part of WinAPI. Overriding paint(Graphic) on a native AWT component (say java.awt.Button) did nothing either and so on. >>Instead of improving the JVM, Sun decided to make money by suing MS. No wonder that bloated piece of slow crap that looks like crap is dying a slow death and stopped being relevant. JDK1.3 with hotspot compiler (May, 2000) had the fastest JIT by far.
- wfjackson 12y agoFrom Wikipedia, http://en.wikipedia.org/wiki/Microsoft_Java_Virtual_Machine http://en.wikipedia.org/wiki/Microsoft_Java_Virtual_Machine > It was the fastest Windows-based implementation of a Java virtual machine for the first two years after its release.[1] Sun Microsystems, the creator of Java, sued Microsoft in October 1997 for incompletely implementing the Java 1.1 standard.[2] Which is the fastest JVM after 1997 is essentially a moot point after the lawsuit was filed. I also like how Apple completely sidestepped such kinds of situations in iOS by disallowing third party SDKs and alternate browser engines. If there can be no Netscape or Java, there is no threat and no need to kill something and potentially get into trouble. Same with Google and Chromebooks.
- laumars 12y agoYou don't need a runtime environment on the client side to design a cross platform development toolkit. What happens with iOS is that 3rd party tools compile native iOS packages (kind of like cross compiling to target a platform different from the one you're developing in)
- comex 12y agoSuch as Flash, which Apple did try to kill - remember the old section 3.3.1? http://daringfireball.net/2010/04/iphone_agreement_bans_flash_compiler http://daringfireball.net/2010/04/iphone_agreement_bans_flas... The clause was removed just 5 months later; there were rumors that potential antitrust issues were involved: http://arstechnica.com/apple/2010/05/apples-compiler-policy-may-land-it-in-hot-water-with-ftc/ http://arstechnica.com/apple/2010/05/apples-compiler-policy-... History repeats itself.
- laumars 12y agoThere's a few different solutions around. I believe one of them (https://trigger.io/ https://trigger.io/) is even YC funded.
- easytiger 12y agoYour comment pissed me off a bit. > 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. > I do remember the MS JVM was significantly faster than Sun's. Lets dig out the binaries and do a perf test. > So the solution was to slow it down or for Sun to make it's own faster? This comment makes no sense. No idea what you mean by it. > It's in Microsoft's interest to make things run faster on it's own OS. This isn't about performance > How is that a good thing and what MS did bad? Who said it is any different? > Instead of improving the JVM, Sun decided to make money by suing MS. Yea they just abandoned the JVM in 2005. Hasn't changed since. > I remember using a popular bittorrent client called Azureus that ran on the JVM. Java for front end had requirements that most desktops of the time failed to meet. So what?
- 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.