Java Thrown Back in Windows, For Now 446
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."
Old java (Score:5, Informative)
Re:Old java (Score:2, Informative)
Two possibilities I can think of:
1) If you bought your computer new and didn't reload it, the manufacturer could have included it in the install, or
2) You have your security for the Internet zone in IE set to Low, in which case it could automatically install itself when requested by a page with Java content.
Are either of these the case? Either way, I always install the latest runtime from java.sun.com or downloads.com.
Re:Old java (Score:2, Insightful)
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.
Re:Old java (Score:5, Insightful)
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#'.
Re:Old java (Score:2)
So does GWBASIC. Your point is?
perfect opportunity (Score:2)
This will hurt Java (Score:5, Insightful)
Oh, good god (Score:2)
The point? Even the best designed system has to break backwards compatibility to have better software.
Or, simply: duh.
Dept (Score:3, Funny)
That cracks me up. Well done
Re:Dept (Score:2)
Pedantic English language reply (was Re:Dept) (Score:5, Informative)
See, the word defenestration [dictionary.com] is "an act of throwing someone or something out of a window". Therefore, Slashdot's psuedo-word "refenestration" could be defined as "an act of throwing someone or something into a window". In otherwords, it's a cutesy way of saying exactly what the story itself is saying -- that Java, after having been removed (defenestrated) from windows, is now being put back in (refenestrated).
And that is your English lesson for the day.
Re:Pedantic English language reply (was Re:Dept) (Score:3, Funny)
Thanks for setting me straight!
BIG FAT HAIRY DEAL (Score:3, Flamebait)
If you've ever used XP things are pretty damn simple. Go to a site that uses java
Java was never 'blocked' or 'disabled'. They just didn't ship it on the CD's.
Christ -- don't we have anything REALLY important to report on?
Re:BIG FAT HAIRY DEAL (Score:3, Informative)
Re:BIG FAT HAIRY DEAL (Score:2)
Either way, Sun wins - I hope I never have to do business with them. Write once, run anywhere sounds great, but I have yet to see a Java app that is worth my time.
Re:BIG FAT HAIRY DEAL (Score:3, Interesting)
MS's own JVM works flawlessly on every web site I've ever visited which required Java. Joe Average Consumer doesn't care who wrote it or or even what it is, as long as it works.
Joe Educated Consumer might care, but there aren't enough of that breed to ever make Sun an important player in the client-side language market.
No flaming here, but I've never seen a client-side Java application that wasn't mediocre, anyway. I know that it has been relatively successful in the area of web services, but the public doesn't see that, so Sun's mindshare is particularly low, despite their recent move toward a more open Java. [infoworld.com]
Re:BIG FAT HAIRY DEAL (Score:2)
Because:
(A) Java developers, having signed the contract of "write once, run anywhere," do their development on Solaris, test their applets on a Mac, and then it magically works on Windows, because Windows has a properly working Java VM.
(B) Everyone tests it on Windows and works around the bugs in MS's VM.
I developed a couple of semi-nontrivial Java apps in my day, and getting them to work on MS's JVM was a colossal pain in the ass (Win98/IE5.5). Some classes (I think somewhere down in java.awt.color) were just missing. Taxing the garbage collector or the console would crash the OS. Parts of the AWT were broken as well; I remember a simple loop that would load 1000 10x10 transparent GIFs and then display them all in the applet's window at slightly different locations -- this would reliably hose the VM to the point that only about half the images would even get a chance to display. We got the thing done (and mostly working), but it was way late, and the experience was akin to walking on one broken leg. In the end, it "works flawlessly" at what it does -- because it has to work on Windows, and so we sucked it up and made it.
Re:BIG FAT HAIRY DEAL (Score:2)
I'm personally working on an applet that CANNOT target that JVM for several reasons:
1) MS' JVM has no support for PNG. The applet is using a multitude of images, and they're too large to be in GIF; it runs off a webserver with a total of 256 KB storage, and the images take up 258 KB as max compressed GIF.
2) Making network-connections is a pain in the ass with MS' JVM, and due to time constraints, this was the main reason we dumped the MS JVM.
3) Things that work in Suns JVM doesn't always work in MS' JVM - even when targeting the same version. Using selective applet loading, you can work around this, but not when you only have 256 KB to play around with.
4) Tracking bugs in MS' JVM is also a pain, since it doesn't give you the line-number in stackTrace(). This is not a problem, when you're only working with small methods, but when you are working with complicated methods, it gets old really fast, to the point of litterally hurling a mouse through the office, and nearly incapacitating a PHB.
5) It is possible to crash IE when using MS' JVM. I'm not entirely sure how or why, since the applet worked flawlessly when using Suns JVM and this was around the time we dumped MS' JVM. It wasn't a local problem - it happened on every single machine we tried it on.
Yes, this is an applet that is to be sold to companies, and yes - we WILL be shipping it with the current JVMs for all platforms we can think of.
Re:BIG FAT HAIRY DEAL (Score:2)
Visual Studio != the_right_tool
It might be, if I was targeting a pure windows-environment and ms' jvm, but it's not in this case.
Also, when run-time-testing on say a FreeBSD workstation, just how the devil do you intend to pop into VS?
Granted, I haven't put much effort into VS for java, for two reasons:
1) I was far more comfortable with another IDE
2) It seemed to be working against me, in that some times it wouldn't allow me to do things my way. I can't remember the details, but I remember one specific instance, where it would claim to compile the file, but the class-file not reflecting the changes I had made. Deleting the class-file and trying again did not cure the problem. I think this was the specific reason I dropped it.
Re:BIG FAT HAIRY DEAL (Score:2)
An applet can only access the server it was loaded from (ie. 192.168.1.101). If you run if from your workstation (ie 192.168.1.102) as I assume you would when debugging it, you can't get it working, as it won't allow you to access
Re:BIG FAT HAIRY DEAL (Score:3, Insightful)
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?
Re:BIG FAT HAIRY DEAL (Score:2)
Re:BIG FAT HAIRY DEAL (Score:2)
But then, I'm a Mac user.
Wait, I'm confused... (Score:3, Interesting)
Who is the winner here? It's certainly not developers. We're either going to have to code to an ancient, incompatible version of Java because it's the "default", or we're going to have to keep explaining to people the difference between the Sun JVM and the Microsoft JVM (and either including a JVM with our applications or forcing people to download yet another JVM, something our customers won't give a flying @%^$ about), or we're going to have to give up using Java completely.
And consumers aren't the winners either, because the version of Java that ships won't run very many newer Java applications, so they are still going to have to download a JVM when they want to do the latest Java stuff.
Sun certainly isn't the winner; they've spent far too much money on a battle that doesn't win them very much at all in terms of hard cash. (I mean, I don't see Macromedia complaining that Flash isn't built into Windows, and I don't see AOL wringing its arms about AIM and ICQ not being included with the OS -- why should Sun be any different?) Plus, Sun looks silly. They sued, they won, and they got what they wanted -- and then (as if they had never expected to win in the first place) they sued again to force Microsoft to do the opposite of what they had wanted Microsoft to do before.
The only (marginal) winner that I can see is Microsoft. Microsoft has managed to completely destroy any hopes of Java being a great client-side language -- by including an incompatible version of Java, then not including it, and then including that same ancient crappy version again. Java has been relegated to web services, where it's just barely holding its own against ASP and PHP. (PHP is on 24% of web servers now, BTW... many more than Java servlets or ASP.)
So, in the end, Sun spent a lot of money and lost; Microsoft spent a bit less money and lost; and we spent money on Windows and... well... we lost. Scott McNealy, I hope you're happy.
Re:Wait, I'm confused... (Score:4, Informative)
Sun's FIRST lawsuit was NOT about Microsoft including Java... It was to force Microsoft to include Java without polluting it with windows-specific crap - Microsoft had signed an agreement saying they wouldn't do this then tried to get out of it.
Sun won, and Microsoft said "Fine... we don't want to play with your toys anyway. We're going home". Basically saying to Sun, "You either let us pollute your language, or we don't want anything to do with it".
To which Sun countered with "Look! Microsoft is using their market leverage to coerce us! Exactly what the anti-trust suit was about!".
And Sun was right.
Don't get me wrong... I have no great love for Sun either, but at least they aren't a convicted felon.
convicted felon? (Score:3, Informative)
Anti-Trust is a matter of civil law, not criminal law.
Re:Wait, I'm confused... (Score:3, Interesting)
Come to think of it, doesn't
Re:Wait, I'm confused... (Score:2)
There is/was nothing crappy about MS's JVM. Yes, it violated Sun's licensing agreement, but it was both fast and functional.
I am an addicted web surfer... I visit hundreds of sites weekly, and, of the sprinkling which require Java, MS's JVM always performs flawlessly.
The average web surfer still doesn't understand that there is a difference between Java and Javascript, or that Sun, when it is capitalized and appearing in the same sentence as Java, is not referring to solar heated coffee. In other words, this decision is of zero importance to MS or Sun, because the great unwashed mass of their customers will never read past the headline, and won't understand what they are reading if they do.
Re:Wait, I'm confused... (Score:2)
Of course Microsoft's JVM performed flawlessly. Since Microsoft's JVM is the one that everyone has, it is the one that gets tested. Anyone writing Java applets is going to make sure that it runs on Microsoft's crufty JVM. Unfortunately for Java hackers Microsoft's JVM doesn't have any of the nifty new features that have been available in other JVMs for years.
In other words, Microsoft is using their desktop monopoly (again) to control the rate of adoption of Java. If Microsoft didn't include their JVM then people might be convinced to get a real JVM, and people deploying JVMs could start using the new features.
Not that I particularly care. I have no love for Java. It's just painful to see Sun make so many stupid political mistakes. Java is about to become irrelevant in the Windows world, so Windows developers aren't likely to use it, and the Free Software hackers already avoid Java like the plague. It's a shame.
Re:Wait, I'm confused... (Score:3, Insightful)
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
Re:Wait, I'm confused... (Score:2)
-jon
Re:Wait, I'm confused... (Score:2)
Have you forgotten how "good" it is for everyone that a non-standards-complient browser has a huge market share at the moment? (IE)
Both developers and consumers are getting a raw deal because developers have to cater for quirks and some consumers are locked out of certain websites
When people extend the standards with their own stuff which only they can use, its fine... so long as no one uses it - else people are tied to using the windows platform
Its not a question of "wanting" to break suns JVM so you have to use microsofts, but if enough developers use the extensions, it becomes the norm and it excludes a lot of people and removes choice from others by forcing them to use microsofts JVM
Re:Wait, I'm confused... (Score:2)
- Steve
Re:Wait, I'm confused... (Score:2)
Ahem, Flash does come with Windows [macromedia.com].
Re:Wait, I'm confused... (Score:2)
They are in very different territories though. PHP is still (mostly) a hack-a-thon language with little or no attention paid to long term maintainability, error handling or scaleability. Not that scaleability is a problem in a world with hardware load balancers, but I digress.
Other than that I thoroughly agree with you. Client side Java sucked anyway.
Dave
Re:Wait, I'm confused... (Score:2)
Hey! [homestead.com]
:)
Windows-only, but that's what we're talking about here. Write once, run anywhere my ass.
Re:Wait, I'm confused... (Score:2)
Quite a few appliance vendors do the same. I see more Java applets from them than I do on the Web.
And almost every single one, bar none, includes the Sun JVM with the installation because they _know_ the MS one is broken and old already. I've seen some sweeeet applets for controlling devices and doing reporting.
Re:Wait, I'm confused... (Score:2)
Well...unless, of course, you're on a dialup line, in which case it takes a lot longer. The more inconvenient MS can make it to use Java, the better for MS.
Re:Wait, I'm confused... (Score:2)
You think thats bad you should see the SAP Java gui - now THAT is painfull - and yep it uses the Sun Java VM...
This is worse (Score:2)
Every Microsoft silver lining actually is a cloud.
java 2 oem support (Score:2)
Re:java 2 oem support (Score:2)
All I can find are the four "apps" that come with it.
I would love to find more and if there is a repository I would love to add to it (I'm planning on taking a crappy course in Java and I would like doing Java GUI apps.)
Parrot, anyone? (Score:4, Interesting)
Java promised "write once, run anywhere," and gave us "write once, debug everywhere." It's also nice to see that the Parrot folks are concentrating on making Parrot small and fast.
People are complaining a lot about how MS is only supporting a really old version of Java. Well, it's not just MS. For instance, Apple got way behind the curve with Java for a period of several years. The sheer size of Java made it difficult for people to implement, and then reimplement, and then re-reimplement, ... The nice thing about Parrot is that all the other bits besides the VM are nice and mature. (OK, Perl 6 is a prtty drastic rewrite, but Perl 6 is going to be able to run Perl 5 code, and there will also be an automatic translator.) Java has always been too much of a moving target for my taste.
Re:Parrot, anyone? (Score:2)
It's an old saying. Well-written java application like JEdit [jedit.org] and Netbeans have the degree of portability Java should have. You said Java is a moving target of your taste, while you want us to pardon the chaos from Perl 5 to Perl 6 just because you like Perl?
Nowaday we can still hear the echo of screaming of my colleagues when they ran Perl 5 codes on Perl 6.
WOW you can remember the future? (Score:2)
Since to my knowledge they haven't even released a development version of Perl 6 yet. It's really no wonder that it didn't work.
Perl 4 on Perl 5 works rather well BTW.
1.1.4 is M$'s own fault (Score:2)
Do more harm than good (Score:2)
This will make Sun more focusing on backend Java, an area where Microsoft has lost a lot of grounds.
If they'd really want to hurt Sun, they could just make a version of JVM which is hardly up-to-date and sometime incompatible with Sun's, like they did before. Come to think of it, this plan is doing good to the industry!
Hmm.... (Score:4, Funny)
"The decision to remove Microsoft's Java implementation was made because of Sun's strategy of using the legal system to compete with Microsoft," [Microsoft spokesman Jim Cullinan]
I guess M$ really does like illegal competition....
-Sean
Sun should cut a deal with AOL... (Score:3, Interesting)
Let's see:
Java was meant for TVs and coffee makers.
Whoops, no, Java will replace the OS on clients.
Whoops, no, sorry, "java applets suck" and all us Java advocates *really* meant that Java was really meant to run on the server all along.
Which 'whoops!' is going to come next? When Sun manages to lose whatever foothold they have in the server arena, we'll be hearing "yeah, well, servers suck - Java will *really* kill everyone in PDAs".
Whoops! We lost $45 billion! (Score:2)
It's probably the most evil, legal thing Microsoft can do is turn 3rd party products into native support. It's their ace in the hole, making their clone product easier to get to than the competitions. Winamp is probably the most noteworthy exception I can think of at the moment cuz it beats the pants off WMP time and time again...
Re:Whoops! We lost $45 billion! (Score:3, Insightful)
$45 billion dollar Java (Score:2, Informative)
Actually, I was suggesting that Sun might want to do business with somebody more finacially stable than AOL. $45b is a damn big hole that a company can't simply overlook when looking for business partners.
Easier than that (Score:2)
Just one more reason why AOL should make the switch !
a few misunderstandings (Score:3, Insightful)
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
Re:a few misunderstandings (Score:5, Insightful)
The optimizations that you point out are just as valid for Java and are more of an arguement that Java can be optimized for each CPU that it runs on despite the fact that it is cross platform. Not only has it got faster, but it has the potential to be much faster yet. Consider the power of being able to dynamically determine if a function should be internal or not based on statistical information. C certainly doesn't have that ability. This makes it quite possible for Java to surpass C in performance based upon the very fact that it is dynamically compiled.
I was told that the phones that will run java would have a different processor designed for that purpose. In that case it wouldn't really hurt battery life that much would it? You're right about Symbian, but even they know that Java is a big market and have a VM for it.
Sure you can't run desktop apps on a pda, but you sure can run a java pda app on any pda without having to port it to all the various processors.
There are plenty of people that call C a glorified assembler, but that doesn't make it all bad. Java is a bit more than a scripting language. Scripting languages are notably procedural. That's the true meaning of "script". It's a procedure to be carried out. Java is more like a system of interacting components.
The debate that you refer to is that programmers can no longer generate assembler as good as they once could. I know of this one crazy guy who optimized his program to the rotational speed of the disk drive. There were 0 IO waits in his program and I gaurantee you it ran at least twice as fast as any C program could
As for GIT/VM sitting in L1/L2. That's only true when the program is running in interpretted mode. This will only last until the program has been completely compiled. During that time (the first few minutes of running the application) the cache misses will be heavy. That's not so bad when you consider that's when cache misses are already heavy from not having the program fully in memory.
As for consuming memory... I really don't get it. Most people don't care that Windows consumes about twice as much memory as Linux when deciding which OS to run. What really matters on a client workstation is how quick the program responds to the user. Threading fixed this problem long ago. And java fixed the threading problem.
Re:Sun should cut a deal with AOL... (Score:2)
And, hey, what do you know. It's in TVs and coffee makers. And phones. And Lego [sourceforge.net], for God's sake. Your problem is?.
And hey, what do you know, it did [savaje.com]
Yup, it works server side as well. It always did. Nothings changed. Your problem is?
If you don't like it (Score:3, Insightful)
it's because they're including .NET (Score:3, Interesting)
This is an End Run on the court's ban on Vaporware (Score:2, Insightful)
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.
In a perfect world... (Score:5, Insightful)
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.
Re:In a perfect world... (Score:2, Insightful)
i'm sorry, but this is ridiculous, and i'm an avid linux fan.
we're talking about one of the most successful companies of all time. had they waited until their products were very reliable (something *not* demanded by the marketplace at the time) instead of building the empire, they wouldn't have $40b in the bank and $1b/mo in profits.
and as for being a software publisher, well, if i were microsoft, you'd have to drag me kicking and screaming away from a model that generates $1b/mo. reliability is a factor for them now that they want to invade upmarket into the server/enterprise arenas, but they now appreciate this at a deep level (bill gates' memo). with $1b/mo, they can eventually buy reliability. hey, they can hire 100k more developers whose sole job is to audit their codebase for security problems, or they can rewrite windows from scratch (again), and buy a small country to boot.
i love linux. my startup uses linux exclusively. i've put people through a little bit of hell getting them to use openoffice and mozilla, with the occasional incompatibilities that arise and the confusion of a novel interface, because i neither enjoy nor understand how to administer windows boxes. but i attribute most of the defects in windows to the lack of sophistication among consumers (much like i blame bad politicians on the electorate). for microsoft the company, i have only grudging respect, mixed with a little fear.
Re:In a perfect world... (Score:3, Insightful)
Well yeah, sort of. The market didn't really realise that computers could be reliable though. You know, I've met people who think that when a computer crashes it's their own fault! I was thinking about this the other day after reading that article about software reliability, and I think basically the poor quality of todays software in terms of crashiness etc is largely Microsofts doing (i said largely, not completely).
So the IBM PC is released, and along comes Windows. Windows crashes 3 times a day, but they have a monopoly, it's all people ever know. How should they know that computers aren't inherantly unreliable? Nobody tells them that, apart from the occasional lone geek. Instead, people just roll their eyes and say "Computers! What can you do?".
It wasn't like that in the 70s. If your mainframe app crashed, the owner would be on the phone giving you hell. These days, people just accept it as normal, and so developers don't bother with long testing cycles, cos they know that their customers expect unreliability.
Take Apache and KDE. Apache was left to accumulate bugfixes for months, even years after v2 was virtually finished. I know it was running apache.org for a long time before it went gold. Dirk Mueller would have been crucified if he'd said "well we've got kde 3 here, but I want to leave it for a year to accumulate bug fixes so it doesn't crash".
Re:In a perfect world... (Score:2)
Ummm, it doesn't. Tried sticking Java on a FreeBSD box recently?
Dave
Re:In a perfect world... (Score:2)
Re:In a perfect world... (Score:2)
What does the installer do? (Score:2)
Yahoo Games (Score:2)
Wait... (Score:2)
Mixed bag... (Score:2)
Of course you've got
But I like Java, it has come a long way since I first saw a clock on a web page! Fully developed applications, it has become part of the system on all good desktops.
Right now, you can't be without Java. Maybe Microsoft doesn't have to bend for Sun but it sure would good if they acted like they were playing nice. Then they can try to come out with their "Java Killer", until then I'm happy.
Of course more Java development would help keep it in place.
What's the big deal anyway?? (Score:2, Insightful)
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?
Re:What's the big deal anyway?? (Score:3, Insightful)
Sun's original lawsuit was not about the non-inclusion of the JRE in Windows. It was about Microsoft's "extension" of Java in their VM. Microsoft made their VM with Windows/Microsoft-specific "enhancements", and when programmers use these routines, they become broken on other platforms.
Sun had every right to say "Hey, you're breaking our language. Stop that crap right now, and do it the way we tell you."
When Microsoft first wanted to ship their VM, they told Sun "Sure sure, whatever you say." when Sun told them not to "extend" Java with their own bullshit. Remember Microsoft's track record with "Embrace and Extend"? Sun wanted to avoid that.
So Microsoft went ahead and created their modifications anyway, and Sun said "Okay. Stop. No more. We TOLD you not to pull that shit, and you did it anyway." Hence, the original lawsuit. Sun wins, and Microsoft says "Fuck you then.", and totally removes the VM.
THIS time, Sun is saying "Hey! Monopoly Abuse!", so Microsoft throws in this old, broken, shitty, outdated VM in a service pack so they can say "There, happy?"
No JVM is better than a 1.1 JVM (Score:2, Insightful)
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.
Some corrections (Score:4, Informative)
Microsoft does not provide a "JVM". They provide the Microsoft Virtual Machine or Microsoft VM. This may or may not be compatible with any given version of valid Java object code: Microsoft doesn't make that claim any more.
Further, Microsoft VM object code compiled with Microsoft J++ is definitely not guaranteed to work with any version of the Sun JVM. Further further, Microsoft VM object code compiled for any given version of the Microsoft VM is not guaranteed to - and sometimes does not - work with newer versions of the Microsoft VM.
Let me give you an example of what this means in practice. My employer uses the web based Rational ClearQuest for bug tracking. It used java-like applets, and works with all versions of Microsoft IE on 9x/NT/2K/XP platforms using the Microsoft VM that we've tried it with, but with no versions of the Sun JVM in IE, or indeed with any browser other than IE.
It gets worse. Our actual product uses java-like applets, built using Microsoft J++. They work with IE 5.5 under Windows 9x/NT/2K using the supplied VM. And nothing else, which exactly fulfills the specification given to the developers. Our tools don't work with any other browser, nor with the Sun JVM, nor (and this is where it gets silly) nor with XP and IE 6 using the latest downloaded Microsoft VM. Yes, our code is "write once, run once" in the worst sense. By tying ourselves to the Microsoft platform, Microsoft browsers and Microsoft VM, we've even managed to build in obsolescence and ensure non-forwards compatibility on our chosen platform.
The scary part for me isn't that the java-like "experts" in my company don't care, but that so many of them don't even understand what I'm talking about. As far as they're concerned, IE running java-like applets using the Microsoft VM on Windows is Java. They don't even seem to know about other platforms or VM's or appletviewers or applications, or that they're creating java-like object code rather than correct Java.
As a hobbyist Java programmer (using the Sun JVM on multiple platforms) this both pisses me off, and makes me very sad indeed. I greatly fear that Microsoft has succeeded in assimilating and killing Java. I worry that Java has already been dealt the fatal blow, but it's still staggering on under its own momentum, shedding limbs and slowly dissolving. When it finally expires, the beast that will erupt from its tattered corpse won't even be J++, but C#
Re:Some corrections (Score:4, Informative)
Very alarmist scenario, but quite overblown.
Java is doing very well indeed in several areas (particularly server-side and cell phone). Apple has a full-blown implementation that is quite good, and is pushing Java as one of it's primary development languages. The VMs just keep getting better and better, and I'm sure millions of copies of Windows and Linux have a modern JVM installed.
I do think AOL/Netscape will push modern JVMs onto lots of desktop machines.
Finally, it is up to software developers to help their customers use the best technology. Evaluate Java objectively, and you'll use it because it's the best thing out there for lots of projects. Yes, its that good. :-)
C# won't really be a competitor until there are great C# environments for MacOS, Linux, Solaris etc. I'm certainly not holding my breath... ;-)
Java places us at risk? (Score:2)
What strikes me as interesting is that Cullinan implicitly refers to Java as a "risk," when the software projects he manages have placed far more computers at risk of data loss, hacking, virus threats, etc... than Java ever has. Does Jim Cullinan actually use Windows? How can he be so clueless as to imply that Java places customers at risk when his own software has cost companies billions of dollars in downtime?
Oh, wait, I get it. Microsoft's Virtual Machine places customers at risk. No wonder he's going to stop shipping it in the future!
Microsoft will not support Java past 2004 (Score:2, Interesting)
Why, you ask? "The decision to remove Microsoft's Java implementation was made because of Sun's strategy of using the legal system to compete with Microsoft," Microsoft spokesman Jim Cullinan said in a statement. Cullinan said the company will temporarily support Java "to minimize any potential disruption among our customers."
But is Microsoft admitting that they are punitively trying to harm Java and Sun? No, of course not. Microsoft claims that the settlement they signed when they were found to have created Java tools to intentionally fool programmers into writing incompatible code forces them to drop Java support.
How, you ask? "The settlement agreement between the companies prevents Microsoft from making any changes -- including any security fixes -- to our Java implementation after January 1, 2004," Cullinan said. "We will not put our customers or Windows at risk so you can anticipate that there will be no Java in Windows from that point forward."
One of the antitrust penalties proposed by the states would force Microsoft to carry support for Java. Now why do you suppose they would have suggested that?
Read all about it here [nytimes.com] (free registration required).
Hmm... (Score:3, Funny)
Re:Hmm... (Score:2)
Re:Hmm... (Score:2)
How the fsck does any of the money paid for a copy of Windows go to pirates, even if the piracy that Microsoft purports is going on and does "cost" what they say it does?
Seriously. I don't get it. Perhaps it bites into Microsofts profits (again assuming their numbers are anywhere near correct). Perhaps Microsoft therefore charges you more.
Still, no money goes from your purchase to pirates, let alone half.
Re:Hmm... (Score:2)
Re:Hmm... (Score:2)
Activation is hardly a silver bullet against software piracy.
Re:Come on... (Score:2, Interesting)
Re:Come on... (Score:5, Insightful)
Yes, it is, particularly since the java they're including is a horribly outdated version that won't run must of the java code on the net today.
It is a ploy designed to confuse the user, break as many existing java apps as possible, and spin the tale to place the blame on 'java' or Sun, rather than squarely on Microsoft where it belongs.
Re:Come on... (Score:2, Informative)
Re:Come on... (Score:3, Insightful)
Re:Come on... (Score:3, Informative)
That's the Microsoft propoganda, but it's all lies (well at least VERY missleading). What Sun did was to get a court order saying that after a certain date Microsoft couldn't ship their bastardized JVM and keep calling it Java when it was non-compliant (Ever heard the term Embrace-and-Extend?). Microsoft could have included any Java compliant JVM and been fine (except for the fact that Java is a threat to the Windows monopoly).
Instead, they issued a press release making it sound like they were dropping support for java because they were forced to by Sun, when in reality Sun was only forcing them to be standards compliant.
Sun did the Right Thing(tm) IMHO, in using their legal rights to keep Microsoft from coopting and breaking the Java standard as they have with so many other protocols.
Sun's GetJava site (Score:2)
Re:Keep the blame where it is (Score:2, Insightful)
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.
Re:Keep the blame where it is (Score:3, Informative)
Microsoft can not use the Java name for MS own crappy JVM since it does not follow the Java standard.
If Microsoft made a JVM that follows the standard they can still use the Java trademark.
This is the same requirement that Sun has on all that uses thier code - it can only be named Java if it follows the standard.
Thats is the only way to make sure that develop once run everywhere works.
Re:Come on... (Score:2)
I doubt that there are many people clamouring for client side java. I have yet to visit a site that uses Java since I installed XP.
These days everything seems to be Macromedia Flash, only if someone would work out a way to block flash downloads I would do it in a flash as the abuse by advertisers is getting ridiculous. Unfortunately Microsoft didn't think to include the 'no I don't want to download that crap and don't ever, ever ask me again' option.
I suspect that this is simply Microsoft having demonstrated to Sun that its users are not demanding Java is now thinking it might sell a few more copies of J# if they distribute a VM again.
Why they can't say "Java". (Score:4, Insightful)
I know this was modded as "funny", but I thought I should explain why Microsoft can't say "Java".
According to the settlement terms [com.com], "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.
Re:Why they can't say "Java". (Score:2)
Re:Why they can't say "Java". (Score:2)
In America it's singular, in England it's been simplified to the plural during the last 80 years or so.
Treating a Company, made up of group of people, as singular is a special case and isen't terrbily logical when you think about it:
The programmers were stupid. (American, English)
Microsoft was stupid. (American, older English)
Microsoft were stupid (Modern simplified English)
It's easier to teach children that a company is plural, and unfortunatly ease has won in certain circles and the special case has been forgoten.
Re:Why they can't say "Java". (Score:2)
Actually, SlashChick, that depends on where you live. The British actually refer to companies in the plural. Supposedly that's standard in Australia as well.
Re:the MS JVM (Score:4, Funny)
Um, 100 miles away? Have you ever experienced a Windows crash... when it crashes, it crashes hard, and geez, what crashes. If I knew of a nuclear reactor that operated under Windows, I would move to a different continent. I just hope there aren't six or more reactors operating under Windows, else I would have to move to Antarctica probably.
Re:the MS JVM (Score:2, Insightful)
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!
Re:the MS JVM (Score:2)
I'm not a big fan on 2k, since it has all sorts of serious Win3.1 bugs and IE bugs kicking around in it. I have managed to wedge it a few times. You see, the kernel should be fixed by now, but there's still other parts of it that play up, such as the loosing IE interface, and the dozens of different ways to open a program bugs.
Not sure about XP, but it's a 0.01 downgrade on 2K (ie WinXP = NT 5.01, 2K = NT 5.00).
On the other hand, I have had systems crash, and not crash the fs. Even DOS and Win98.
Re:the MS JVM (Score:2)
Iirc, it does.
Re:the MS JVM (Score:2)
I would imagine that Sun does make software intended for such use. The disclaimer is a notice that this particular software (Java) is not that kind of software despite the Sun brand. At this kind of level, failure modes become important. Which way it fails is more important than being correct. Not easy and not cheap.
Re:Microsoft's Crappy VM is still VITAL (Score:2)
I'm running jdk1.4.0 and it runs most applets I encounter just fine in internet explorer and mozilla. If a particular applet doesn't work that means that its developer hasn't bothered to update the code in years and doesn't care about non IE/MS JVM users. That should make you wonder whether you actually want to run such old, obsolete, abandoned code. I couldn't care less.