"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."
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?
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
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.
Java is not even cold on the client, must less dead. There are TONS of line of business applications written in Java that are used on a daily basis. The web isn't everything. Just because you don't see Java Applets doesn't mean Java on the desktop is dead. Do a little research first.
http://www.naildrivin5.com/davec
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.
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
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
confusing procedures
For example?
poor performance
Have you used it recently?
repeated incompatible upgrades
Example? The only thing I can imagine you're referring to is the Swing classes that replace or enhance AWT. That was a welcome change by just about anyone's standards.
costly support requirements
What are you talking about, this is pure FUD
and expensive development tools
They never billed me for emacs, I thought it was free?
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.
It was Sun's responsiblity to make Java an important, dominating technology, NOT Microsoft. [...] You want to "beat" Microsoft? Do it with better software.
You're missing the point. Microsoft, because of their desktop OS monopoly, was/is in a position to make or break anybody's desktop software. No matter how excellent Java (on the desktop) could have been, Microsoft could (and arguably did) keep it from becoming a success.
When the operating system you distribute gets put on 95% of the computers out there, if you don't want something to exist on it - it won't. Microsoft wasn't allowed to embrace-and-extend Java, so they dropped it completely. And since most computer users haven't the slightest idea about how to install it, Java on the desktop has died a pathetic, twitching death.
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
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.
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
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.