Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Java Programming

"MS Killed Java" (on the Client) JL Founder 672

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."
This discussion has been archived. No new comments can be posted.

"MS Killed Java" (on the Client) JL Founder

Comments Filter:
  • by Henry V .009 ( 518000 ) on Friday August 30, 2002 @12:18PM (#4170390) Journal
    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?
    • by Anonymous Coward on Friday August 30, 2002 @12:19PM (#4170396)
      What's the web site for OJ? "http:////////" ?
    • Did Microsoft try to destroy language by distributing a similar, slightly incompatible product named OJ? If not, you have no case.
      • I much prefered the MS version. This argument is kind of like the argument over French vs English. French is great if you like a language that is controlled by 9 unelected and unaccountable old farts in the academe franglais. But in the real world we all use English because it is a democratic language where everyone has equal opportunity to extend and improve. English is the Lingua Franca of the Web and is effectively the common language of the EU. Nothing the French government does is going to change that.

        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.

        • by Anonymous Coward
          Microsoft's extensions weren't the issue--doing that is legitimate. The problem is that they disguised their extensions as parts of the standard Java API (so that developers would unwittingly produce impure code) and they omitted essential standardized features (like remote procedure calls, for crying out loud).
        • This argument is kind of like the argument over French vs English. French is great if you like a language that is controlled by 9 unelected and unaccountable old farts in the academe franglais. But in the real world we all use English because it is a democratic language where everyone has equal opportunity to extend and improve. English is the Lingua Franca of the Web and is effectively the common language of the EU. Nothing the French government does is going to change that.

          The reason English is the new lingua franca has nothing to do with the Acadmie Franaise. It's all about American cultural exports. As for the Acadmie's control of the French language, apparently you've never heard French kids using all the English words for stuff in video games, and things of that nature. Le Walkman etc.
    • You'll have to wait until they make their own version of OJ and modify it so that it will be incompatible to yours and violate your license.
    • Missed the point (Score:5, Interesting)

      by Bodrius ( 191265 ) on Friday August 30, 2002 @12:27PM (#4170485) Homepage
      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.

      • most people didn't know, don't know, and don't care to know what Java is. Whether or not MS killed it isn't really the point. The point is that MOST people only know what MS puts out. They don't care about anything unless it works w/Windows.

        Most things work just fine w/Windows and that's how MS makes it.

        People will always follow the leader.
      • Saying Microsoft killed Java because it released a version that allowed an applet to be tied directly to Windows is like saying that Microsoft killed the C stdio library when they released Windows API libraries for C. Well, maybe, but is that really so terrible? Why can't Java exist just as a language without commingling it with the portable execution environment and the "we hate Microsoft" religion?

        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

      • 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.

        That's quite true. By that description, one might wonder if Lindows is secretly a Microsoft plot to discredit Linux from the inside?

        Go ahead and mod this as 'Funny' if you want, but think about it: no, I'm not suggesting that it's actually true, but one thing that the Lindows people seem to be really good at is establishing relationships with OEM's and generally getting the product out there. They seem to be doing better at communicating with the preload universe than any other Linux distributor seems to have been able to do so far.

        One thing they don't do well, unfortunately, is build a good version of Linux. That means that a lot of people are going to be seeing Linux for the first time in the form of Lindows. They're going to see a crappy version of Linux, complete with a $99 service that lets them spend hours on a modem downloading packages that everyone else supplies for free on the CD, and they're going to think: "Damn, this sucks. I'm going back to Windows."

        As the cliche goes -- you never have a second chance to make a first impression. Look at how MS used this to their advantage to turn people off to Java. Lindows may inadvertently do the same to turn people off to Linux.

      • yeah but all this talk of "Microsoft killed Java" wouldn't have happened were it not for the fact that MS pulled the browser market away from Netscape. Now think about this - MS eyes the Browser market in 1996 or so. They decide to emulate everything about Netscape except for Netscape 2.0's Java ability. Would everything have been OK if Sun had just marketed Java as a plugin from day one? I mean, I don't see the notion that not everyone has Flash/Shockwave installed slowing down the usage of those products, even with advertisements. Or is it that Sun realizes that Java can't possibly survive as a plugin and they have to embed it in everything from day one, in which case they can blame Microsoft for Java's slowed rise or failure?

        Perhaps if Java was as great as Sun believes then a lack of Java in IE would have kept Netscape in the black. Windows XP comes with CD Burning software but Roxio and Ahead stay in business, it comes with a firewall but I wouldn't swear off of ZoneAlarm. Hell, most people can take any browser other than the one they use and find one tiny little thing that keeps them from switching - maybe Java would have kept people off of IE.

    • (* Everyone, I've made a new platform-independant language and virtual machine. It's called OJ. Microsoft won't put it in Windows. *)

      The name won't bother them. They will just rename their version "Mojo".
    • I don't know, but why do you think they'd put OJ in windows when they couldn't even put him behind bars?
    • Hilarious. Losers like Rick Ross would stamp their feet and pout whenever anybody with a clue would point out that Java is dead on the client. Glad he's finally come to grips with the truth, even if it is a pretty transparent ploy.


      But really now, Rick. What killed Java on the client is the lack of any apps that people are interested in using. Microsoft probably helped Java out by making a kickass JVM back in the day, but even its nice speed couldn't help Java's slowness and memory consumption. Did Microsoft keep anybody from coming out with a Java office suite that people have talked about for the last 6 years? Nope. Is there a Java email client or web browser that anybody wants to use? No. Multimedia player? No. Sorry Rick, the reason why Java is dead on the client is because it doesn't do anything that many people want.


  • Funny that the site is slashdotted and their aren't even that many comments here...
  • by Lxy ( 80823 ) on Friday August 30, 2002 @12:22PM (#4170431) Journal
    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.
    • by Exedore ( 223159 ) on Friday August 30, 2002 @12:47PM (#4170690)

      Not to mention Sun childishly refusing to submit Java to standards bodies so they could maintain full control of the language. Here's a hint, Sun: it's either proprietary, or it's a standard. Pick one.

      The whole MS/Sun Java fight is little more than two children fighting over a toy and smashing the toy in the process. This works out okay for MS, cuz they have a lot more toys in their box than Sun does. They'll just go play with .net for awhile while Sun sobs and whines in a corner.

    • 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.

  • 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.
    • If you were talking about the software development platform, you would be correct.

      However, the incompatibilities were in MS JVM, which was pre-installed in Windows.

      This is on the user-side, and a user is as likely to notice the source of the problem, download and install a new JVM, as he/she is likely to download and install a new set of shared libraries.

  • 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.
  • 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.

  • Java Died? (Score:5, Funny)

    by laserjet ( 170008 ) on Friday August 30, 2002 @12:28PM (#4170495) Homepage
    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)
    • Don't feel bad, my mother took Latin in highschool instead of typing.
    • A) The article was about Java's Death On The Client. Java's vital signs on the server side have, so far, not been disputed. Many developers also consider Java a better match for the server than for the GUI-oriented client.

      B) Until recently a very significant portion of programming courses currently taught in Java were taught in Pascal. Java has been more popular in academic circles than C/C++ and Pascal, being as dead in its pure form as a language can be, was bound to be replaced by some OO language.
      Java is not dead, but like Pascal, it could very well be dead in the Real World and still be the teaching language in a lot of programming courses.

  • 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.
    • Re:Oh-so-unfair!!! (Score:2, Informative)

      by N3WBI3 ( 595976 )
      The fact is they had a license with SUN, they violated it. They used that violation to kill netscape, than they used the fact netsacpe was done to kill Java.
      • 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.
    • Not that it's sound business strategy or anything.

      Actions that are sound business practices for normal businesses may well be illegal for those that have been found to be monopolies.

      Just a reminder that Microsoft is a special case, in that sense.

      • 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.
        • 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?
  • 5 years ago... (Score:3, Insightful)

    by garoush ( 111257 ) on Friday August 30, 2002 @12:30PM (#4170514) Homepage
    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.
  • 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 [yahoo.com] and Limewire [limewire.org]. 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.
  • by kraf ( 450958 )
    Java is so slow I wonder if it has ever been alive.
  • The last I heard, Microsoft said they are not going to be shipping Java because, since the license doesn't allow them to modify it, they can't guarantee the security of it.

    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.

  • by dpbsmith ( 263124 ) on Friday August 30, 2002 @12:33PM (#4170550) Homepage
    Take a look at Dan Bricklin's hysterically funny parody [bricklin.com] of client-side Java. It says it all. Just as funny and relevant as when it was written.

    It will be interesting to see just how .NET can avoid the same issues.

    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.
  • by alienmole ( 15522 ) on Friday August 30, 2002 @12:33PM (#4170552)
    I'm a guru-level Microsoft-basher, but the fact that Java sucked for the development of GUI apps was not Microsoft's fault. Including pure Java in IE probably wouldn't have done much to change that - the embedding of Java in browsers was always a Frankenstein's monster kind of deal, anyway, and had little to do with the development of real Java apps.

    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.

    • by SuperKendall ( 25149 ) on Friday August 30, 2002 @02:41PM (#4171847)
      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.

  • 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.
  • Java on the client. (Score:2, Informative)

    by Steveftoth ( 78419 )
    (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.
  • HTML killed Java (Score:5, Insightful)

    by zero_offset ( 200586 ) on Friday August 30, 2002 @12:43PM (#4170649) Homepage
    Java has never delivered on it's client-side promises, and it never MADE any server-side promises, it's just that the server gives the programmers enough control that the "write once / run anywhere" myth doesn't bite them in the ass and nobody cares about how difficult it is to build a decent UI in Java.

    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.

    • 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.
      • 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.

        That is not my experience. The simplest things that work in one browser cause another to go wacko. Emphasize "lowest" in lowest-common-denominator.

        What I think is really needed is an HTTP-friendly "remote GUI" protocol for writing client-side GUI's. Something like XWT or SCGUI. DOM+JS+HTML is not very natural at real GUI's IMO. They work great for e-brochures, but clunky for dynamic biz-centric GUI's.
    • "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."

      I am working on a multi-million-dollar project processing millions of transactions per month running on Solaris, integrating multiple trouble ticketing systems. It is written entirely in java. You have know idea what you are talking about.

      • by Tablizer ( 95088 )
        I am working on a multi-million-dollar project processing millions of transactions per month running on Solaris, integrating multiple trouble ticketing systems. It is written entirely in java. You have know idea what you are talking about.

        I am sick and tired of "I wrote a big app in Foo, and therefor Foo is good for big apps".

        Big apps have been successfully written in Assembler and COBOL. That does not mean such langs are better, it is just that anecdotes of such are nearly useless. (So are language fights for that matter, since people prefer langs that best model their own thinking and working style and die-hard Perl fans are not gonna convince die-hard Eiffle fans, and visa versa.)

  • by glwtta ( 532858 ) on Friday August 30, 2002 @12:44PM (#4170670) Homepage
    Whatever you say about applets (and most of it will probably be true) there are some excellent Swing applications out there. NetBeans (for example) is one of those things you'd have to pry from my cold, dead hands to take away from me; and nothing beats being able to run the same IDE at work (Windows) and at home (Linux).

    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)

  • 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.
  • by g4dget ( 579145 ) on Friday August 30, 2002 @12:46PM (#4170684)
    Java was supposed to be a small, open platform for writing clients that are delivered through the web browser. Sun messed up on all of that: Java mushroomed to a size of many megabytes, its original toolkit was horrible, its original runtime was slow, its graphics support was lousy, and Sun renegged on their promise to make Java an international standard. Java also had some really serious design problems. And Sun was stupid by explicitly tweaking and taunting Microsoft.

    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.

  • by darkPHi3er ( 215047 ) on Friday August 30, 2002 @12:57PM (#4170775) Homepage
    OK, i'm getting in my flameproof suit.

    As unfashionable as it is on /. to point out ANY contradictions in a good MS bashing, as a long-time believer in both personal and software "freedom" (and as someone who has received really nasty emails from NT Core members and was suddenly banished from the OS Betas), the facts are simple and have been reported by all the tech pubs and many of the mass media.

    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.... ...because the customer will have the final say.

    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.

    • In all fairness there is a difference. A monopoly is not entitled to be as agressive as either Coke or Pepsi. Pretty much once you have broad market dominance the gloves have to stay on.

    • by ryanvm ( 247662 ) on Friday August 30, 2002 @01:55PM (#4171348)
      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.
    • Well, I agree with you --- in principle. You have the right idea, and the right approach --- however, in the world of software, no man is an island.

      I love my Opera browser, really love it. I would love to BEAT Microsoft with this better software. But guess what? I have to keep IE around, don't I? You know why. Because it's impossible to get around certain sites without it. I'm just where MS wants me to be.

      The only thing I can do is NOT visit sites that aren't coded to standards --- sites such as my company's on-line 401k management site.

      If only it were as simple as making the software choice you want. And the main reason it's not that simple is because Microsoft doesn't want you to have that choice. They take away MY options by mucking around with standards, and it makes me mad.
  • Swing is the latest in a series of Sun GUI APIs that Suck. This goes back further than AWT in Java. There were a whole string of Sun GUIs for their workstations, dating back to the 1980s. All of them sucked. And each was incompatible with its predecessor. That's the Sun tradition.

    After all, their head techie's career was based on "vi".

  • 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:

    1. A solid cross-platform API that allows you to code one version of your app that can access many otherwise incompatible GUI and system components. This is a Very Good Thing (TM).
    2. Still clinging to the idea that all Java has to run as byte code through an inexcusibly slow JVM instead of native code. And if they must stick to this model, why is it that a language like Perl, which must also run byte-code through a VM, but in addition also compiles on every invocation, is still much faster than Java. Sure, some other vendors have produced Java -> native compilers, but without top down direction in this field, this has not caught on. JIT's tried to promise speed, but failed.

    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.

  • Company X has a technology that they think is good. Company Y thinks it isn't good. X whines and sues Y.

    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.


  • Actually, the butler did it.
  • by cpfeifer ( 20941 ) on Friday August 30, 2002 @01:51PM (#4171314) Homepage
    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.
  • by autopr0n ( 534291 ) on Friday August 30, 2002 @03:31PM (#4172312) Homepage Journal
    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.
  • by Marcus Green ( 34723 ) on Friday August 30, 2002 @04:09PM (#4172637) Homepage
    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.
  • by nhavar ( 115351 ) on Friday August 30, 2002 @04:17PM (#4172718) Homepage
    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.
  • by jbolden ( 176878 ) on Friday August 30, 2002 @05:15PM (#4173163) Homepage
    If you take a look at Apple's system architecture:
    OSX [apple.com] 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 [sun.com] 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.
  • by jimfrost ( 58153 ) <jimf@frostbytes.com> on Friday August 30, 2002 @05:43PM (#4173339) Homepage
    I suppose the funniest thing about this whole idea, to me, was that Java on IE was vastly more compatible with the Java standard than Java on Netscape. I mean, Netscape's Java implementation was horrible. If Sun had really be interested in standards they would have pulled Netscape's license rather than suing Microsoft.

    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.

For God's sake, stop researching for a while and begin to think!

Working...