Java Thrown Back in Windows, For Now
darnellmc writes: "According to this News.com article, Microsoft has decided to include their JVM in the next Windows XP service pack. They are doing this in an attempt to avoid Sun's recent lawsuit against them for anti-trust violations. I wonder if the recent decision allowing the nine states' suit to continue had anything to do with this? Of course it did. MS plans not to have the JVM in future versions of Windows though."
Is it so far-fetched that Microsoft is actually trying to provide it's users with the features that they want?
This is an old 1.1 VM that won't run any modern Java code. Now people won't want to download Java VMs because they "already have Java", frustrating Java developers just as much.
"The best part about Microsoft's Java implementation is that the word 'java' is nowhere to be seen. It's the "Microsoft(TM) Virtual Machine." I think Microsoft were [sic] hoping that Java would go away if they simply don't ever speak the name."
... is permanently prohibited from using 'Java compatible' trademarks on its products." So it's not Microsoft that is doing this; it's Sun -- and for good reason. Sun doesn't want its name associated with the hunk o' junk that is the Microsoft virtual machine.
;)
I know this was modded as "funny", but I thought I should explain why Microsoft can't say "Java".
According to the settlement terms, "Microsoft
By the way, you've made a mistake I see all the time. I don't know where people got the impression that a company is plural, but it's not. A company is a single entity. Your sentence should be phrased, "I think Microsoft was hoping..."
Hope that clears some things up for you. Also, I agree that the "Java should not be used in life-or-death situations" disclaimer is pretty classic.
Simpli - Your source for San Jose dedicated servers and colocation!
While it's true that Microsoft is using an old version of Java, the surprising thing is that the performance (both memory and speed-wise) of this old VM (especially for client-side UI apps) is actually better than most modern J2SE VMs. The Sun crew has spent a lot of time optimizing HotSpot for server-side applications (J2EE, servlets, etc.) and implementing the new class libraries... meanwhile the MS VM remains solid and fast for most client-side apps.
don't buy it.
Why would cutting a deal with AOL cause Sun to lose money? If Sun paid AOL money to distribute Java with every AOL disk and update every AOL member's JVM, AOL could actually make a bit of money from that. I'm completely mystified as to why suggesting Sun should get off their ass and make a real effort to get Java into end user's hands should *not* be done because AOL/TW lose money.
creation science book
The JVM that Microsoft included in Windows was only "incompatible" in that it extended the Java standard. It wasn't incompatible in the sense that some Java stuff wouldn't work on it - it was incompatible in that you could write code that would run on it that wouldn't run on any other VM.
If Sun had let them keep shipping it, but stuck to its "Pure Java" type branding, then any "Pure Java" program would have run on Windows on the Microsoft VM.
This would have been good for everyone, I think - sure you could write something for Microsoft's JVM that wouldn't run on Sun's JVM.. but I can still do that today if I really want to (tie my code to a particular VM or a particular set of native code).
Instead we have the situation we have now, which is pretty bad for Java. Maybe Sun should supply Microsoft with a VM and give Microsoft a free license to ship it - that is if Sun really does want everyone to have access to Java on an "out of the box" Windows installation..
(Making Microsoft pay for the right to ship Sun's JVM would be silly since Microsoft spent the time and money developing their own JVM to ship with Windows.. and it was a pretty decent one too).
- Steve
That's anti-competitive (unless it's not vaporware and you do have a product release immenent).
In this case, MSFT is pre-warning corporate America that Windows may be Java inhospitable in future versions (blocking Java apps "for security reasons").
Corporate America may be cowed, as they were by vaporware announcements, into believing MSFTs real or not so real version of the future.
MSFT doesn't want to totally remove Java now because they know a lot of their customers would be pissed (IT departments installing VMs en masse).
This way, MSFT preps the cow before it hits it over the head in 2004.
A beginners' guide to Portland, OR?
Honestly, who cares?!?! Now that FreeBSD has Java, who needs Windows anymore? In my opinion, the operating systems of the future are the free UNIX ones. Linux is supported by a great many companies. The BSDs form a good group of friendly competition. There are a whole bunch of fringe operating systems out there. Sooner or later, already the laughing stock of the industry, Microsoft is just going to lose the market, regardless of whether the government does anything to screw them over. Microsoft has abused its customers time and again, promising change and delivering crap each time. Think a memo about reliability is going to change anything? It'll take Microsoft years to solve the problems in their software, because it contains so much code, and even more so because it's a moving target: Microsoft can't afford to simply stop development and concentrate on reliability. They have to implement new features and stay on top of the constantly changing market.
Although Microsoft does have a shitload of money, I believe they made a fundamental mistake, and their high rate of success is only going to make them fall much harder when the time comes. That mistake was simply trying to accomplish too much. Regardless of their size and resources, they simply can't manufacture the rigorous quality that's becoming ever more important in our world. Their software is defective to the core, and it shows.
What Microsoft tried to do was become the empire. Like Rome or something. Rome took over about a quarter of the world, probably in hopes of gaining complete control over everything. Furthermore, the rich people donated a lot of money to the empire for various things. Everyone who donated wanted their name to go down in history, so they donated money to build extravagant things like colosseums and whatnot. Nobody wanted to support the maintainence of roads or other boring stuff. As a result of this negligence and many "management" mistakes, the empire declined until it fell apart completely. Microsoft tried the same thing: They either bought out or put out of business just about every profitable software company out there, in hopes of gaining complete control over the software industry. Furthermore, instead of concentrating on reliability, they concentrated on extravagant things like features nobody uses and talking paperclips. This practice has resulted in millions upon millions of lines of code, and probably 3000% duplication of effort, of which probably a good one fourth is defective, and this is hidden by hasty workarounds and kludges in order to meet shipping schedules.
I believe Microsoft would have been much better off if they didn't produce any software at all! Instead, they would be a software publisher, a packaging and marketing company of sorts. Microsoft would form alliances with companies in the markets they wished to enter. To begin with, they would offer a shitload of money to these companies, up-front, as an investment. The companies would produce the software, which must meet Microsoft's would-be rigorous software testing and auditing requirements. No known bugs would be released, and Microsoft would throw whatever was required into ironing out all but the most obscure and unknown bugs. For the release, Microsoft would print fancy documentation, put the software in fancy boxes, and spend a shitload on marketing. (The software would be sold as, for example, Microsoft C++, Presented by Borland International, or something like that, in much the same way as some science fiction books are sold as Isaac Asimov Presents whatever by whomever.) Then, Microsoft and the software producer would equally split the profits and share a few truckloads of Negra Modelo while they're at it. Everyone wins.
As time passed, and the Microsoft name was found on more and more products, companies would run to Microsoft, desperately trying to get Microsoft's name on their products. Instead of Microsoft blackmailing companies to give in, "Sell out to us or we'll crush you," everyone would run to Microsoft, in an effort to make Microsoft ditch one product for another. (Of course, the vast superiority of a product would have to be demonstrated in order for Microsoft to make such a move.) To make a long story short, there would be no anti-trust trial and software would be extremely reliable.
But then reality sets in, and all the free software out there has a giant advantage over Microsoft. That advantage is simply time. Linux, for example, had about 7 or 8 good years to simply develop without market pressure or competition. That allowed a good, solid foundation to be built and a lot of experience to be gained. Regardless of their resources, Microsoft did not have that kind of time to research and develop Windows, because the reality of the market forced them to continually make releases and add features. So I go back to what I said at the beginning of this unnecessarily long post, and that is that free software is going to replace commercial software, at least in the operating systems market.
Have you ever experienced a Linux kernel panic? When it crashes, it crashes hard, and geez what crashes.
Hello? Foolio? If your OS crashes, no matter what OS it is, you're fucked, period. You could make a case that Windows crashes more than Linux except you'd be making shit up...Its not 1999 anymore, Windows 2000/XP are just as, if not more, stable than any other OS available for x86 processors.
Wake up, you're living in the past!
As others may have pointed out, this is total bull on the part of Sun.
Sun:you can't make java any more!
MS:OK.
Sun:You're not putting java on your cds, we'll sue!
MS:OK.
Slashdot:Evil Bill is using old java. It must be a conspiracy!
Send lawyers, guns, and money!
I just don't understand this entire JVM issue. The argument seems to go something like this:
1 - Microsoft didn't include a JVM in Windows.
2 - Getting a JVM is confusing and not ReallyEasy(tm) for grandma
3 - Microsoft had damn well better put a JVM in Windows!
OK now...let's see what happens when we abstractify this argument.
1 - Company A won't include competing company B's part in its machine
2 - Putting Company B's part in isn't easy!
3 - Company A should help its competition by including said part.
Seems kinda silly doesn't it? Now I am in no way saying MS is sparklin' clean, or that they haven't participated in intensely overbearing and monopolistic practices. They're no angel at all. But this SPECIFIC issue seems really silly to me. Do we honestly expect a company to willingly compete against itself? One might ask the philosophical question of: Seeing the necessary end-result of capitalism and being so displeased with it, how can we at the same time so enthusiastically support the system?
While I'm not going to argue Microsoft's innocence I will say that Sun shares significant amount of blame for the situation at hand. They are easily guilty of many of the things that MS has done as far as predatory business practices and yet they are the first to condemn MS.
The original issue with Sun vs. MS and Java was that MS was shipping the VM with proprietary code. By itself a controllable issue but the secondary problem arose when MS began to ship IDE's that leveraged that proprietary code making it easy for developers to create java apps that could be dependent on MS and their VM to run properly (NOTE: NOT ABSOLUTELY but COULD BE, just like with VC++ you could write MS independent and standard code).
Sun then sued based on breach of contract and misuse of the Java trademark. It eventually won but majorly screwed that up.
The end agreement stated that MS "COULD" ship the Java VM but that that VM had to conform to Java's compatibility checks. It barred MS from using the Java trademark (to infinity and beyond!) hence the reason you see Microsoft(tm) VM instead of Java(tm) VM, MS cannot legally use Java in the product name. The end agreement said nothing about MS being FORCED to ship the Sun JVM nor did it state that the VM had to keep up with the updates to the changes in the language, nor did it state that MS had to ship any VM at all. The agreement simply stated that if MS CHOSE to ship a JVM that it had to conform to the compatability tests for the JRE it supported.
MS decided to take it's ball and go home. It stopped keeping up with the updates to the language and resigned to keeping the JVM to the compatability set at the time of the original agreement (all nice and legal). Eventually they realized that the people really making use of the JVM were developers who in the end downloaded the JVM and JDK from SUN or from IBM and that sending a JVM out to support 5% of their user base plus having to field the additional support calls was just not financially feasible. They announced well before hand that Windows would be losing the JVM because of the lack of updates and incompatability with current Java version.
This would have been the prime opportunity for SUN to step forward and play "let's make a deal" by buying a place for Java in Windows, like so many other software makers do. The truth is though that for the most part Java on the clientside is DEAD. SUN's profits come from the developers developing server side code that helps SUN to get a foot in to sell high priced servers, license products, and write out lucrative service contracts.
So instead of shelling out some cash and looking like a hypocrit considering their stance with the anti-trust allegations, they decided to go the "easy" route and claim yet another breach of contract by stating that MS was not living up to the original agreement previously set. They claimed that the agreement forced MS to include the VM (the outdated one). It was a win win situation for SUN - they knew most people would be too lazy or ignorant to check the facts of the original case and others would be so blinded by their hate for all things MS that it wouldn't matter. They also knew that MS wanted to avoid any further legal entanglements no matter how frivolous and so threatening MS would get them to reintroduce the tired old VM into Windows. In the end having the VM does little for SUN except in the fact that it sticks it to MS just a little more. Most people falsely assume that MS is making the move to thwart SUN and Java - that's the other part of the win for SUN in that they make MS look like the ogre again - "shipping an outdated VM, HOW DARE THEY! Come on over to java.sun.com we'll set you straight. Everything will be alright."
So there you have a long summation of MS's crimes against Java. I consider them SUN's crimes but oh well.
"Do not be swept up in the momentum of mediocrity." - anon
WebStart was designed so that shared libraries wouldn't need to be redownloaded, programs automatically install, and programs are up to date. If you want a program an your computer that will run when you double click it, take a look at the executable jar format. It's been around for years, and .jar's are associated with javaw -jar (I search down the registry entries to add -client to make my programs start almost instantly). Linux has had this functionality for a long time, and there are a bazillion how-to's.
.Net with Windows and that will be another plus for companies debating which to use. It's the same case as Netscape vs Microsoft, and they'll win if MS doesn't include Java. They only included their own insecure and buggy v1.1.4. I wished they would remove it and force people to get a real jvm.
:) Compare that to 20M .Net upgrade.
:/ (but you have to register... click tools and products on the left side and go to IBM Developer Kit)
:)
Correctly written programs in java are almost impossible to distinguish from their counterparts. Take a look at eclipse or open/star office.
Java is prospering in cellphones, pda's, desktop apps, as well as the server. Cellphones and pda's because no two use the same hardware, but it costs more money to rewrite the apps than to just run them. No one knows about the desktop apps they have that were written with java (Limewire gnutella client for one). The main reason java hasn't taken off before is because it had that stigma of being slow. It is less slower than C than C is slower than assembler. That's little to pay for not having to port apps and not having to rewrite code over and over vs reuse of code that is given in the API and your own object oriented code.
I think it's pretty obvious why SUN really wants this lawsuit. MS is going to bundle
Just don't go bitching about SUN when the real problem seems to be the programs written in java that you've got. If anyone wants, I'll email them a 10K jar file that will run when you double click it. If you want to create your own, create a text file with Main-Class: a.class(be sure you press enter after the line). type jar -cfm my.jar file_with_main_class_in_it a.class. That's all it takes. Hell, you can include all your libraries in that one file and all will be fine. In fact, I can give you one jar file that you can copy into the deploy directory of jboss, and it will deploy both the website and the ejbs. Then you can take that same file and double click it to run the client side app. Java supports it just fine, but all the apps you've seen are appearantly written by a crackpot that thinks he knows java after compiling his hello world program.
BTW, it's only a 9.3 meg file that you can get from java.sun.com just click the j2se button on the right and get the jre 1.4.0_01
If you want a faster VM, try these free VM's
http://jrockit.com (email verification, but free)
http://www-106.ibm.com/developerworks/java
There are already talks about java running multiple programs in one VM. There are a few programs out there that do it for you, but they aren't there yet. Once this is in place java programs will start instantly after the first one. The reason why java appears to be slow to people is that it takes longer to start than other programs because of the git and vm load. The -client setting skips jit on startup and there is a JSR proposal on it's way for keeping the VM live. Java has come a long way and has had years of testing. It's not going to leave the servers any time soon! Especially now that we have JBoss 3.0 stable with EJB 2.0 support.
Want to see a java app done right? Try limewire.com
Karma Clown
I develop Java software in my spare time.
When I started programming in Java a couple of years ago,
I thought that maybe I could make applications and applets that people would actually use.
Granted that my crappy applet isn't the best one around, but when you see that your site got 30000 hits, and only 5000 played your game, you start thinking that maybe this isn't all your fault.
I don't know how many times I've explained to people how they go about to download the newest JRE.
Today, I would say that there are extremely few shareware/freeware utility applications written in Java especially in light of it's wide use in the industry, and the main reason for this is that they basically require a Java programmer to install them.
No JVM is better than a crappy old one, because then people will have to download the newest JRE the first time they come across an applet; this way, maybe we Java programmers can start utilizing the 1.2+ API instead of restricting ourselves to the 1.1 API for compatibility (which is really insane, because the 1.2 has been around since 1998 and is ten times better).
Whatever the cause, the Java language has definitely suffered from the lack of standardized and widespread VM software.
I wonder how many times this FUD is being said on Slashdot and I wonder why there are so many clueless posters who moderate up Microsoft FUD.
Micosoft violated the contract regarding Java and made a non-standards Java version. (I think we all heard that before - they basically make that eith everything they get thier hands on to try and make the item propriatory to thier OS)
So Sun suid them to get them to comply with the contract and of cource they won. Mocrosoft then got sully when they could not bully Sun, like they do nearly everyone else, so Micosoft then refused to include further versions of Java in the OS making a lot of customers unhappy.
That is what really happend and has to be stated every time Java comes up since their still seams to exist many clueless Slashdot posters or people deliberatly spreading FUD.
Just saying it like it are.
As others may have pointed out, this is your favourite monopolist up to its old tricks again.
But Sun never said that. They said that Microsoft could not ship, as 'Java', something which didn't comply with the Java specification. In other words, Microsoft couldn't embrace and extend Java and still call it 'Java'. What's unfair about that? Microsoft are still shipping the embraced and extended Java, of course, but now they call it 'C#'.
I'm old enough to remember when discussions on Slashdot were well informed.
Which is exactly what the monopolist was seeking to achieve. By preventing a consistent, modern Java VM from being distributed to Joe Average Consumer, they've created a situation where we can only deploy obsolete Java apps to the client, thus preventing any real competition with the monopolists own rip-off clone of Java, 'C#' and '.net'.
You think this is reasonable?
I'm old enough to remember when discussions on Slashdot were well informed.
Microsoft's JVM has , if anything, slowed the uptake of Java - it's so crap and outdated that no-one can write "modern" applets for it. MS probably realised that the alternative, MS bundling Sun's JVM would mean that Java instantly became useful - now people won't bother to install the Sun JVM, and continue to think Java is crap.