"MS Killed Java" (on the Client) JL Founder
jgeelan writes "In a commentary titled "Microsoft Killed Java" the founder of JavaLobby, Rick Ross, revisits the 'death' of Java on the client.
"Five years ago, almost to the day," Ross declares, "Microsoft shipped IE4 with a JVM that was intentionally engineered to provide leverage to corrupt and pollute Java compatibility standards."
According to an Associated Press report, Microsoft Corp has until only October 4 to respond to Sun Microsystems' request for a federal court injunction requiring Microsoft to integrate Java into Windows."
Slow news day?
~ R W S
It's interesting to discuss this on the day that Michael Skakel, the "Kennedy cousin", is sentenced to 20 years to life for killing a woman 25 years ago. Someone mentioned to me that it seems a harsh punishment for something that happened so long ago, and I could only reply, "She's still dead."
Five years ago, almost to the day, Microsoft shipped IE4 with a JVM that was intentionally engineered to provide leverage to corrupt and pollute Java compatibility standards. The US District Court clearly found Microsoft guilty of illegal anticompetitive behavior with respect to Java, and that court's findings were upheld and clarified by the US Court of Appeals. Nonetheless, Microsoft has continued to benefit from having used its monopoly power illegally to suppress the emerging success of Java. They have been as free during these past five years as Michael Skakel was since he committed his crime. It is time for justice to be done, and justice demands that Java get the chance to succeed that Microsoft intentionally and illegally took away.
It doesn't matter that Microsoft committed the illegal acts a long time ago, they are no less culpable. I support Sun's motion and hope that the judge who hears this case will understand that Microsoft's illegal acts were made even more severe by the fact that Microsoft committed them early enough to kill Java on the client before it had a reasonable chance to succeed. In the famous words of Barney Fife, they "nipped it in the bud!" It is representative of the worst and most calculated forms of illegal use of monopoly power.
Java isn't dead. It's called "Linux" and Java still runs on it.
Everyone, I've made a new platform-independant language and virtual machine. It's called OJ. Microsoft won't put it in Windows. This is killing my business model. Where do I sue to force them to put OJ in Windows?
Yes, Java is dead on the client.
Sorry about that.
I'm sure everyone and their brother putting stupid Java animations on their website and generally bringing poor 28.8 modems to a grinding halt had nothing to do with its poor reception.
I have been pwned because my
I don't necessarily disagree with all of Mr. Ross's comments, but certainly he could have written his article without comparing Microsoft to a convicted killer, and not made any obvious comparison to Java and a the victim of such a murder. Shame on you, Mr. Ross.
Why Microsoft _should_ include _anything_ to its browsers?
It's _their_ product...
The server is King! And it's alive and well on our servers. Java server-side is strong.
Come on, now. Microsoft didn't kill Java on the client. Java killed itself through confusing procedures, poor performance, repeated incompatible upgrades, costly support requirements, and expensive development tools. Java was sitting on the edge of its coffin. All Microsoft did was use its toe to push it in.
It seems that there was an 'interneal server error'
The commentary seems to be "/.'ed" Does anyone have a mirror or a transcript?
No man is an island, But if you take a bunch of dead guys and tie them together, they make a pretty good raft.
That's the funniest joke I've read all day here!
Funny that the site is slashdotted and their aren't even that many comments here...
Sun didn't help. For years they complained that Microsoft was implementing Java without proper licensing, and wiping the courtroom floor with MS. Then MS raised their middle finger at Sun and told them where to go today, and removed Java completely. Then Sun let them use the broken client from several years ago in IE5.5 SP2 and IE6.0 as some silly settlement. Now, Sun is whining that MS isn't using their newest client. Yes, I'm sure MS tried to re-invent Java (J++ or whatever they call it now), but remember the facts, Sun was a huge help is screwing themselves over.
There is no reasonable defense against an idiot with an agenda
:wq
Java died because nobody really cared. Anyone who did could just install it themselves, but they didn't.
MS didn't kill java, they just didn't keep it on life support.
No, I'm not a M$ supporter. I hate their dominate the world attitude. However, I may be missing something, but how is it that courts can force one company to adopt another's product or standards.
I remember the headache back when Netscape was still popular, and I had to deal with the differences between M$ JavaScript and Netscape JavaScript. Then there were differing standards for Stylesheets, and Java, and XML, etc etc.
While I'm entirely in favor of a global standard, how is it that they can force one company to adopt the standards of others. Why not make a plugin allowing standard Java modules to be used, and make it available? I hated M$ JavaScript, I found Netscape's model was initially much nicer to deal with. However, in the end I found that the MS model ended up with more functionality, mainly due to OS integration.
Shouldn't the decision on what standard to offer be in the community? If I want to use a standard, let me download a driver, patch, or module that allows me to use it. The last thing we need is to make bloatware more bloated by having modules to support dual standards. Really, we should enforce MS to use the global standards before they go off and try to change the world by doing things "their way", instead of trying to figure what we want to do with multiple implementations 5 years later.
So, my question is, why can't Sun do the same thing? Java is a registered trademark of theirs, correct? Why can't they hold anyone calling their implementation of Sun's language specification Java to the same standard that true implementations of OpenGL are being held to -- namely, that it will be fully compatible without the nonstandard extensions applied to it such as what has happened with Microsoft's JVM?
Having said that, I continue to like the language and use it where it makes sense...
Roving Web-Teleoperated Robot
Some things don't need Microsoft to die. Applets sucked. They took too long to download, and were slow and buggy, and Java as a langague is not very approachable to many.
Flash filled the nich better without (yet) getting killed by MS. That shows that if you know your market and do it (reasonably) well, you can survive.
Don't blame everything on MS.
Table-ized A.I.
I know this is going to get modded out of existance, but what the hell anyway.
Surely I am not alone in feeling uneasy at the fact that a court has ordered Microsoft to include Java with Windows. Now IMHO Microsoft should be punished for the java license violations, but at the end of the day this is their product. I don't see many people screaming at Microsoft to include Netscape/Mozilla with Windows. (I believe that IE should not be included and people should be free to make up their own mind.)
At the end of the day Microsoft could have chosen not to include Java in the first place and probably would have stopped Java on the desktop in its tracks.
Patriotism is the opium of the masses
Frankly, I'm a little sick of both the Java jive about it being this great programming language, and the insipid use of it for web page animation. Sure, Microsoft made a calculated move to cut Java's nuts off and it worked. But like the Realnames incident, perhaps there's no great loss except to Bill Joy's pride.
"Eve of Destruction", it's not just for old hippies anymore...
I think you mean should_have_to_include java in ie.
Well they signed an agreement saying they would, back in the day when IE was competing with Netscape and having a java enabled java was an advantage.
Java on the client had: - a large download - a NON windows behaving environment - no real benefit to 99% of consumers due to sufficient quality software already available on Windows in the usual Windows code. - java apps never coded to behave like the OS they ran on (can anyone name 1 piece of usefull client software in Java Run?) the last point is most important i believe. whatever Microsoft did, they were only the tip of the iceberg. Microsoft can't beat Winamp, and therefore proves that if you can do it well enough, people WILL use your product.
Sun says: "You're violating our license!"
Microsoft says: "No were not, we've made some enhancements as is specified in the license"
Court says: "No Microsoft, you violted the license"
Microsoft says: "Ok, fine then. Since Sun is bein so hostile about it we just won't include ANY JVM in our software. Not even our own"
Sun says: "Waaaaaaaah! People are too stupid to download software and we're too lazy to find some other distribution channel! You have to distribute it for us!"
Whiny
Maybe if Sun had spent time on a killer application or applet (or evangelizing for same), the Windows users of the world (and the rest of us as well) would be saying "Hey, keep the Java in there!"
Instead, Sun has the bloated Swing with some cute little demos. The world has created java game applets, animated signs, weird ui elements, and memory-hogging eye candy.
Why do I need Java in my web browser client or on my desktop?
Yep, Microsoft is to blame.
The typical argument for "MS Killed Java" is not that Java died because it was not included in Windows, but rather because it was included in a crippled way that misrepresented the language.
It would be the equivalent of Microsoft giving away a Linux distribution "MS Linux" that crashes often, doesn't run most of the GNU programs (gcc included), has a different set of C libraries with their own quirks, and uses a really old version of Gnome as a fixed, non-configurable GUI.
Then everyone would say "I tried Linux, it came with Windows, but it sucks" and it would take a lengthy, unwanted explanation to let them know that their "free Linux" was crippled. Even then most will never try it again.
It's not clear that MS killed Java on the client. In my opinion, Java was not ready for the client and therefore it killed itself with the Applet hype.
But that doesn't mean shooting a man dying of cancer is not a crime.
Freedom is the freedom to say 2+2=4, everything else follows...
This sucks that Java has died. I just finished up my first week of a Java programming course. And, now, I find out that I am learning a dead language?
When will it end?
(sarcasm skills required for reading this comment)
Moon Macrosystems. Sun's biggest competitor.
Sun never really cleared about Java on the client side. They were busy selling /creating a market for bloated App Servers.
If they were really serious about Java on the Client side they would have optimized/replaced the piece of crap called Swing. Swing is only barely usable in Java 1.4 nearly 4 years after the original library was released.
No I am not supporting MS. They are a competitive company and they did what was in their best intrests. They behaved exactly like any company would. I am sure that Sun/Oracle/IBM/... would have done exactly the same thing in similar circumstances.
I sure wish that people would stop whining and blaming MS for their own stupid mistakes.
BTW I think the SWT Toolkit(eclipse project) goes a long way in promoting Java on the client side.
God forbid Microsoft ship a product that would reduce it's reliance on third party software. Not that it's sound business strategy or anything. Or that I'll get trolled out the ass for the comment.
You need a FREE iPod Nano
5 years ago Netscape was the king of the browsers -- nothing else came close. When MS released it's browser they out leaped Netscape by offering faster JVM and better compatibility. If Netscape didn't just sit back and watch it's browser being eroded from the market and Sun didn't just put all it's eggs in one basket (Netscape) things could have been different.
I am sorry, but all this is not entirely M$'s fault -- the other "big" boys did nothing but enjoyed their short lived fame while M$ continued its assaults.
Karma stuck at 50? Add 2-5 inches.. err.. 2-5x Karmas Count to your pen1es.. err.. Karma all naturally and private
You know what the whole Sun vs. MS regarding Java thing reminds me of? In high school, we had "open lunch", which meant that we could leave the school grounds to eat at the restaurants across the street. Well, after a few years of this, some of the restaurants and stores complained about how awful the students were, and how they were always having to call the police to break up fights, report theft, etc. So the school took away open lunch for a year. Open lunch was re-instated, at the request of those same stores and restaurants, because they realized that those same rowdy students were providing about half of their revenue. McNealy can't have it both ways. Really, he shouldn't have it any way. Say what you want about Bill Gates, but at least he doesn't whine constantly. McNealy and Sun deserve to die a slow, painful death, with their incomplete, overpriced products.
Java on the client is far from dead, there are a few programs keeping it alive namely Yahoo Games and Limewire. Any standalone app that wants to use java can either bundle the JVM on the dload/CD or provide a link to the download site. Its also much more bearable today thanks to improvements and moore's law. I think one of the big problems is people have a bad impression of java due to the earlier releases where you would wait 5 mins for a god damn applet to load.
Java is so slow I wonder if it has ever been alive.
You could have kept it a secret :)
How soon we forget...
I'd say that the AWT's sloppy original design (and later, Swing's mediocre performance) killed the market for full-fledged client-side Java UIs.
And Netscape did as much as anyone to kill Java applets. The AWT in 1.0.2 was very sloppy. Many improvements were made for 1.1, but Netscape was VERY slow to get those changes in.
Remember when Netscape 4 came out and they claimed it supported 1.1? But it only really supported the java.io improvements. None of the AWT improvements were there until much later. Wihtout those, writing sophisitcated applets was too dicey to be worth it.
IMHO, by the time IE4 came out, Java was already dying in browsers.
Both a convicted killer and a convicted monopolist are both criminals.
The only real difference I see is that there is only one killer, but Microsoft is a criminal organization - there are a lot more criminals at Microsoft.
I wonder how MicroSerfs sleep at night, knowing they work for an organization as criminal as the Mafia, Yazuka, or the Nazis...
Now that Slashdot is posting articles about how "Java is dead", are the "BSD is dying" trolls going to get a break and get modded up for a change?
After all, "x is dying" is now newsworthy material, even if it isn't true.
But isn't the fact that they aren't allowed to touch it the strongest guranatee that it will be secure? Or at least it won't be "Microsoft Secure(TM)", a new concept of security whereby things are required to be treated as if they are secure until Microsoft is forced to admit that they aren't, but don't worry because nobody will figure out how to exploit the problem anyway. And the EULA doesn't allow you to discuss this or we take your firtsborn.
Take a look at Dan Bricklin's hysterically funny parody of client-side Java. It says it all. Just as funny and relevant as when it was written.
.NET can avoid the same issues.
It will be interesting to see just how
Demo software like Bricklin's is usually used to present a positive view of technology that doesn't exist... this is the first time I've ever seen demo software used to present a negative view of technology that DOES exist.
"How to Do Nothing," kids activities, back in print!
Java still sucks for GUI development today. I use it heavily for server-side development, and I've worked with plenty of Java UIs. The only acceptable Java UI system I've ever seen is IBM's SWT framework, as used in Eclipse. Swing UIs are borderline at best, and AWT isn't even worth discussing. In Sun's defense, creating a decent fully cross-platform UI (without depending on native widgets) is a tough problem. SWT's use of native widgets makes a whole lot more sense - Sun should take note.
Of course, none of this changes the fact that Microsoft did everything in its monopoly power to crush Java. Abandoning Visual J++ and then insulting their userbase with J# and "Jump to .NET" showed that when it comes to crushing the competition, even Microsoft's own customers better not get in the way.
Well, while you might dislike Microsoft, they sure have wedged themselves so hard into this community that an eternity is doomed.
Business is business, open source is open source. If you were Billy-G, you would want your money too. No, really, don't lie!
I Think it's a plan chalked out by Microsoft long before and they are executing it step by step. Microsoft firstly shipped IE4 with a JVM that was intentionally engineered to provide leverage to corrupt and pollute Java compatibility standards. Then they Launched CSharp (C#). Which is a mixture of C, C++ and JAVA. Then they removed Java Plugin Support from IE which is shipped alongwith Windows XP. Thanx to Sun for making the JVM for Windows XP available for download.
A lot of people give Macromedia a hard time about how strictly they control the Flash format, but I have to say that it seems to me that all they're doing is avoiding all the mistakes made with Java on the client side.
Because of the way that Macromedia has done things, it's a lot less likely that Microsoft will be able to wedge in an incompatible version somewhere. People seem to downplay the fall of the ubiquitous Java client, claiming that the client was never the interesting stuff in the first place. But the client is the means by which the MS-monopoly is broken.
Alas, Flash is now our best hope for eroding the power of Microsoft - too bad most of Slashdot can't recognize that.
Java is not just applets (which are very useful and fast and stable if you use JApplet and not awt.Applet) it is a collection of technologies allowing for rapid and reasonable cross platform porting. My sevlets run excellent on most servers, plus they were easy to write and debugg. The networking built into java is nice, multithreading equally so. Java is what .NET could be, just noone realizes it.
There is nothing wrong with being gay. It's getting caught where the trouble lies.
What killed Java on the client was the fact that it was shit.
First there was AWT - ugly damn toolkit. Then after people had moved heaven and earth trying to produce vaguely useable applications with AWT, they came out with SWING. This had a huge learning curve, it produced extremely verbose code, it was painfully slow, and in it's earlier versions it was infested with bugs.
Thousands of developer years went into producing java applications. These applications were, almost without exception, shit. The few that actually made it out to the public "felt" like java applications. With a ten fold increase in RAM and processor speed, these java applications were almost useable, but still felt slower than equivalent C programs on one's old box.
If anything, MS encouraged java by coming out with libraries[MFC] and languages[VB] that were so bad they made java look worthwhile. Their malevolent business practices were amply compensated for by their technical incompetence.
A plague on both your houses...
http://rareformnewmedia.com/
Maybe that's why Java died. It should have been named C++ Crippled. Maybe the world needs a 'safer' C++, but disallowing any significant use of the stack and eliminating deterministic destruction is not the way to achieve safer C++. Then there's the silly elimination of pointers to make it safe and simple, so why is it that the most common Java error seems to be "Null pointer exception"?
what have you been smoking?
you are obvoiusly very paranoid
Dick Laurent is dead.
(disclamer, I've not actually read the article)
If there is a reason that java died on the client it is becuase still to this day, if you wish to make a program that is competive with a normal C/C++ client, it requires the same amount of work. There is no advantage to using Java, in fact many times you end up doing more work to get the same job done.
If you want speed, then you can't use Swing. Swing is nowhere near as responsive to the user as a AWT or even faster, a native API application. Though it is much faster to develop with then Win32 API. So unless you want your application to be percieved as 'slow' you have to do many tricks that are difficult and hack-like.
Java's strengths are that it's easier to use thanks to GC, an OO api (that is usually extendable) and a large standard API. Some weaknesses are bad memory model, API is too large and abstract (in some places) and lack of support for native extensions. No matter what you say, it sucks that you have to get out a C compiler anytime you want to interface with a part of the system that the Java API designers didn't design in. Another thing that I don't like is that I think that they should do a code audit and get rid of all depreciated methods.
Java has killed itself on the client, not anyone else. Applets were shoehorned into the community of non-developers. Programmers may have made the tools that make the web possiable, but they did not make the web what it is today. Flash is made for tech-artists, those people who don't really want to program, but can get enough done to get what they imagine on the screen. Java never filled that niche, it's a 'real' programming language that can display stuff in a browser.
I use Java every day, and I like it but I know its pitfalls all too well. Having to make up for them is what we Java developers do.
Java on the client was mainly killed by plain old HTML and round-trip processing (CGI, ASP, forms, etc), which proved far superior for quickly and easily building decent, usable UIs, and which downloaded to and rendered on end-user machines much more quickly.
The really stupid thing is that Microsoft was probably Sun's best chance for keeping Java alive on the client. MS had the fastest JVM around for a LONG time, and they had the most bug-free JVM for a long time. (I wrote Java apps for a number of years and had to constantly test on about a dozen JVM/JITs, I even recall the first Sun Java event where Sun people were praising and recommending the Microsoft JVM.)
Microsoft probably could have killed Java, and it's reasonable to assume they thought about it -- although I personally disagree that J++ was an actual attempt to do so (it was a kick-ass environment, and I produced vast amounts of full-compatible code with it) -- but the simple fact is they didn't have to, because Java never really got going on the client. Java lives on in the server-side world as a kind of VB-for-people-who-hate-Microsoft, and that's about it, but MS didn't kill it.
Slashdot quality declines as the number of hot grits posts decreases. - Provolt's Law, Apr-09-2005
It would be absolutely wonderful if a community of developers could create and allow a true standard to flourish. There is one serious flaw with that idea... The community would have no power over the creation of that standard.
What would happen is that the community of developers would be told by their bosses in the corporate infrastructure that they would be implementing everyone based upon what this one vendor providing to them for "free". These community programmers would then be sent to training courses to use this new "Community Driven Standard".
Other developers and companies would begin to see how "Everyone Else" uses that new "Standard" and that they are only able to hire people that know this "Standard". So, they end up using that "Standard" to. Before you know it, the defacto standard is one that gets pushed by this or that vendor.
The only way to set a true standard, unfortunately, is with a standards committee or government intervention. Sure, those two options might not be the best options available. However, as long as there is money to be made in this world, that is going to be the only viable way to create true standard.
-.-
If you ignore the other uses of a tool, does that make the tool less useful, or you less useful?
Christ, if I saw OJ looking in my windows, I'd freak out too!!!
And Swing is still great when you need a quick, thin (logic-wise) UI that's doing something just out of reach of HTML's capabilities. (native widgets or not, speed and look are often just not important)
sic transit gloria mundi
I'm a full-time Java developer... I derive about 75% of my income from Java programming.
And I don't think Java's dead. It's great for some uses, but not so great for others.
One of the places where Java is at a distinct disadvantage is in developing client-side applications. The AWT/Swing classes, as far as GUI development go, are laughable -- pitiful, even. There is no comparison between these and, say, Cocoa on Mac OS X. AWT/Swing are too inelegant, too clumsy, and quite frankly, their elements are butt-ugly when they finally get drawn on your screen.
As for performance: we've been able to get some very good performance out of our server-side apps with some careful programming and judicious use of JNI.
But yeah, if Java is experiencing problems, I'd say that MS is probably not to blame for most of those.
Was it? I seem to remember it ran Java stuff just fine. So what if it compiled and ran J++ stuff too? No one used J++. In any case, it was a crap Java compiler - I always used the Sun one.
Add to that the crap that Sun dished out by saying MS couldn't release newer versions of a Java compiler with IE, and I think you'll find that Sun are probably more responsible for killing it on the desktop. Anyway, it's crap for good stuff anyway, keep it on the phones and internet appliances...
Look at Flash and its success in comparison: Macromedia positioned it as harmless eye candy (so it didn't catch Microsoft's attention), didn't promise much of anything, had great graphics and animation support, and provided great authoring tools. Flash came in under the radar screen and didn't look like like a threat to Microsoft, and it picked a market and stuck to it (eye candy).
Sun could have succeeded with Java: they should have fixed severe technical problems with Java earlier and standardized it through a standards body. Sun should also have focussed on keeping Java small and on the client. Microsoft would likely have supported standard Java and added lots of proprietary libraries--just like what Apple is doing with Java, for example.
Today, Java is still a pretty decent programming environment with a very efficient runtime and capable libraries. I'd still recommend using it for many kinds of commercial applications. Java will likely continue to be a big deal for server side programming. For lightweight clients, Flash will continue to make inroads. For widespread adoption by the open source community, Java missed its window of opportunity for the most part--Sun's policies still don't make it a good platform.
But what Java is today is Sun's responsibility, not Microsoft's or anybody else. Companies like Macromedia and Adobe have shown that you can compete with Microsoft and that you can ship formats and software that cuts into Microsoft's markets. But if a company behaves as stupidly as Sun did, they will fail. And the fact that Sun has so thoroughly failed with their promises towards the open source community and has failed to keep Java suitable for its original purpose also means that I don't have that much sympathy for them.
I just heard some sad news on talk radio - Sun's JVM was found dead in his Florida home this morning. He was 54. There weren't any more details. I'm sure the slashdot community will miss him; even if you're not a fan of his work there's no denying his contributions to crashing browsers. Truly an American icon.
Java is not quite dead, the possibilites of real time Java are endless. ...
oops, time for the garbage collector ...
Trying is the first step towards failure.
If Java was so easy to corrupt and pollute maybe it really sucked and never belonged on the client side anyway? I mean seriously -- one company releases a JVM that's slightly different than Sun's and client side Java poofs out of existance? Sure.
Sun's JRE isn't that great either.. I must use Microsoft's, because Sun's has a number of annoying problems. The main java program I use is mindterm, and Sun's JRE doesn't bind tab. Why? I have no idea.
Java just plainly sucks. As a language it is not much easier than C++, but slow as hell.
I wonder how long it will take until colleges start removing it from required course lists.
Remember Pascal?
...the day a client asked me if it was better than Flash for animations...
Please review the following websites for information regarding the distribution and availability of the Java Virtual Machine. It may help to satisfy client requests to refer them to these URLs as well. The links below are internal and external and refer to the status and availability of the VM client.
Microsoft Technologies for Java (External Site)
Microsoft Technologies for Java (Internal Site) Virtual Machine
Excerpt from Microsoft.COM, retrieved August, 22, 2002 13:28 by William D. Baer
How can I get the Microsoft VM now?
It is most likely that your system already has the Microsoft VM on it if you are running any operating system other than Windows XP. If you have Windows XP and your computers manufacturer did not preinstall the Microsoft VM, or you did not download the Microsoft VM from Windows Update or ?FPRIVATE "TYPE=PICT;ALT=Link to Another Microsoft Site" prior to July 10, your system may not have the Microsoft VM on it. To get the Microsoft VM, you will need to install Windows XP Service Pack 1 from the CD when it becomes available. You must install XP SP1 from the CD, since the Microsoft VM will not be included in the Web download of XP Service Pack 1.
In the event it becomes a necessity to run applets requiring VM technology there has been limited success by alternately guiding clients to Sun.COM where the SUN JRE is available, however Microsoft does not guarantee application compatability with the SUN VM.
For a direct link to the JRE download page see below:
If you have any questions regarding the VM, see the FAQs page at for information regarding Windows XP
(* Yes, applets sucked, and yes they were slow and buggy, but why? Because thanks to MS, browsers never incorporated any updates to the original bug-riddled JVM's. *)
Why should they even include ANYTHING from Sun in the first place?
People upgrade Flash for reasons seemingly outside of MS's control. (sometimes because it nags users for a later version.)
Flash survived MS (so far), Applets didn't. MS is beatable. That sounds like evidence enough.
Table-ized A.I.
As unfashionable as it is on
Did M$ ship IE with a "corrupt" JVM, i'd sure bet they did.
SO WHAT?
Did they intend to kill the Java adoptions and standards momentum?
I'd bet they sure wanted to (and still do).
SO WHAT?
Just as we in the Open Source and FSF communities are free to get up in the evening and work on any project we want, deploy any OS we want, use any app we want and deploy any available technology we can...
so is M$, they are no more obligated to support java than pepsi is to support coca-cola, than lexus is to support mercedes, than toyota is to support nissan
M$ is responsible for its own karma. If the world wants Java and M$ doesn't support it they way the world wants, they will lose market share....
Microsoft (and any other company) is only resposible to their stockholders and customers, if that means killing off a competitive technology, that's the way the game is (and has always been) played. That's the system.
It was Sun's responsiblity to make Java an important, dominating technology, NOT Microsoft.
If you've REALLY followed the Java Saga, Sun has done as much (some would say more) to halt Java adoption/deployment as Microsoft.
If you're a customer, you vote with your wallet.
If you're a developer/technologist you vote with the systems you deploy/develop and recommend.
You want to "beat" Microsoft?
Do it with better software.
Ten quid, she's so easy to blind. And not a word is spoken...
If you can actually back up those accusations, I'll be happy to listen. Name the license, how it was violated and hopefully draw some connection how they killed Netscape, then Java with it, but don't just throw words around without backing them up.
You need a FREE iPod Nano
Look, the notion that middleware is going to magically let you write an app once and run anywhere, results in apps that can only support a lowest-common-denominator of the APIs available on the various platforms. Sure Sun hyped it to the moon, no surprise there, but that doesn't mean it was going to happen. Middleware has *always* had this problem and always will. What happens when Windows comes out with some new feature (USB support say) and then Java doesn't get around to supporting it for a year....all the Java coders are supposed to simply wait a year while native Windows apps use the feature right away? Yeah surrrrre.
- adam
IE5+, Opera, Mozilla, or Netscape 6+ is now a great platform for developing many types of applications. Sure there are incompatibilities but they all generally support a big common set of Javascript, DOM, and CSS that lets you do some awesome things.
The irony of it is that these platforms are using JAVASCRIPT for their language yet are still fast enough in most cases. (Remember the complaints about Java being slow?) All the heavy lifting is done by the browser itself, and that's compiled code.
From a training and learning standpoint, it's a natural progression from HTML and CSS into programming with Javascript and DOM. That's not true for the move to Java.
Well That my freinds is the whole point of the anti-trust act. It recognizes that there is a diffence between a small or competative company and a company with dominant market leverage. And the law says that the rules are different for you and you do have some rules of conduct imposed on you. Yes your liberty as a large entity is restricted for the public good. But of course you are enjoying the fact that your rise to power was enabled by free markets and in return this is what you must not do: Use your market dominance to stifle innovation
the classic example of the latter, is at one point general motors could have made cars that only run on GM gasoline. Of course, they didn't and of course now they would not have the leverage to do so. But that is the nature of the law that protects free markets.
The negative example is APPLE. Sure apple is a closed system. But given their pathetic market share they do not dominate a market sector sufficiently to impose their will on another market sector. Some would argue this by trying to narrowly define a "market sector". And this is exactly what MS has done in court, except they tried to widen the defintion to show they were not dominating a market sector or they tried to widen it to define an OS as encomapssing browsers, VMs etc... Really its not an entirely bad argument for them to make, but that's whay we have courts and that is why it has taken this long to get a decent well considered and appealed decision.
so now we have one and its fair. It imperfectly punishes MS but the crime was vague too. So its a solomonic compromise.
my only regret is that I wish that there was sort of RICO act for this. That is MS has clearly shown that it has made the same nature of violation many many times. I was dissapointed that Penfields decision was not carried out because while the Appeals court was correct in saying the decision was too harsh for the crime at hand, it ignored the preponderance and repetion of minor violations that was ingrained in this comapny and required a structural remedy not a penalty.
After all, their head techie's career was based on "vi".
Statements like "Java on the client is dead" are just false, because that statement means that Java as a client-side technical solution is dead, which is not true. Yes, Java is not the language of choice for writing a web browser or a word-processor, but Java is an _excellent_ language for client-side business applications. It is far superior to VB, Delphi and PowerBuilder (especially when you couple it with J2EE), and that is where client-side Java fits.
http://www.naildrivin5.com/davec
MS Should roll a few billion into a controlling share of Sun (after all it's under $4 per share on the market right now) and just put in their own management.
Then MS could, with a clear conscience, put the reference standard of Java in IE/Windows. Problem solved.
Don't feel bad, my mother took Latin in highschool instead of typing.
Do daemons dream of electric sleep()?
Why should I listen to you when 98% of the readers on /. thing your stupid?
So Sun made them stop putting Java in IE because of the way they were basterdizing it. Now they want to make them put it back in again? So they can go back to business as usual and do what they can to destroy it again? What Sun shold be doing is pursuing real legal remedies against these bastards, not playing little games where M$ will leverage their monopoly to destroy others in clearly illegal ways no matter if they put Java in or pull it out.
I'm an American. I love this country and the freedoms that we used to have.
Because that platform sucks, and strategic incompatibility is being used to exert an unethical degree of control over customers and destroy the software market. How else can we fix the problem besides making most software cross-platform?
Java is not that great that it is not capable of improvement. Sun crippled Java so that it would only work within the area that suited their business objective. Microsoft removed the restriction. Sun then tried to force Microsoft to observe their restrictions by introducing stricter conformance criteria in their next release, Microsoft declined to upgrade.
The initial article is not only insulting by comparing Microsoft's actions to murder, it is also wrong as a matter of fact. The Java case was settled out of court. The anti-trust case did not consider Microsoft extensions to Java.
The only reason why Java was taken out of the browser was the legal action by Sun. If that killed java then sun killed java.
Furthermore the people who claim that C# is unnecessary because we already have java should not also complain that Microsoft tried to modify Java. What Microsoft has made clear they want is an object oriented language that is similar to C, simpler than C++ and open to development. Sun has made it abundantly clear that Java does not meet the third criteria. Therfore Java does not meet the criteria defined by Microsoft, do not complain if they propose something else.
Java was not a novel language. The only novel thought at the time was the idea that anything might displace C++ from the position it had established.
Looking for an Information Security student project suggestion?
Try http://dotcrimeManifesto.com/
If your OJ language became popular, people would say "OJ killed Java"!
As with many things from Sun that have had trouble flying, the sometimes serious external attacks on their technologies have allowed them to ignore the serious internal "attacks" (or at least misapplications/poor management). I don't need to describe the external attacks, since you're probably already a either hardened believer or non-believer in the illegality of what MS did. But consider this for a moment, did Sun's well intented handling of Java actually hinder it more? My reason for saying this is that they still hold to two separate cross-platform doctrines that should have been decoupled a long time ago:
Consider this: in the time Java has been available to the public, has there really been any serious development on a modern compiled language with one solid, standardized API across all-platforms? I can't think of any (or at least any that have caught on). Apple started down this road with Cocoa, but gave up on anything but their own platform.
In the end, two of the biggest losers due to that second doctrine has been Linux and the Mac. In order to get a vendor of an existing Windows app to produce a native Linux or Mac app, you have to convince them that it's worthwhile to branch off an almost complete re-write of their app to port it over. Imagine if there was a really usable language that they could code in, that wouldn't hinder their abilities and/or speed on Windows, but required little more than a cross-compile to target to Linux, Mac, Solaris, etc. We'd be up to our eyeballs in good apps on all platforms.
"There is a thin line between ignorance and arrogance, and only I have managed to erase that line." - Dr. Science
The difference is that Microsoft has repeatedly exerted control over what OEM vendors can bundle with Windows to the detriment of its chief competitors.
99% of people don't get their Windows from Microsoft, they get it from resellers. Resellers who should have the right to build systems as it suits them, as it suits their customers-- and without anti-competitive Microsoft meddling.
Further to the point, Microsoft claims IE is an integral part of it's operating system and that critical features of Windows depend on IE. If this is so, why was it shipping a crippled version of java with it then?
Everyone's objection with Microsoft is about what Microsoft did to ultimately control how Windows was used-- thats is what is pissing most people off.
It's about a monopoly playing dirty to protect its monopoly.
Do not spread "09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0" over the internet, thank you.
Seriously, MS made (while they were supporting it) one of the better implementations of a JVM out there. Sure, they had extensions on it to make it useful to more people, but you didn't have to use them! So Sun starts bitching about how it's not compliant. MS goes and takes their toys and goes home. WTF does Sun do? They sue MS to support it again.
This is all sour grapes. Sun's just ticked cause their stock is sitting at around 3+3/4.
Did it ever occur to anyone that if Sun had their way they would be doing exactly what MS is doing now? They are just a wanna-be monopolist.
And you're right. It's sound business strategy to kill off my competition... If I were in the mob ;) But then if I remember right(!), all this monopoly crap was still just a glimmer in the Supreme Court's eye at the time these events were taking place.
You need a FREE iPod Nano
Not true. CEOs do strategic planning.
There are reasons why democracy does not work nearly as well as capitalism.
-- David D. Friedman
To Microsoft: "Take it out! No wait.. put it in"
To ISO: "Here you go! No wait... give it back"
Bah! You don't like it? phuck off and use something else. If Sun allowed Java to be stadardized we could blame Microsoft. But since they reneged, it is their own damn fault.Goes to shelf and removes official printed copy of "Conclusions of Law and Order" USA v. Microsoft Corporation as published by the US printing office.
Page 9 "Microsoft's campaign succeeded in preventing - for several years, and perhaps permanently - Navigator and Java from fulfilling their potential to open the market for Intel-compatible PC operating systems to competition on the merits."
Page 18 - "Combating the Java Threat" This goes on for approx 2 full pages
There may be more, just download the full document and have a look.
HMM, Really? Which District Court? Maybe you provide
Give us the citation, please?
"... and that court's findings were upheld and clarified by the US Court of Appeals.
Ditto, missed that one, too. How about that citation as well?
"... Nonetheless, Microsoft has continued to benefit from having used its monopoly power illegally to suppress the emerging success of Java."
Maybe you could also tell us all WHY you think M$ is responsible for helping Java succeed?
So using your implied standards, Sun, HP, IBM et al have a responsibilty to help an emerging technology, say
HMMM, that's a novel definition of business competition "You MUST support your competions' emerging products". No wonder you posted AC. Silly Troll.
Ten quid, she's so easy to blind. And not a word is spoken...
He was quoting the article, not trolling.
Dumbass.
It's amazing that you attempt to put down an AC with your overwhelming knowledge, but it's clear that YOU DIDN'T EVEN READ THE ARTICLE!!!!
If you had read the article, you would have known this was the first page.
Just for novelty value, perhaps you could try reading the article before commenting. Then you wouldn't look quite so foolish when you respond to someone quoting the entire article.
++ Say to Elrond "Hello.".
Elrond says "No.". Elrond gives you some lunch.
True, but the world would be a better place if it was simpler to deploy a Java rich-client.
Of course, Sun's focus at JavaOne this year was the future of Java on the handheld. If that's the case, it's also a future of me using C#(pound).
Here is the list of Sun filings. You may believe this link is biased, but its what I found to be the most complete without searching for days. (AFAICT) The specific license(s) MS violated are the Technology Distribution License Agreement (TDLA) and the Trademark License Agreement (TLA).
In a nutshell, the main violations were with removing required functionality. Specifically, MS decided not to implement JNI (in favor of J/Direct). Others are likely listed in the filings, I just haven't gone through them all.
The issue is not that MS added something, but that they intentionally replaced required functionality with their own. HP has a JVM that includes things specific to HP-UX, but they still played nice and kept the required functionality. MS decided to violate their contractual agreements, and make an incompatible JVM that they claimed was "full compliant" with the licensing term.
This isn't just a case of someone (here it was MS) deciding to "be different", but of "breach-of-contract".
The FTC began investigating Microsoft's marketing practices in 1990. M$ averted the first threat of anti-trust litigation by signing a consent decree regarding bundling in 1994. Java's first release was, what, 1995?
illegitimii non ingravare
I have yet to run any Java applet in IE 4,5,6 or Netscape 4.x or Mozilla that DOES NOT crash my browser upon leaving the applet page on Windows NT 4.0 or Windows 2000. This is not a flame it is the truth. Shockwave/Flash always performs flawlessly and without disruption to websurfing. Flash killed Java applets.
That helps a lot. Still, Sun got their $20 million. Looks like they should have also tried to bind Microsoft to the agreement and not just settle for the money.
You need a FREE iPod Nano
I guess this crap has been dragging out a while... Didn't seem like thtat long ago we were still using casrs with wheels on them...
You need a FREE iPod Nano
I was just asking you to provide me with some facts and you did. Don't worry about it ^__^
You need a FREE iPod Nano
Lastly, Java is far from dead, rocket surgeon. To extend your inane comparison, it's like Michael Skakel being found guilty after the victim walks into the court and says "Hey, uhh, I'm not dead!".
Or even better, if they sentenced him, and, say in a year, she walked in and said that. Then the court drags him out of his cell and sentences him to another 20 years for killing her. Microsoft and Sun already settled this case. Sun just found a new angle from which to attack it after they realized that the settlement wasn't quite what they were looking for (Microsoft says, 'ok, we can't ship our Java, we'll not ship any Java'; Sun says, 'shit, thats worse than them shipping their own Java').
-PainKilleR-[CE]
is going down the tubes because inexpensive and OPEN Linux boxes are eating their breakfast lunch and dinner. All this Java shit is just a smokescreen to confuse the investors that Sun does not have a viable long term business plan and has never ever profitted from Java. Anyone want to buy an overpriced 2 year old 4 way 4500?
I think ActiveState should file a lawsuit to force MS to ship a PERL runtime with windows under this same argument. Where does it stop? TCL? Python?
If you want it, download and install it.
it's not going to stop until you wise up, no it's not going to stop. so just give up.
> Microsoft Corp has until only October 4 to
> respond to Sun Microsystems' request for a
> federal court injunction requiring Microsoft
> to integrate Java into Windows.
They DON'T want the browser integrated, but they want to FORCE MSFT to integrate Java?!?!?! This is just stupid.
Microsoft didn't kill anything. Why in God's name do you need cross-platform compatibility when 98% of the client world runs on the same platform?!
"Your Honor, my client didn't kill anyone. Why, she would have died of old age eventually anyway!"
-- Alastair
Bodrius wrote:
.EXE (requiring the MSJVM). And anyone with IE 4 would be able to run it.
.NET/C++). Java might have been a nice language, but the APIs really needed to mature faster and not break things with 1.0 and 1.1. When Sun sued MS to remove Java products, it got what it deserved. Sun attempting to sue MS to add Java to windows is ludicrous. Sun lost market share because they spat in the faces of developers like me who had a legacy with their product. I haven't experienced that with MS.
If I code an Applet using standard Java and it runs on every JVM except MS, MS Java is crippled. And that's the situation that prompted Sun's conflict with MS.
My response:
I was an early adopter, and Java zealot for the first 5 years of Java. I wrote applets and apps with Java using the 1.0 and 1.1 APIs. If you recall history, Microsoft had the best implementation of Java before Java 1.2, when Sun changed the rules, and expected Microsoft to follow.
I was quite upset by the sudden changes in the Java platform. Swing's perf was entirely unacceptable. There were name conflicts like List added to java.util when List was in java.awt.
Microsoft did not adopt the 1.2 JDK, and added stuff so that applet writers could write applets that tightly integrated with applications on Windows. Even though Java was a great language, the Java Platform version 1.2 really turned me off. I had a few other reasons.
1) In order to use the latest advances in the JDK, I now had to require that someone to setup Sun's JRE, which was a HUGE (I think 20MB+) download (Broadband wasn't there).
2) Microsoft's JVM would actually let me distribute my app as a
3) I tested the perf of one of my applications (a ray tracer) on Windows (500MHz P3) and on Sun's latest and greatest JVM with perf features. MS: 4 seconds. Sun: 20 seconds.
4) I was already used to writing with the AWT. It felt like home. I could write the 1.0 style for applets and they'd run on IE and NS. I could write the 1.1 style, and they'd run on MS. I didn't use the MS extensions, but I was leaning towards it for doing things like accessing the Windows Music and Sound APIs. Java had shit for people who wanted to write music composition software.
5) Visual J++. It had a debugger. It wasn't written in Java so it ran fast. It didn't support JDK 1.2 (I dropped JDK 1.2 the moment it wouldn't compile an app of mine). It was the best development environment for Java bar none. And it sped up my Java program development by a factor of 5. Especially the debugging.
I now write for Windows in C++ using Visual Studio (in a few years I might evaluate C#, but VS 6/C++ works a hell of a lot better than VS
That and Sun sued MS. Sun won. Sun got what they paid for. Too bad. The dot com's went bust. The industry is down. Sun's struggling to survive. That's the way I see it.
In court, when Sun was whining that MS screwed them over with it's own Java, MS proved (and the Sun engineers agreed) that the MS Virtual Machine was actually closer to Sun's written standard than the Sun VM. Go figure. Personally, after programming in over a dozen languages for more than 20 years, I wish Java would just go away. It's bloated, slow, ugly, and unstable.
they sure make it hard for you to view websites or utilize apps with it if you have Windows XP.
I think with the interesting people, their lives can't possibly be wrapped up into a nice little package.
using it on your servers. They're not going to get a court order to force you to continue to USE Windows 2000 for the two remaining years. You're free to install Novell, or Linux, or FreeBSD or whatever you want on your servers, and Microsoft can't do thing one about it.
Sun gave Microsoft an Ultimatum. Ship a compliant JVM, or don't ship a JVM at all. Contraty to what Sun was expecting, Microsoft said fine, we won't ship a JVM.
Now Sun is taking them to court to try and FORCE them to include a JVM. That's just a little fucked up.
Can someone please explain to me why it is that they feel that Java must be incorporated into Windows? I they are waaaaay overstepping their bounds here.
File under 'M' for 'Manic ranting'
That still doesn't prove me wrong. Its the article then, and shoddy research. Have YOU read the 300+ page report a dozen times? I don't think so. So until you read the 300+ page report a dozen times, like me, and absorb all its interesting details, also like me, I'd like you to please keep quiet on the subject. Posted AC because my karma doesn't need to suffer from the likes of you ignorant bastards.
The only value Java has is as a consistent, cross-platform API.
The value of this should not be underestimated, and it is exactly this which Microsoft attacked when they modified the API as distributed by them, and still called it Java.
I was among the first to hack my Netscape to change the "Starting Java..." message to a "Slowing down...." message.
IMO, interpreted Java sucks, and if that were the value proposition for the language, there'd be no question that a rehash of the UCSD P-system was in fact valueless.
But the value proposition that arises from treating Java as a cross-patform API id musch, much harder to dismiss. And yes, any cross-platform API inevitably threatens OS monopolies, so it's understanding that Microsoft would be fearful. But it doesn't excuse illegality.
-- Terry
Ms should tell sun "OK if we are going to be forced to put Java in our product then you have to put Windows on all your boxen".
Some moderator marked this as 'Redundant', but the poster has a very valid point.
Kindness is the language which the deaf can hear and the blind can see. - Mark Twain
The applications I spent most of my time in and which I like best are:
- Eclipse (fully Java, SWT GUI)
- Mozilla (can run Java with Plugin)
- TogetherJ (fully Java, Swing GUI).
So for me, at least, Java is doing just fine on the client, tank you.
Stupidity is mis-underestimated.
I've desparately tried not to respond to this thread, but I feel I must.
...HTML). 5 years ago, even us die-hards would cringe at a Java GUI app. But a great deal has changed in 5 years. Java has cut it's teeth on the server, to become a major force in enterprise, server-side development.
;) ).I think Java on the desktop would have met the same fate even with no MS...MS just helped it along (shoot a dying man, your still guilty of murder).
Rick Ross may be the founder of the Java Lobby, but he does not represent all Java Developers and supporters. I find comparing Java's difficultites on the desktop to the murder of a 14-year-old girl despicable, and not worthy of any further comment.
Java has difficulties on the desktop. Not all clients, just the regular desktop (JSP, Struts, Velocity etc are great examples of serverside java making good client code in
Despite what some nay-sayers have said, Swing is much better. One can write good, cross-platform GUI's with it*. Check out, JBuilder, the latest Netbeans, Together Control Centre an many more here.(AWT was bad, Swing was better. But as good as Java is, bad programmers still write bad code.)
Client dcevelopment was a bust in 1995-98. Not any more.
We now have the advantage of the Hotspot VMs, redesigned IO (both nio and Image IO). J2ME Midlets are pretty good little GUIs for limited devices. Redesign in the Java 2D and 3D libraries as well as Swing has helped too.
I think Java could NOW become a feasable platform for desktop GUI development.
Did MS purposely design it's VM to bring about the downfall of Java? The courts seem to think so. 5 years ago there was pretty much only GUI development with Java, so that's where MS attacked. It drove Java to the serverside where it flourished (Thanks MS
Now revitalized, I beleive it's ready to come back to the desktop. (Does any of this sound familiar, Gnome/KDE hackers?)
Rick Ross, stop causing sh*t and let us get on with making good Java software, on both the client and the server, and leave the FUD to MS.
The way to beat MS is not (just) in court, but in rock solid software. Enough blubbering, more coding...
*Note: I've heard a great deal about it here, but in 5 years, I have never run into any portablitiy issues with Java, when written to spec)
Never by hatred has hatred been appeased, only by kindness - the Buddha
How about SUNW being blamed for its own mistakes, for over-promising on the Java platform 5 years ago when the world was not ready for it and then under-delivering on its promises ?
I think my message will be lost in this discussion, but I cry out to bring attention to SWT.
Java client is not dead, yes, AWT and Swing suck, and decent application can not be written in this monstrosity of a GUI platform. What disappoints me is that Slashdot community in general does not know about SWT, which is IBM's GUI that is using native interfaces. It is very responsive and goes head to head with MVC plus all standard Java goodies.
Please post below your personal experience with SWT so we could notice something worth noticing. I strongly believe SWT will save Java on the client side!!!
http://dtum.livejournal.com
Why did the World Cup soccer use an applet? For really busy site, with frequent updates there is no alternative! Forget banners and animation, but think of real world applications.
Pascal, being as dead in its pure form as a language can be, was bound to be replaced by some OO language.
Then why not object-oriented Pascal?
Will I retire or break 10K?
But having written a large app in Foo, does prove that it can be done in Foo. Which I think is the point. Has anyone ever written a large scale DB in Perl? I dunno, but until someone does, it's unproven. Looking at what other people have done and how hard it was for them to implement it gives you an idea of what toolset to use when creating something new. (Or just reimplementing something)
What I think is really needed is an HTTP-friendly "remote GUI" protocol for writing client-side GUI's.
We have it. It's called SWF. However, it's primarily designed for graphical GUIs, not the character-cell GUIs preferred by blind people and shell users.
Will I retire or break 10K?
..and Rick should know that. Heck, it's currently only getting a 1.25 out of a possible 3 by readers on the site. It's not looked on favorably.
I've communicated with Rick in the past and asked that he not publish inflammatory statements like this because they do not build up the Java community. In fact, it makes him and everyone he associates with sound like a bunch of complainers. He seems intent on beating the justice drum until everyone forgets what the heck they need to do now to solve the current issues facing Java developers. His diatribes don't help the legal case along in the least anyway; what is he hoping to accomplish?
FWIW - I feel that any Java developer would be spending their time much more wisely pursuing certification through Sun or IBM or working on an OS Java server solution like JBoss. I don't see how associating yourself with JavaLobby would help build up your career (unless you're just trolling for news).
It's too bad. He could actually lead the Java development community to an extent.
Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
A lot of people responded to you already, but I will try and answer your quesiton.
You wonder why anyone needs Java on the client when 98% of the world runs windows. I would answer that with another question. What percentage run Windows 95? 98? 98SE? ME? NT 3.5? NT 3.51? NT 4.0? NT 4.0SP6? 2000? XP? I know win32 programs that won't work with half of the above mentioned.
Wouldn't it be nice to have a program work well with all of them? Also to have it so it did run on the other 2%?
I as a developer would love that. I personally don't care what Microsoft does or doesn't do with Java, it works well on the client. It has been a pain deploying Java apps, but that has gotten a lot better.
The more I learn about science, the more my faith in God increases.
'Nuff said. See my other post on this Johnny.
Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
Even though MS willingly and knowingly dealt a blow to Java by shipping an incompatible JVM for almost five years now, it is really SUN that killed Java.
Java is a technology that could be useful to endusers. They only need to be convinced of it. There's two techniques for doing so: provide compelling applications that users want to run and marketing.
Despite the fact that applets have been around since late 1995 it is very hard to find useful ones. It is even harder to find applets based on java 1.2.2. Why would an enduser bother to download a JVM if there are not nice applets to run on them? Because of SUN's inability to provide end users with a compelling reason to update their JVMs, users stopped caring about Java.
Marketing is SUNs second problem. Only recently they have made an attempt to make their download site more userfriendly (even some developers got lost on it). Basically java.sun.com has always been a developers site. Despite all the hype coming from SUN, for years their primary Java site has been a mess and they have failed to offer compelling examples of Java applets and applications.
History is repeating itself with webstart. Webstart is a pretty cool piece of technology that allows you to download, install and launch applications by clicking on a link. All you need is java 1.4.0 and it will work. Sun is sitting back and waiting for people to start using it.
If you install jdk1.4.0 there's a total of four webstart links preprogrammed. None of them are likely to impress an enduser. Compelling webstart examples are totally lacking. There's a few very stupid games, some demos and a lot of tools for developers. However, there's no killer application compelling enough that end users download and install jre1.4.0.
Jre1.4.0 has support for fullscreen graphics. So, where's the applications that use this feature? I haven't encountered a single fullscreen application since I installed jdk1.4.0 five months ago.
Jilles
YHBT. YHL. HAND.
Your argument is the very same defense MS used in its recent anti-trust lawsuit. It didn't hold water with trained jurists anymore than yours holds water with the common man.
It was easy enough, but why install a differnt (VM/Browser) when the one we already have works. "Java sucks, I have already seen that." is why no one wanted it.
Why did everyone think like that? Because MS put out the purposfully rotten VM.
Not to mention that the people would have had to install a different browser, which the courts have specifically shown was anti-competitive, to use a different VM. You can't put a different VM in IE.
About three years ago I finished up a large Swing app to be used inetrnally by the company. After some profiling and tweaking, it was pretty responsive running on a P450 with just 32MB of RAM (The minimum spec for machines it would run on). That was just after jdk 1.2 came out.
Swing was great to work with as it was VERY extensible. We had all sorts of custom comboboxes and tables and form entry fields. The app worked really well and the users loved it.
When people try to tell me Java or Swing is not good enough for user facing applications, I have to think they haven't really tried.
On the widgets, Sun DID try native widgets, that's what AWT is!!! To me SWT looks a lot like a spruced up AWT. I'll admit I've not seen Eclipse in action, and I still think the tools to develop Swing apps are not great (though I've evaluated very few of those for a while since I too am mostly into server side programming). All of our Swing work before was done by hand which is very easy to do when you have a good framework.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
MS just did something that's about to revive Java. ...funny thing is it does this even with the latest service pack installed a lot of the time.
...now if only I could get Yahoo to listen to me when I tell them their "java" chat program in the YahooGroups site needs to be fixed because it tells me I need MS JVM to run it.
Something in the last set of service packs and hot fixes in the last month or so has made it so that people are starting to get install on demand windows pop up asking to install MS JVM, but when it downloads it pops up saying that version of the JVM is not compatible with your windows version and you need to get the latest service pack
My solution: go to java.sun.com, download it from there. My customers are quite happy with this.
This proves that MS and BILL Gates moto is if you can beat em then lets make sure they can run em in windows. Windows is such a low grade OS it has memory, security leak nite mare . MS should be banned from using, we are seeing the Mother of ENRON & WORLDCOM which will soon crumble.
Ross' sensationalism looses point of the real issue. Microsoft was found guilty of contractual breach and anticompetitive practices and was never made accountable.
On the other hand, Java on the client is alive and well. Most of the arguments about Java killing itself are bunk. This year I have worked on two enterprise applications that use a few well placed applets to do complex UI tasks. Its about right tools for the right job. Anyone that tried to do a full blown application as an applet is doomed. Java was never designed to be a number cruncher or a flash. Java killed PowerBuilder...
When I was at Microsoft in 98, no teams were working on or with Java. The argument, from the team I was involved with anyway, was that ActiveX is the best way to go for high performance windows components that can do anything. Who cares about a sandbox when you can sign. Who cares about cross platform - thats someone elses problem.
But this brings about another issue. Microsoft only brought out a Windows JVM because clients wanted it. Netscape was still a contender back then. Microsoft only stuck bucks into NET because clients wanted it. They wanted it because J2EE is here to stay, and Microsoft had no working alternative.
/\/\icro/\/\uncher
While MS definitely tried to pollute Java and split the Java community, they are not solely to blame for Java's lack of mainstream acceptance.
I believe Netscape's slow loading time and poor performance had a lot to do with it. Back in the days of Netscape 4, I watched a lot of non-techie people groan when seeing the "Starting Java..." message appear at the bottom of their browser. It meant a guaranteed wait of over 30 seconds, during which they could do nothing at all (not even click on another page). Netscape 3 was worse: there was no message, so the browser would just freeze and the user wouldn't know why!
When the Java applets eventually appeared on the page, users learned that Java equals a long wait. After suffering through this a few times, users came to dread Java pages. Note that all of this was on Netscape, before Microsoft's MSIE became prominent! The uselessness of many Java applets, many just simple animations to draw attention, also turned many people away: "I waited all that time, just for this silly animation?" Flash has replaced Java for these things, to the relief of many users.
So don't just have the kneejerk reaction of blaming Microsoft.... I firmly believe this poor implementation from Netscape is what originally caused Java's downfall.
Dr. Demento On The 'Net!
Much like the baseball players VS. owners, Microsoft VS. Sun is a result of 2 parties both playing dirty. However, I agree that if Sun had ever bothered to come out with a presentation layer that did not flow like cold syrup across my screen they could have really helped themselves. The world was (and still is) ready for a GUI that is "write once, run anywhere", just not "write once, tweak for quirks, and then crawl in most places".
(+1 Funny) only if I laugh out loud.
There are plenty of good sites using Java applets. They can work around the relatively minor incompatabilities. (They're much smaller than the differences between the different versions of DHTML or Javascript.)
Try out Flyzone's coverage of baseball. It's quite cool.
If you ask me, Flash started beating Java because it does better anti-aliasing. No doubt about.
sun doing client side software ????
yeah right they just didnt understand it they came at it from a "Enterprise" view
they did not understand that you have to be able to code games (graphics) in it before someone will pick it up
OR
be so easy and click and drag that people use it ala Visual Basic
now sun have tried both of these approachs late on and they failed
SWING is not to bad now only thanks to 2GHz client side machines
the basic Java core is right its the surounding libs that suck so much
SUN are earning money of Java as postioning it for Mobile phones and STB's where it should have gone anyway
what we need is an open classpath (pun I know) and a gcc that can compile it (which people are doing) so its looking good for java and open source
frankly SUN should submit the large bulked up version to EMACA and keep the emmbeded versions and swing and JDBC for itself and save a hell of a alot by not haveing to fund all of this via a profit makeing comapny instead have a java Foundation which is Non profit
god why is this so hard for scott and co to do
regards
John Jones
I think they just wanted to be able to make it into something that they would find more useful. Okay, they tried to 'embrace and extend' it, but I don't think that was a deliberate attempt to prevent interoperability with other systems - more just that they saw it useful and didn't really give a shit about the interoperbility.
.net + C#.
When Sun sued Microsoft, they were suddenly in a position where they really wanted a Java-like technology, without someone else telling them what they could and couldn't do with it. Naturally, they dropped Java in favour of their own technology,
If Java hadn't sued Microsoft - sure, they would have put a whole load of MS-specific stuff in there, but it would probably dominate the Desktop by now. Sure, there'd be a lof of Java stuff that only works on MS boxes, but it'd probably still be quite easy to develop cross-platform if you wanted to.
Java is worthless for the windows platform. Nothing in java makes any use of windows, which is why it was eventually canned. The CLR on the other hand does support everything in windows and works great.
Get over it people, Java didn't make it, look forward, learn from the misstakes.
Seriously. In all the time that Java has been out there I have yet to see a stable fast Java app. Every single one I've ever seen is slow and about 90% of them make Windows 95 look stable. Seriously I'm not kidding and it's not like I've only seen a few apps. I've seen plenty from major corporations too.
I'm no developer so I don't know if it's something inherent to Java or if I've just experience a huge rash of pathetic apps. Can somebody tell me for sure?
Odd, I find using C++ (which I used years before I started Java programming) to be rather like typing with both Hands behind my back and my brain under a steamroller, along with a sumo wrestler sitting on my chest singing the theme song from "Friends".
On the other hand, I find using Lisp like having an extra hand and a 40% expanded cranial capacity.
I find C like having a bad nervous twitch but otherwise unimpared - though I can hear the "Friends" song somewhere in the distance through an open window.
I find Objective C like being 16 driving a fine car and eating a herseys chocolate bar with almonds. And a sumo wrestler in the back seat.
I totally agree with your last statement though - languages live and die but what is eventually produced with them!!! Even Microsoft does not have the power to kill a language, only to seduce programmers with supposedly powerful tools.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
... it's just resting. *prod* Look, there, I saw it move!
...that will mark the end of the dot-com bubble.
My guess is that Sun's mis-management of Java will be studied in business schools for years to come. The moronic notion of launching lawsuits to beat the competition is also worthy of discussion. (Think RIAA here, too.)
I still don't buy the Softee is a monopoly argument, either. I can switch drives in a minute and have a completely non-'Soft machine, and I always used the free version of Netscape. Standard Oil... Now that was monopoly! Guess they don't make 'em like they used to.
Imagine how much harder physics would be if electrons had feelings! -Feynman, maybe
Well Said Kaykay
On the client anyway. It's no better now than it was 5 years ago when Microsoft alledgedly killed it.
I'm the decider.
"I know win32 programs that won't work with half of the above mentioned. "
Oh really?? Take a guess, what percentage of ALL Win32 apps out there "won't work with half of the above mentioned" ?? And you think Java is the solution to this supposed "problem"?
Save Maine's economy: write stuff down. All comments are exclusively my own, not my employer.
Compare developing a GUI app with C# or Visual Basic to creating a GUI app with the tools available for Java.
Microsoft's IDEs are much more mature and, IMO, friendlier to use.
they are no more obligated to support java than pepsi is to support coca-cola
Ok, point taken. However, MS owns the desktop. As a monopolist they are obligated to make sure that software runs on their system. You're simply not allowed to take actions to kill applications that run on your platform when you own a monopoly.
Remember "DOS isn't done until Lotus won't run"? They've always done that and they are still doing it. That's why the government needs to step in and do something.
That which does not kill me only makes me whinier
That doesn't even make any sense. You could argue that a JVM style system is best for server applications, but then what's the point of .net?
:). But you could still write your own stuff.
You could argue that Java's GUI APIs suck, and you might have a point
autopr0n is like, down and stuff.
Actually, I think Netscape did more harm to java in the early days then Microsoft's. I actually read one of the affidavits in the case by a technical expert, who outlined the incompatibilities. They were tiny. *TINY*. And yet, Netscape was still shipping only the java 1.0 API. People couldn't write code for the newer, more robust 1.1 API and have it work with Netscape. They could write the code to work in IE, however. And if they avoided Microsoft documentation that might mix the incompatible stuff with the regular stuff they would have been fine.
Did MS purposely taint the API: almost certainly, there was no reason for them to put their functions and code in the Java.* packages. Did it really matter: not as much as Netscape sticking with 1.0.
Microsoft might have made stuff worse over time, but who knows. But anyway, microsoft probably wanted to kill Java and in a way, they succeded.
autopr0n is like, down and stuff.
Java's Dead? Dang. I was gonna learn Java, too. Then I was gonna learn C#. Then I was gonna start me up a dot.com... Poo.
Java is no match for Macromedia Flash in terms of ease of use. Java has steep learning curve while Flash takes a few hours to learn. Java uses static images for effects while Flash is a vector based program that makes animations
and layered content easy create.
English is the Lingua Franca of the Web
If by "web" you mean "english speaking web". The english speaking web is what most of what english speaking people see when they get online. Most people actualy surf the web in their native language (unless they live in germany or sweeden where everyone speaks perfict english, I would guess).
If you look at Alexia's top websites, you'll see that like half of them are actualy korean.
autopr0n is like, down and stuff.
What IDE do you use? The only one I've come across that I think comes close to Eclipse is IDEA. Since Eclipse is free, it's at least worth a look. The refactoring support in release 2.0 is very nice. Download here. And anyway, it might make you realize how bad Swing really is. ;oP
Languages come and go in this biz. C-derivatives have had a rare lasting power, but even that is not guarenteed. Nothing is guarenteed WRT programming languages. Some paradigm or language may pop into existence and wipe everything else off the face of the IT planet. (That does not necessarily mean it would be better, but not being better never stopped a lot of things in IT.)
(That fscken C-based semi-colon has gotta die *someday*. I never hated a peice of puncuation more in my life. Die semicolon, die die die diiiieeee!!!!. I had to get that out of me. The break statement for switch/case is also an anacronism.)
LISP is another language with rare "underground" lasting power. However, jobs for it are not exactly popping out of the woodwork.
Too bad we could not all make our *own* language and be paid to use it. I want to use a language that fits my head, not L.Wall's, not Sun's, not Gate's, etc.
Table-ized A.I.
If you write a java applet using the standard java 1.1 API (M$ stopped work on keep up with the standard once they got sued, for obvious reasons) it'll run on MS's implementation.
If you write to MS's specs, it won't work on othe JVMs, however.
autopr0n is like, down and stuff.
Dead? Now I will never find a replacement for my Java toaster and Java blow-dryer.
Table-ized A.I.
Name 10 open source applications that can be bought at the store.
HAH OPEN SOURCE IS DEAD!
autopr0n is like, down and stuff.
I personally wouldnt consider Java on the client side dead per se. Until JDK 1.3.1 I would have said it but now the situation is completely different.
Java on the client side IMHO is revived, not for the average joe user, but for lots of other people.
What happened:
Java on the client was killed by an early hype+ Microsoft + lots mistakes made by Sun.
a) The AWT although fast, simply was awful
b) Swing until recently coulndt be considered to be performant
c) Java still uses lots of memory due to Hotspot but this has become less and less an issue nowadays
So what happened in 1.4 that I would consider Client Side java a good option:
a) The Core VM and JDK has matured extremely since the early 1.1.x hype days
b) Swing finally thanks to rerouting to native drawing routines in Windows at least on windows has become almost as fast as a native widget set. You still dont get a native L&F but who cares, every second app has a skin, and Swing is skinnable by default
The problem still persists on Linux but with a little bit of proper programming you can achieve speed there too.
And btw... Swing apps tend to speed up over time, give a swing app at the first run about 2-3 minutes and you will see a speed increas of 2x-3x thanks to hotspot, at the next startups speed already is there at startup.
If MS responds to being "forced" to put java back in the OS, we might wind up w/some broken MS implementation or some horribly out-of-date Sun implementation.
In this day and age, with vendors slinging CDs around like there's no tomorrow, I'd be willing to bet a user who wanted it could easily get it (up-to-date and all) from a CD sitting under his coffee cop.
Java for Joe Sixpack at home is probably never going to fly, but I bet it'll do just fine for Joe Intranetuser.
Or something.
You can buy the autopr0n.com pr0n viewer App* from me for the low, low price of US$10,000. It comes with 113,590 porographic .jpg files.
(*requires M$ access)
But seriously, lots of custom software is written in java every day. Also, lots windows programs are actualy written in java with JNI and lots of wrapping.
autopr0n is like, down and stuff.
According to repeated surveys of job adverts over the last 3 years Java is the 2nd most popular programming language after C++ and occasionally it has ranked above C++. Visual Basic generally ranks as 3rd most popular language in these surveys. I run a web site aimed at Java Programmer Certification (http://www.jchq.net) and it gets many tens of thousands of page requests per week. Reports of the death of Java have been somewhat exaggerated.
Java never had serious incompatability problems on the client side - Java's windowing toolkit AWT did. AWT was not written in Java. It was a huge (relative to Java) chunk of C code that stuffered from all of the incompatabilities and portability problems that C programs do in addition to the uncharted territory of trying to provide a cross platform GUI environment using native widgets.
The Java VM is, of course, a C program - but it is a tiny one. Almost all of the core Java libraries are written in Java itself, leveraging only very low level facilities. (Crypto is done in java, DNS is done in Java, etc.)
Swing, Java's pure Java GUI toolkit, is arguably the most modern, powerful , and portable GUI environment that exists right now. It is portable because it relies on only low level AWT facilities (simpe graphics areas and basic input) and then builds on top of that in pure Java.
At the time java was to first ship with Netscape, Sun had a pure Java version of the AWT toolkit. But Netscape apparently convinced them that native look and feel was more important than cross platform implementation. AWT - the buggy, non-portable, GUI C code - was thus hung around Java's neck.
If we'd had a pure Java GUI relying only on simple graphics primitives we could have build arbitrary interfaces that worked - cross platform - from the beginning. They would have been slow at first, and then rapidly gotten better (as Swing has).
Netscape set Java up and Microsoft knocked it down for a while at least...
-- Pat Niemeyer,
Author of Learning Java, O'Reilly & Associates and the BeanShell Java scripting language.
I've been running XP for a few months now sans java. I haven't hit a single site in the thousands and thousands that I've visited that has required or even used java to perform. Why do I need it now?
What killed java (client side)? Well people will argue to death that it was MS? But what killed ActiveX (client side)? Well people will argue to death that it was Java. What really happened.
There are two things I think happened. Java became "popular" because of things it claimed to do (some of which never materialized). Creating a rise in "amateur" programmers who's only creative outlet was applets on the web used for banners and menus etc. Everytime someone would hit SOME of these sites and see the horrible slow downs that occured with the prominently marked "SEE MY NEW JAVA MENU" then people associated "Java" with crappy GUI development. Java might help certain aspects of coding but it doesn't suddenly create automatically efficient code. You can still use all the memory you want even though you're not specifically allocating it like you might in other languages.
This is why Java was better on the server side. Having a server implies that you have more experienced coder doing the work. This typically (not always) means tighter code and better resource use. Hence java client side received boo's and name calling and java server side is quickly replacing other languages.
Now client side it didn't help that even experienced programmers saw performance problems with their client side applets. I would still say it wasn't the code itself that ultimately caused the downfall. I certainly wouldn't say it was MS. Additionally I think this is a shitty way for SUN to try to get market share. SUN already sued MS and got a settlement along with a nice chunk of change, kicking MS out of that market, and killing a couple of MS's initiatives. They could have taken steps back then to take control of their destiny instead of constantly deferring to MS for the success or failure of Java. They failed to do that.
"Do not be swept up in the momentum of mediocrity." - anon
...it just went home.
'Java is dead on the client' is one of those myths that seems to have become established without much evidence. If Java were indeed dead client-side, why would companies like IBM be putting millions of dollars into development systems like Eclipse which includes a new native-GUI API? Why is the Swing GUI system that comes with the standard JDK under active development? (If Java on the client were 'dead' why bother supplying a GUI api at all?).
Java is alive and well and thriving on the server side, and it is also used for a large number of specialised applications on the client side. Just because you don't see shrink-wrapped word processors and games in Java does not mean that there aren't thousands of client-side apps. In a few years the number of mobile phones and PDAs running Java apps will outnumber the desktops running WinXP.
They killed kenny!!!
Damn, that's the lamest troll I've seen in a month's worth of slashdot, I can't believe I'm wasting my time typing a response. Somebody mod that off the face of the planet, please?
If you want direct pointer access, program in C. If you want object oriented design, use Smalltalk, Objective-c, Java, or whatever, but don't mention C++, please...
Yea, Java is *real* dead. NOT.
>Sure, they had extensions on it to make it useful to more people, but you didn't have to use them!
>So Sun starts bitching about how it's not compliant.
Not quite.
The replacement of UI libs with ActiveX components seriously broke many applications, destroyed the sandbox security model, it goes on and on. You're damn ignorant of the Java Compatability Kit and Sun's licensing agreement with Microsoft if you take the MS apologist view that all they did was tack on extensions. If Sun wasn't able to show *in court* that MS broke their licensing agreement and created an incompatable JVM, we wouldn't be reading stories about it today.
Prescience, more than five years ago.
Read it here
is the in jokes. The discussion on here is nowhere near as good as the jokes. Too bad nobody would get it.
If you take a look at Apple's system architecture:
OSX you can see that Apple is putting the JAVA API at a coequal level with the Classic, Carbon and Cocoa APIs - all the others being Apple products. This is exactly the kind of treatment Sun has always wanted; Sun's Java being setup as a major part of the system architecture allowing it to run cross platform with the same capacity as native apps.
Now where is Sun supporting Apple in this? Apple offers a standard set of development tools as part of the OS - why isn't Sun writing or co-writing tie-ins for interface builder and Swing? Why aren't they optimizing the JAVA Apple API for Darwin? Why when you click on Java at Sun do you see absolutely virtually nothing about the Mac OSX platform? Why doesn't Java include routines to handle files with resource forks better?
If this isn't proof that Sun has no intention against standing behind Java implementation with real resources and real money I don't know what would be.
We it sure ain't gonna be .NET either, Sherlock!
I like-a do-the cha-cha.
There are so many subjects in this to address, I am left in a bit of a tizzy.
Java Dead How?: Java's barely into it's Teens. It has many years left before it's sent to pasture. Server-side java is great. Client-side Java is useful (admittly as long as you don't need Real Time behavior).
Client Side Java: I've noticed that most people are only refering to applets and ingoring stand alone applications
Applets: Are admittedly clumsy and that's why they haven't been as successful as they could have been. You have to consider that they were at the bleeding edge of the web application notion. Back in the days when websites were nothing more than web pages and the notion of a web application was barely concieved, applets offered the first look at what served-applications might look like. With bleeding edge comes the risk of taking a wrong direction. It's easy to follow someone else's path. Java Web Start Applications are a definate improvement on the idea. They just need more time to take off.
Stand Alone Java Applications:Are great and getting even better. Why Swing environment is a nice balance in GUI development environments. It's detailed enough but not bloated. Apple may claim to have a great GUI but they've only recently been able to claim a nice GUI development environment. Java's been effective since 1.1. As for Microsoft, any GUI development environment that uses preprocessor directives for it's event management deserves to ridiculed.
Java: The Development Environment: I dare anyone to show me a development framework that promotes code reuse as effectively as Java has. In the world of C and C++, we have the ANSI standard libraries. They are peanuts in comparison to the JDK.
Microsoft's Dominance: I am impressed by the passionate statements that people are making about the fairness of this all and the justification in stating that Microsoft's killing Java. It's entirely too bad that most of the statements don't seem to consider just how dangerous the situation is. It's not hard to consider what a world dominated by a single company in one of the world's most important technological contributions of the 20th century. Why do people keep ignoring the strength in diversity and freedom of choice?
C# is J++ in sheep's clothing. They have consistently refused to play by other people's rules. Consider DCOM, Microsoft's response to CORBA. Rather than supporting a standard that was developed by dozens of companies we are left with DCOM, a technology I found to be more cryptic and complicated than CORBA.
Open Source, Linux Java and the Future:It's going to get to the stage where Microsoft becomes the only big commercial player on the block. But that doesn't have to mean that it's the only player. The Open Source movement has shown that we can give Microsoft a nod and leave them behind. They aren't worth the energy to hate. They aren't worth anything if they don't know how to share and work with people to do great things. We don't have to play by their rules. It's not hard to switch to OpenOffice. It's not hard to switch to Linux or the MacOS. It's not hard to choose a different option. Open Source is finally a stage where we've gotten off our butts and decided that making an honest contribution to the betterment of society is a good idea.... and Java's done an amasing job of supporting that process.
Java will never die because it's become more than just Sun. It's tightly coupled with the MacOS and it's strong in the Linux environment. It's embedded in the Open Source movement as one of the dominate languages. Let Microsoft play their games, leave them behind. Play by your own rules.
Majeric
"When Mr. Bigglesworth gets upset, people DIE!"
Namaste
I've been writing Java code since JDK 1.0. I've done plenty of work with standalone clients, applets, and servers since that time and with every release since then, and blaming Microsoft is just plain revisionist history.
Not only was Netscape's compatibility with the Java standard much much worse than Microsoft's (Sun sued over nits while Netscape had major API differences!), but it wasn't even compatible between versions of itself. Minor point releases had major points of incompatibility with each other, and the stability of the JVMs included with Netscape was very poor to say the least.
I know that's not the popular viewpoint, but anyone who wrote significant java code for the browser back then should recall how painful it was to deal with the Netscape Java flavor-of-the-week and how hard it was to work around the things that would take out the browser. We gave up and went back to HTML.
But I don't think it's fair to blame Java's death on the client entirely on Netscape either. Anyone remember what it was like to write client code with AWT? I'll tell you what it was like - it sucked. It took Sun two major JDK releases (1.1 and 1.2) to fix that with Swing, and Swing is such a pig that you need a pretty heavy client to run nontrivial applications.
So what we had was a GUI library that was not really very good for building clients and a major vendor who couldn't make a stable version or maintain compatibility either within its own releases or with the standard itself. And that's completely independent of Microsoft.
I think any chance of Java making it on the client was killed when Sun decided not to offer it originally as a plug-in. Had it been a plug-in then at least Sun could have controlled the quality and compatibility of the implementations on the street - across all browser vendors. Notice that Macromedia has done an excellent job of that with Flash.
Sun did, eventually, move to that design - but only after the war had been lost.
It might be nice to blame Java's client woes on Microsoft, but in all honesty - as much as I hate Microsoft - I can't do that. Java failed on its own demerits.
jim frost
jimf@frostbytes.com
I remember a certain team called Blackdown being quite pissed about all the crap they put up with from Sun when they were trying to do their high quality release of the Java SDK/RE... They were mistreated quite a bit...
What Microsoft did may have been wrong but Sun didn't exactly embrace Open Source and try to win by expanding into everything with Java... Their lack of willingness to make an open standard probably didn't help much either...
Bah... I am probably talking out my ass again.
Our company's web site has been designed to work with or without Java Applets. The Java Applet based solution (JVM 1,02 and up) is faster, but the no-applet (pure HTML, server-side) solution will do the job. If we don't see Java in the client ... we don't use it.
... when they DON'T ... and then they will prompt the user to see if they want to download the Java plugin (sometimes). A bad thing.
... other than turning off Java when we see any 6.0/NT 5.1 combo out there (like we do for Opera, for other reasons) ... is there an 'approved' way of knowing if the XP machine DOES have Java installed?
Here's the problem.
We are seeing users with XP machines that don't tell us when they DON'T have Java.
We test for Java via this Javascript statement (after FIRST checking that Javascript is there):
if (navigator.javaEnabled())
What happens on some XP machines is that they will tell us they DO have Java
My question is
I'm glad Java's not dead on the client, or I'd have a helluva time running jEdit...
...end of transmission...
People who blame Microsoft for Java's failures are the same types who blame Microsoft for the 'crash and burn' of IBM OS/2, Apple Mac OS, Ashton-Tate dBASE, Netscape Navigator, Wordstar, Wordperfect, Lotus 1-2-3, and Borland C++. Do you see a trend here? These were all companies with products that had enormous market share and influence in the computer industry at their high points. Microsoft trailed all of these companies, both in terms of technology and market exposure. You can still buy many of these products, but none of them are as relevant in the market place as the Microsoft product is today. So, Sun sees this happening to Java and instead of competing on merit, asks the courts to MAKE Microsoft install Sun's Java VM in the Microsoft OS. Sun missed the point that Java is slow, not a standard, and - worst of all - has competition like Flash that does a lot of the same things better. Scott McNealy - let the market decide, not the courts!
For the vast majority of web users, the HTML is not really a part of their experiance.
autopr0n is like, down and stuff.
Java on the client will experience a rebirth in the next few years for the following reasons:
- Computers are almost fast enough for GUI apps and this will only get better.
- Improvements in the JVMs, libraries, Java Web Start etc.
- Renewed interest in Java with J2ME on the PDAs, cell phones etc.
Neil
The whole Java fiasco is a great example of why MS is more interested in anti-competitive behaviour, than "freedom to innovate."
Initially, they developed one of the leanest, fastest JVM's around (and fastest compilers). An actual sign of innovation; but they nuked that to try and get rid of that annoying portable Java thing. That's not innovation, that's stifling something that they don't fully control in their monopoly.
A shame, it was a great start, and I'm sure if they had done the same for Java 2.0, the consumers would have been better off overall (which they claim is a goal, but is not).
-me
Love many, trust a few, do harm to none.
Now if only we could get Java to return the favor...
Democracy is two wolves and a sheep voting on lunch.
Well, I personally am in a position where I believe that Sun is on the wrong side here. In fact it doesn't make any sense to me that Java should be included. I've tried on several occassions to depend on Sun Java technology and have failed every time. I was developing products on JavaOS for a while until such time as that died.
/.'er, but in this case, I'd have to suggest that Sun is definately in the wrong claiming that Microsoft did wrong by shipping a modified version of an unstandardized language.
I may be mistaken, but I recall some previous attempts by Sun to actually have Java made a standard by ECMA, ANSI, ISO or whoever an after having some disagreements, removed Java from the standardization process. I recognize W3C, ANSI, ISO, IEEE, ECMA and several others as respectible standard organizations which resposibly ensure that a language standard can be set for common development and often run time as well, however I don't recal Sun being considered an authority to listen to over whether a language they themselves publish could be considered a universal standard.
I believe that if Microsoft released a Java VM and class library system based on Sun's (in fact using the Sun 1.1.4 source base) with enhancements and modifications that altered compatibility, then they should be commended since Java is far to unstructured at the moment. I believe that Java should be run through a standardization committee which should not only attempt to standardize what already exists, but should be forced to accept user feedback which could increase some form of structure in the language.
I am under the impression that since Java is not a standard language, what Microsoft did was not actually wrong. As far as I can tell, they attempted to mold Java to suite their business structure better than before. I would have hoped that they would fix the problems in Java. I would assume they would have made a much faster JVM over time that would at least make a Java application tolerable.
I've used many Java applications and thankfully, I have recently purchased a dual AMD 2.2Ghz system and the Java applications appear to run as well as native code on a Celeron 400. That is finally acceptable.
I think that Java the language isn't so bad, but the runtime environment/VM structure is aweful and should generally be replaced by a compiler which generates native code instead. After all, at least that way, all the Java applications should run well.
I don't think I've ever seen a Java application that looks good on Windows, KDE, Gnome, and Mac OS X. I've seen a rare few which look ok on KDE and Windows, but again... that's really rare.
I have to say that Java as it stands today should either be standardized or dumped. I don't like being locked into Sun like so many Java geeks have become. Everyone waits for Sun standards and that's a bit too much control for an Open environment if you ask me.
Well I won't say I like Microsoft any more than the next
The Microsoft JVM is only there to support Java applets in IE. If you need a JRE you will have to download Sun's or IBM's.
In my experience with Sun's Java plugin for IE, even with the latest and greatest, it fails to render some applets properly and has strange UI issues.
My solution, use the Microsoft VM for IE and use Sun's JRE for everything else.
Why should MS have to include Java? I'm not usually a MS supporter, far from it, but really! Next, will they be required to include python, perl, eiffel, compliant C and C++, haskell,... etc. in Windows?
All the people that say that MS has different rules that apply to them because they are a monopoly are right. Many of those same people say that MS killed Java and many other technologies by not including them in Windows. This is wrong.
If Cadillac invents the most kick-ass car stereo system ever made, it is their responsibility to market it and make it a commercial success. Even if Ford was the dominant auto maker in the world, it should not be a legal requirement that they include Cadillac's stereo as part of their own products. This is wrong.
What Ford CANNOT do however is make deals with other auto makers to also not use Cadillac's stereo. This is anti-competitive and clearly against the law. Not to mention being collusion.
This is the same with Microsoft. Just because they are the dominant market force doesn't mean they are forced to include other's products in their own. And if they screwed up the implementation, whether by accident or on purpose, prove it in court. If you do, then you are entitled to some remedy as determined by a court of law. If not, shut the hell up and stop bitching.
Did MS make an incompatible JVM? Hell, I don't know for sure. What I *DO* know is that for a very long time they had the BEST JVM available. Even Sun said so! Now, was that a ploy on MS's part to simply look like the good citizen? Maybe. Maybe not. Let's admit that none of us know all the details of what went on or does go on and start from there.
Sun (and those that are on that side of the highway) like to tell the world that MS didn't play fair and that's the reason Java didn't and likely never will succeed on the client (and won't totally dominate the world elsewhere I should point out). In fact, they are just complaining because they got their asses handed to them, as does most people that go up against MS. Did MS do thing that weren't fair? Certainly. Tough shit, welcome to the world of business. Did they do anything illegal? Well, show me the court decision that says outright that they did (and don't bring up any antitrust ruling unless it specifically talks about Java because that's what we're discussing here, not what they may or may not have done to Netscape, which I happen to think got beat same as Sun but that's certainly a discussion for another day, and a day gone past judging by the latest browser usage statistics).
Microsoft does plenty that they need to be slapped down by the legal system for, make no mistake about it. But keeping Java off the client was simply good business. Nobody likes a sore loser, so shut the hell up you Java apologists!
(By the way, lest you think I'm some MS shill that hates Java, let me point out that 95% of my work these days is 100% J2EE development, and I happen to actually like it!)
If a pion (n-) collides with a proton in the woods & noone is there to hear it, does lamdba decay into the source pa
Does this mean Sun has to integrate Visual Basic support into Solaris?
Government tells Microsoft not to integrate so many things with operating system. Then government tells Microsoft to please integrate their competitor's platform with their operating system. What gives?
When did MS force anyone to use JVM? If Sun didn't like it, why didn't they provide their own alternative virtual machine for Windows. Blaming your failure on MS's actions is getting old. First we complain that Windows sucks, yet we expect them to write a perfect Java VM. It's not their responsibility to insure you succeed, monopoly or not.
Vote for Pedro
I think a better analogy than Skakel is this. Java, small newcommer, got in a boxing ring with a 300 lb MS monster. When he started getting the crap beaten out of him, he went to the ref and asked for special privileges, saying, it's not fair that I have to fight this 300 lb giant, expecting the ref to throw the fight since he's the little guy. Unfortuneately for him, the govt., I mean the ref, takes too long to decide anything, otherwise he would have gotten a break. The ref tends to side against the monopoly, I mean bigger opponent, in these types of matches.
Vote for Pedro
Sun makes big honkin servers. They don't want java on the client. They have deliberately made java a piece of UI crap on the pc. There's no way they would have inadvertantly made the jre such a hunk of junk (performance-wise) if they intended it to be successful.
Their whole model is that server side is where it is at. They don't want you to need much CPU on the client end. They will send you something minimal (such as html or xml/xslt) and do all the 'real' work on the server where they (and most rational people) think it belongs.
Don't kid yourself, the abysmal performance of java ui on the PC (and swing in general) is no Accident.
Sun doesn't make their $ selling pc's.
Suppose you were an idiot. And suppose you were a member of congress. But then I repeat myself. -- Mark Twain
I am not sure what you mean by this.
Flash forms are designed for display on a GUI on a pixel-based screen, such as X11, Quartz/Aqua, or Windows. By contrast, there exist GUI systems for character-cell screens, such as curses, slang, and whatever Emacs uses. Blind people and people who access applications through shell accounts most often use command-line or character-cell apps.
SWF appears to be a Flash-derived protocol
Correct.
I don't know about the effectiveness of Flash's GUI widgets (textboxes, checkboxes, grid screens, tabs, etc.). Anybody want to comment?
GUI form widgets apparently improved greatly from Flash 5 to Flash MX.
Will I retire or break 10K?
Hardly anyone will use Java for traditional client-side apps because it's got a longish startup time, uses a lot of memory, and Swing sometimes generally has a sluggish feel when running.
Why? Because of using byte-code objects running (interpreted) through a JVM. And why was that? WORA! Sun wanted bytecode object "applications" to be able to run on any OS that had a JVM.
If Sun had the option in it's JDK of allowing compiling apps to native code, they would have run faster, and with a smaller memory footprint. But the source would have to be recompiled for each OS, which went against Sun's WORA religion.
There are some native compilers out there now (GCJ, Exclesior JET, JOVE) which are pretty good, but fairly obscure. If Sun had gotten behind offering a native compilation option from the beginning, Java might have had a chance on the client side.
Java failed because of Sun NOT because of M$.
If they just let the language or API or JVM be industry standard maybe it could have taken off on the client side. But then again we may never know.
Why does Sun feel the need to control Java so much? I want Sun to free its grip on Java and allow it to be ISO standard. Let the industry decide its worth. MAybe another company can redesign a better VM than Sun? Why NOT? Why can't they?
Just look at C++, its ISO standard, fast, flexible, powerful and its hear to stay. The only thing negative about C++ is its complexity.
And its getting easier and easier to program in C++ with its STL. I admit I've been drawn back into it. There's plenty of nice cross-platform libraries to choose from making code reuse easy.
Code reuse on Java is easier but there almost always some sort of bug or change you still have to do. I've never had a java app where there was some wierd bug on one plaform and not on the other. Yeah, you can say its the JVM that's buggy but there's only one VM to choose from, one platform, Sun's platform!
So screw SUN! C++ rulez. My C++ code even looks like my Java code. I rarely use crazy pointers, just references. I don't have to use all of the language features to get what I want out of it.
And why the heck are universities teaching a proprietary language and not a standard language?
john
"If a show of teeth is not enough, bite
Java is dead (on the client/browser) side, not because of MSFT, but because of Sun's injunction against MSFT --- the MSFT VM is stuck in 1.1.8, while the rest of the world is allowed to implement the latest and greatest (with mixed results)
:-P) .NET (still 1.1.8 spec) - but really, when they didnt have to...
From a strategic point of view - the injunction itself is a bad idea - MSFT browser dominates the desktop - the act was sort of like killing your own breeding ground...
The other excuse that because the MSFT VM was intentionally sabotaged to cripple Java doesnt really hold water:
1. All 1.1.8 compliant Java code runs well with MSFT VM (we're using this on an ATM app, so I know)
2. There are plug-ins available for the IE browser that hosts other Java VMs (kind of breaks the argument about not having a choice
3. MSFT implemented Java in
In the end, Sun is to blame for its (client side) misfortune.
Sun's stance is wrong. They should not be allowed to force MS to integrate their Java into Windows. No company should be required to do such a thing. But, MS shouldn't be allowed to break the compatibility standards which Sun has copyrighted. I full respect that aspect, and agree that they have splintered Java because of it.
It seems to me that this pissing contest will only make things worse off for everybody. It's letting MS get away with what they are REALLY doing wrong, Sun comes out looking like the bad guy, and all the customers get shafted.
A slip of the foot you may soon recover, but a slip of the tongue you may never get over. -Benjamin Franklin
Just out of interest... any idea how I could get the VC++ 7.0 compiler to work with the VC++6.0 IDE? The .NET ide runs like molasses in january, and it's a major reason why I don't use it for any of my code.
Si
Coming soon - pyrogyra
Didn't you know that? Oh, no - now they will have to kill me!
I have a life. I really do. I've just chosen to ignore it.
Sun GUI that Suck... :)
In fact they supported CDE, and now they support
Gnome
"Great UIs", yeah... give me MacOS X, Kde or even Windows XP, but please, not that crap...
Windows controls more than 90% of the (full sized) clients.
MS stated that they were not going to lose control of their own platform by allowing cross-platform Java to become the best way to create Windows apps.
Sun, at the same time, was saying that they were trying to make Windows obsolete, so the last thing they wanted was to let Java become "just a better way to write Windows apps".
The only thing they both seem to have agreed on was that they didn't want Java to be too good at creating Win32 apps. So Sun stood on Java's tail while MS beat it senseless, and they both got their wish.
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
Netscape *was* right, but AWT was not well done. Swing was much better, but wasn't native. And the performance of Java couldn't match VC++. And then their was that albatross of a runtime that had to be dragged along with every instance of every app.
I was trying to build a Windows client-side consumer app in Java back then. It quickly became clear that even if the bugs were cleared up, my app would never look and feel as good as a native app -- that any competitor of ours that rebuilt our app in VC++ would take away our Windows market, leaving us with the remainder of that vast cross-platform client market out there.
No way. We had to go back, hold our noses, and work in VC++, sacrificing the non-Windows market in order not to lose the Windows market. Java just couldn't compete against the native VC++.
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
I've coded some of the largest and most functional applets I have ever seen for FutureSource. Here's an example.
During the few years that I have worked in Java, MS JVM was hands-down the best platform. It was fastest, had least bugs, and absolutely compatible with the code I initially wrote Sun's JVM.
Sun's JVM has a bunch of bugs that Sun is refusing to repair for years. For example, the clipping region of Graphics obtained through getGraphics() in Swing is wrong and has been wrong for N years.
Netscape had a terrible Symantec JVM. Working with it was a nightmare.
Microsoft's JVM certainly had its quirks, but much less than the other two.
Dejan
I'm not arguing that MS'opposition to Java hasn't had a negative effect on Java. I'm NOT arguing that MS didn't want to kill Java off (wouldn't you, if you were a competitor? that's what you're paid to do as an executive?)
I AM arguing that the "blame MS for EVERYTHING negative that happens in technology to any product that competes with MS, is overblown and generally destructive to the overall technology environment.
Let's generalize your argument and put it as follows
Company X, because of their desktop monopoly was/is in a position ot make/break anybody's software.
1975 - MITS Altair 8800 had a "monopoly" on the PC marketplace.
Late 1970's to mid 1980's -- Apple I and then the II dominated the "pre-built" PC market (effectively a "monopoly", with some competition from the 8 bit kits -- i built one of the others).
1981 -- IBM introduces the 5150 and then later the XT, within a few years IBM has a, you guessed it, monopoly on desktop PC
1984 -- Apple introduces the Macintosh (still have my 128K Mac, somewhere), Apple has an effective sales monopoly on the GUI amongst PCs.
August 24, 1995 -- Windows 95 released, as good a point as any to mark the birth MS' modern desktop (and very real) monopoly.
Substituting the name of any of the above for "Company X", you will arrive at the following conclusions;
1. tech monopolies are short lived
2. new products CAN suceed in the face of strong opposition from a entrenched, market-dominating competitor. I think the sucess of both Apache and LINUX as whole show that very clearly.
In OS/FS, very often people use MS as a scapegoat for EVERYTHING that goes against their wishes.
In an earlier, and very clear example, did MS radically harm Borland's ability to compete on languages by cherry picking many of the best and brightest employees that Borland have?
OH YEAH! But the 34 Borland employees at the core of the legal argument were all adults capable of making their own decisions. They went with the bucks -- the vast majority of us would have done the same thing when offered 3-10X (and in a couple of cases, X*10 to the 9) our current compensation packages.
We have to do our best to create the best software we can. And worrying about what the competitive marketplace is going to do is foolish.
Capitalism is not for the feint of heart. The body count is (and always will be) high. Let the lawyers bury the lawyers. Let the rest of us get on with building the future.
"W.O.W." -- Way of the World -- Assholes Are.
Ten quid, she's so easy to blind. And not a word is spoken...
The license M$ signed with Sun made that perfectly clear.
Why do you think Judge Jackson came down on Billy G. like a ton of bricks in the antitrust case? Judge Jackson was the trial judge when Sun sued M$ over their attempts to extend and destroy Java. He'd seen the shenanigans M$ routinely pulls and was having none of it.
It doesn't matter if the CARS are different designs, it matters if the ROADS are different designs.
.Net (some parts of it) - or real media, etc. etc. Cars come in all different colors and shapes - and here is where Java wants the cars to all be the same shape. Fuck that. Let the cars run whatever JVM they want - OR release Java as an open standard - only then do you have a good argument for requiring all cars to support the same java code - just like HTML, CSS, ECMAScript, etc.
Ever driven in Jersey? It sucks when suddenly you need to be in the right lane to turn left. That, in essence, is Java - or
Nope, wrong.
Sun's original case against Microsoft re:Java was about contract violations. MS signed a contract with Sun and then proceeded to ignore and reinterpret that contract as much as humanly possible. Sun called them out on that and they were in fact found in violation of the contract.
Sun's current case has to deal with motivations behind those contract violations. The MS/DoJ trial produced some very specific and damning activities by Microsoft in regards to Java. They talk about MS deliberately introducing incompatibilities into their implementation with the sole purpose of protecting the Windows monopoly. This goes far beyond any contract violations that were addressed in Sun's first suit against MS.
So, now we have an adjudged monopolist who violated specific sections of the Sherman Act with regards to Java. Sun is fully within its rights to pursue punitive actions against MS. In fact, there's specific language in US laws that allow for tripling any and all damages against a company when it is related to monopolist activities. (Frankly, Sun would probably be sued by their shareholders for negligence if they didn't pursue this lawsuit.)
--- I wish I could hear the soundtrack to my life. That way I'd know when to duck.