Forgot your password?
typodupeerror
Java Programming IT

Java's Greatest Missed Opportunity? 362

Posted by Zonk
from the steaming-cup-of-dissapointment dept.
jg21 writes "It looks like Bruce Eckel has hit the nail on the head again. No sooner did he finish stirring debate by writing about the 'departure of the Java hyper-enthusiasts,' previously discussed here on Slashdot, than he now rubs salt in the wound by highlighting in AJAXWorld Magazine how and why Java missed its golden opportunity to become the language undergirding Rich Internet Applications. He comments: 'We must ask why Java applets haven't become ubiquitous on the internet as the client-side standard for RIAs....This is an especially poignant question because Gosling and team justified rushing Java out the door (thus casting in stone many poorly-considered decisions) so that it could enable the internet revolution. That's why the AWT and Applets were thrown in at the last second, reportedly taking a month from conception to completion.'"
This discussion has been archived. No new comments can be posted.

Java's Greatest Missed Opportunity?

Comments Filter:
  • Mr. Eckel seems to forget that Java Applets were quite popular back in their day. But for much of the same reason that web users balked at Flash and Plugins, web users balked at Java. It was large, slowed down the browsing experience, and just didn't integrate all that well with the webpage.

    Java eventually found its niche in server side programming. At that point Java Applets died. They were a nice idea, but they're effectively dead now and the web is better for it. There was no missed opportunity, only an opportunity that didn't pan out. In exchange, however, Java gained new opportunities in consumer areas like Video Game Development. Commercial games are slowly starting to deploy Java technology. But since one OpenGL/DirectX game looks just like another, who can tell it's Java? And that's a beautiful situation to be in. :)

    Oh, and guess what's driving many (most?) of the SOAP/XML/RPC interfaces that AJAX applications use? You guessed it. ;)

    JNLP, a.k.a. Java WebStart, was supposed to solve some of these problems to create easy-install desktop applications. I think the reason that JNLP hasn't become commonly used can be summed up by looking at https://aerith.dev.java.net/ [java.net], a page for one of the flagship "Cool JavaOne Demos." If you click on the JNLP version link on that page, it will appear to start up, downloading a bunch of stuff and asking you questions. And then it does nothing. No error messages or any information to tell you what happened. Repeated attempts yield the same results, only faster because the requisite files have already been downloaded. At least, that was my experience. If it worked for you, I'd say that's even worse--it randomly works on some platforms and not others. How do you debug such a thing?

    I bet 10 bucks that Mr. Eckel's 3D card drivers are out of date or not installed. The application he linked to uses JOGL (Java OpenGL bindings), so if his computer is unable to run OpenGL, he will be unable to run the app. It's a rare issue, but it happens. The easy way of debugging the app is to either bring up the Java Console through the Coffee Cup in the system tray, or to go into the Java Web Start settings and enable the console (or logging!) there. Easy, peasy. :)

    Oh, and Mr. Eckel? Web Technology has not yet begun to fight. At least if the WHATWG specs [whatwg.org] have anything to say about it.
    • by Vengeance (46019)
      Damn straight.

      This is 'the mainframe is dead' all over again.
    • Re: (Score:3, Funny)

      by AP2k (991160)

      "But since one OpenGL/DirectX game looks just like another, who can tell it's Java? "
      Sounds eerilly like "I cant believe its not butter."
    • To add a few more specific rebuttals to my post:

      A common response to the "applets are dead" statement is "No they're not. I still use them." Applets aren't useless; people still create very impressive things with them. The Java Posse highlights one or more applets each week. The statement should instead read, "Applets are dead for Web RIAs." The installation process for the JRE and for any particular applet is not reliable enough for anyone to depend on them for a general-purpose website.

      That's basically a fancy way of saying they're dead while simultaneously arguing the opposite. People still write software for the Colecovision, but you don't see anyone talking about the "missed opportunity" to compete with the Playstation, do you?

      Desktop applications have also suffered, and left bad marks on Java in general, further sullying applets by association. I had an experience with a Java product called Memorex exPressit. The UI was terrible and buggy.

      Poor UIs have been a hallmark of Java Applications. While much of the blame does lie heavily on inexperienced programmers doing GUI work, there's also the matter of Microsoft's interference with the platform. One of the reasons for Java's early popularity in applications was because Microsoft provided an excellent AWT implementation that integrated with their platform. Which was exactly how Sun wanted it. The most experienced company with a platform (i.e. the vendor) would handle the specific implementation of the JVM. The Sun JVM was just a reference implementation, and was not intended for deployment.

      Then Microsoft went about their usual backstabbing and Sun didn't have a good feel for how to replace their expertise. The rest is history.

      Consider Corel's attempt to create a word processor using Java (I don't remember whether they were trying to port WordPerfect or write something from scratch). It was obviously too early to try it, since all they had was the AWT.

      Well, that and the fact that they were trying to write it as an Applet. I mean, you don't just take a full up office suite and cram it into a tiny portion of a Web Browser window! That's not exactly a recipe for a good interface. The Corel concept was good on paper, but the implementation was outright horrid. Unfortuantely, it was probably caused by the misconception that Java == Applets. Something that we programmers still struggle with today.

      OpenOffice is not written in Java, but in C++. I don't believe it was because the programmers wanted to struggle with the cross-platform issues presented by C++. It was speed, and perhaps the need to more directly control the underlying platform.

      Or maybe it had something to do with the fact that OpenOffice was based on StarOffice? You know, the Office Suite that was developed back in 1986? However, there are a number of modern OOo components that are written in Java. Database Access in particular is a lot better if you can rely on Java's APIs.

      The show-stopper was Java's lack of support for MP3s and multimedia in general. As Dick Wall of the Java Posse has pointed out numerous times, the Java Media Framework (JMF) has been virtually ignored for many years.

      Um... what? JMF is ignored because it's unnecessary. Java has Sound and MIDI APIs integrated into its core. MP3 support can be found in APIs like JavaLayer [javazoom.net]. Video has always been a problem, and not just Java. While there have always been solutions for standardized formats [ibm.com], the majority of video encoding/decoding takes advantage of proprietary codecs. Something that is not easy (or legal) to replicate. Linux makes use of a number of legal loopholes to bring us software like MPlayer and VLC. But these were never viable solutions for a straight-laced company like Sun. And the idea of better OS integration was something of an antithesis to Java technology. So Java focused on its strengths, not its weaknesses.
      • Re: (Score:3, Insightful)

        by CastrTroy (595695)
        I think there are a lot of things wrong with Java, one being the existence of something called JavaScript. Many people don't differentiate the two, even those who are programmers. It's kind of like VB.Net having a bad reputation because of the existence of VBScript, VBA, and even VB6, when VB.Net is just a capable in most respects as C#.
        • Re: (Score:3, Interesting)

          by AKAImBatman (238306) *

          I think there are a lot of things wrong with Java, one being the existence of something called JavaScript.

          I think it's also important to point out that 95% of those who claim to know Javascript, don't know the first thing about writing it. I was just discussing "hardcore" Javascript with a fellow the other day. His opinion appeared to be that Internet Explorer was a lot easier to write code for than Opera. He never followed up on my reply, but I have a sneaky suspicion that he would have produced code like

          • Re: (Score:3, Insightful)

            by ballwall (629887)
            A large issue with javascript is it's hard to find any good information on the subject (or at least I haven't seen any). Searching for how to properly do OO in javascript you get 3 or 4 different approaches. It takes a lot of experience to figure out whether you're supposed to use .prototype. or this.function = function() or whatever. Then a whole lot more experience to figure out what leaks and what doesn't (and how to fix it).

            A single comprehensive library would help a lot. (w3schools is good, but doesn't
    • But for much of the same reason that web users balked at Flash and Plugins

      The numbers disagree [adobe.com].

      • Re:Flash and Plugins (Score:5, Interesting)

        by AKAImBatman (238306) * <.akaimbatman. .at. .gmail.com.> on Friday February 09, 2007 @01:30PM (#17951500) Homepage Journal
        To be clear, I'm not saying that Flash didn't eventually meet its goal. When Flash was first introduced, we ended up with entire websites written in Flash. Not to mention the overriding need to add those damn animations to corporate websites in the same manner that everyone's homepage had a reflecting pool or tree menu Java Applet.

        Flash would have lost out as badly as Java, but judicious use [youtube.com] of the plugin combined with an extremely small runtime brought it back from the brink of failure. But only flash. You'll notice that the spinoff technologies like Shockwave have all but disappeared, except for particular circumstances like some Web Games. (The same area in which Java Applets continue to live on as Zombies.)
        • Re:Flash and Plugins (Score:4, Interesting)

          by ObligatoryUserName (126027) on Friday February 09, 2007 @02:24PM (#17952262) Journal
          To be clear, Shockwave was the older technology that Flash originally piggybacked on to get its foot in the door.

          Flash has thrived because Macromedia learned their lessons from Shockwave and weren't afraid of destroying their existing market in pursuit of something much better.

          The fact that Google spent $1.6 Billion on a site that's dependent on Flash is a strong validation of the technology.
          • by AKAImBatman (238306) * <.akaimbatman. .at. .gmail.com.> on Friday February 09, 2007 @02:38PM (#17952498) Homepage Journal

            To be clear, Shockwave was the older technology that Flash originally piggybacked on to get its foot in the door.

            Agreed. However, Shockwave had a variety of advanced technologies developed after Flash that were unavailable to Flash until recently. (Some never made it there.) Features like Hardware 3D and Classic Console Emulators seem like they should have kept Shockwave on the map. Unfortuantely, they didn't. So Macromedia/Adobe have been smart by running with what works.

            Sun did a similar thing to Java with the J2ME spec. J2ME is the cutdown version of Java that far surpassed its big brother in end-user popularity. The only difference is that J2ME had to change platforms to do it. :(
        • Re:Flash and Plugins (Score:4, Informative)

          by NuShrike (561140) on Friday February 09, 2007 @03:02PM (#17952866)
          Many might not remember that Flash was once FutureWave Splash [adobe.com] by the same guy who did that great oldie game Dark Castle and Beyond Castle for the Mac.

          FutureWave Animator sorta competed against Shockwave well that Macromedia bought them and renamed it Flash, and it's been "siblings" with Shockwave ever since.
    • Re: (Score:3, Insightful)

      by timeOday (582209)
      But was Java "wrong," or just ahead of its time? Computers are faster now, and the bandwidth is much, much greater (for most of us). AJAX can do some things, but it just seems like a mess of different technologies to me, and still isn't as rich as a general client-side programming language.

      I still think *real* web-based applications, like a full-featured office suite, should be possible.

      • Re: (Score:3, Interesting)

        by AKAImBatman (238306) *

        But was Java "wrong," or just ahead of its time?

        Java was "wrong". The technology seemed like a good fit to webbrowsers, but the implementation focused more on the type of functionality that Canvas [wikipedia.org] and Flash offer rather than acting in a more useful role as a DOM Scripting language. Had Java taken the latter route (which would have required that the JVM be loaded at all times), it might have been more successful in that space. Unfortunately, by the time anyone got around to pushing Java into the DOM Scriptin

    • Re: (Score:3, Funny)

      by mad.frog (525085)
      I bet 10 bucks that Mr. Eckel's 3D card drivers are out of date or not installed. ...in which case Java should fail gracefully and warn the user of this fact. Just failing without any further info is inexcusable, regardless of the configuration issues.

      The easy way of debugging the app is ...

      Bzzzt, sorry, this scenario has already failed the Mom Test. Mom doesn't want to debug an app... she doesn't even know what "debug" means.
      • Re: (Score:3, Insightful)

        by AKAImBatman (238306) *

        I bet 10 bucks that Mr. Eckel's 3D card drivers are out of date or not installed. ...in which case Java should fail gracefully and warn the user of this fact. Just failing without any further info is inexcusable, regardless of the configuration issues.

        Agreed. However, the problem is not one of Java, but rather poor error trapping by the programmer. He should have handled the situation where OpenGL couldn't be initialized rather than assuming that the context will always exist. The same problem exists in ma

    • by Anonymous Coward on Friday February 09, 2007 @02:43PM (#17952562)
      I have read on Slasdot for close to 4 years about why Java is dead-dad-dead, and for years before that- why java is bad-bad-bad. I have heard why the Java Applet is gone with the wind, I have heard why Perl,LAMP,ROR, AJAX, FLEX, FLASH, .NET and etc etc 'are replacing/will replace JAVA for all mainstream [fill in technical application]'. I have heard people go on and on with buzz-word filled diatribes about the failure of JAVA.

      Yet I still note that JAVA developers of all flavor are perhaps the most in-demand (and highest paid) professionals in the Software development community. I still note a healthy and growing JAVA community. When I use 'stumble' to crash about the web, I see wonderfully designed JAVA Applets everywhere, fulfilling all sorts of purposes. I see IT shop after IT shop settling on JAVA as the tool of choice to solve problem after problem. Successfully.

      Meanwhile, I have yet to see a proliferation of Web applications (with the notable exception of AJAX and .NET) using any of those above solutions. A few shops here and there, sure, but not much. More often than not, when I run accross an enterprise app written in one of those other solutions (again with the notable exeptions of AJAX and .NET) I find something intolerably slow or tremendously buggy. Certainly, PHP and Ruby have definately improved over the years- maturing and adding better OOP tools. Certainly, many of the aforementioned solutions are *well conceived, solid tools*. However, so is JAVA. JAVA works.

      I have developed in JAVA for nearly a decade, and before that I used C++ and before theat C, LISP and others. I hear about the Horrible GUIS that you are stuck with in JAVA, all the while I write GUIS that are animated, colorful, easy to use in JAVA. I hear about the superiority of other Serverside 'frameworks', try them out, and find that JAVA Enterprise offers more features, more security, more scalability and etc. I hear about the technological 'legacy'-ness of JAVA while I delightlfully learn about and study all the new technologies and features JAVA adds to itself.

      Now, to do JAVA well, you really have to Grok OOP and software architecture (and thats not just knowing the standard design patterns and how to use EJB or hybernate!). But I would argue to do any good distributed scalable app, you *need* to know these things as well. Its a sad fact in the software world that most programmers are godawful hacks. Having frameworks that make it easier for godawful hacks to create Enterprise-style apps is not necessarily a good thing.

      So when I hear the slashdot commnity screaming the death of JAVA, I am reminded of listening to the recent interview with Cheney about the rosy situation in Iraq, filled with 'tremendous successes', and I wonder the same thing: 'when have you guys ever been right on this topic'. The Java discussion here is too polluted with FUD from the open-source fans (of which I am one, don't get me wrong). You folks were wrong a year ago, two years abo, 5 years ago... Why should I, a professional java developer doing good work in JAVA and publishing useful products, listen to any of you?

      So, let the flames begin

      • Psst, Buddy! Applets != Java. Applets are dead. Java is not. Clear?

        I say this as a Java developer of 11 years. (1996, baby!) Yet I am perfectly happy logging in and telling the world that Applets are dead. In fact, I can't wait for them to become a distant memory. They have done so much to tarnish the reputation of Java that it's not even funny. Java has found much better uses in a variety of other industries. It's time to let DHTML and AJAX mature into the role of rich web content.
        • Re: (Score:3, Interesting)

          by Qbertino (265505)
          Psst, Buddy! Applets != Java. Applets are dead. Java is not. Clear?

          I say this as a Java developer of 11 years. (1996, baby!) Yet I am perfectly happy logging in and telling the world that Applets are dead. In fact, I can't wait for them to become a distant memory. They have done so much to tarnish the reputation of Java that it's not even funny. Java has found much better uses in a variety of other industries. It's time to let DHTML and AJAX mature into the role of rich web content.


          [Info: I make a living bu
  • by xxxJonBoyxxx (565205) on Friday February 09, 2007 @01:01PM (#17950970)
    TFA is too pop-uppy for mere mortals to read, so I'm just going to guess. Is the reason that Javascript-based stuff taking over the role Java was supposed to fill ten years ago that Microsoft no longer ships a Java engine but it does ship a Javascript interpreter?
    • If you have firefox and web-dev tool bar you can get rind of the popups by disableing the CSS styles.
    • Re: (Score:2, Interesting)

      by Timesprout (579035)
      Well one of the contributing factors to the death of applets was Scott McNealy shooting SUN in the foot by forcing MS to distribute an old VM with windows which led to compatability issues for applet developers.
      • Re: (Score:3, Insightful)

        by Vengeance (46019)
        Yeah, Microsoft's decision to 'embrace and extend' the Java language specification had nothing to do with it. Microsoft duping developers into creating Java applets using said extensions that would *only* run on Microsoft's browsers had nothing to do with it.

        Tell me, if you're put in jail for a crime you deliberately committed, do you blame yourself, or do you take it out on the victim and the justice system?
      • Re: (Score:3, Insightful)

        by Billly Gates (198444)
        A week ago slashdot had a story about internal MS emails being released to the public.

        The head java evanglist at MS(now part of the J project) himself said "Who cares about cross platforms. It might have been an issue 5 years ago when I joined Microsoft but it is not now" which was dated from 1997.

        What condition would Linux be in today if all the applets were win32 based java apps? Why use AWT when you can use win32, .net, or AFC or whatever Ms's proprietary solution at the time was? After all 95% of the ma
      • by shis-ka-bob (595298) on Friday February 09, 2007 @03:41PM (#17953444)
        Gates explains that implementing AWT was a disaster for Microsoft because Java apps look as good as windows applications, see http://www.iowaconsumercase.org/122106/PLEX0_5879. pdf [iowaconsumercase.org] Read how Gates dislikes JFC at http://www.iowaconsumercase.org/122106/PLEX0_6109. pdf [iowaconsumercase.org] Read about plans to 'undermine Sun' at http://www.iowaconsumercase.org/122106/PLEX0_6114. pdf [iowaconsumercase.org] Then read Microsoft's view on implementing JDK 1.2 (to quote 'no fucking way') at http://www.iowaconsumercase.org/010807/PLEX_2708.p df [iowaconsumercase.org] So who limited the JDK to 1.1.18 ?
      • by mpcooke3 (306161) on Friday February 09, 2007 @03:55PM (#17953648) Homepage
        Are you suggesting Scott McNealy should have let Microsoft fork java so that windows had a Windows only version? Because that's what Microsoft was doing in an attempt to kill cross-platform Java and lock people into windows. Sun said Microsoft *could* release new versions of Java if they obeyed the license terms and released compatible versions and Microsoft chose not to do that.

        If you have any doubt what Microsoft was trying to do, let me quote the recently released Microsoft email on the subject:

        "Screw Sun, cross-platform will never work. Let's move on and steal the Java language."
        - Visual J++ product manager.
    • Re: (Score:3, Informative)

      by md17 (68506) *
      You can read the original version here:
      http://www.artima.com/weblogs/viewpost.jsp?thread= 193593 [artima.com]
    • Re: (Score:3, Insightful)

      by rs79 (71822)
      It wasn't THAT long ago that I had to disable javascript on every web browser I used or my computer(s) would lock up. These days it seems to work.

      The problem with Java as I saw it is unbelievably bloated. No, I don't want to download the extra 12 megs of java interpreter. And at the end of the day, where we're at now, most things can be done in Javascript.

      Java came. Java went. It shall not be missed any more than Cadol II was.

  • Java is stuck at the first generation rich client applets and the rest of the world has moved on. Flash and WPF/E are leaving it in the dust.
    • I see someone has never seen what Java applets can do.

      Most of HP Printers (4000 - 5000) series use Java Applets.
      HP's Integrated Lights Out has a Remote console mode that is built in Java via Applets.
      Tandberg Management Suite is a webapp that depends on a Java Applet.

      All of these were created with Java 1.4.
      • Re: (Score:3, Insightful)

        by bunco (1432)
        HP gives a bad example of how to use applets properly.

        I'm reminded of an HP print server (180wtfe) whose administrative web interface was packed full of applets. My response to the interface, "Why Java applets?" Applets were used for a very short navigation menu and even for info screens that had nothing other than text in them. It's almost as if they used applets just to fulfill the product's buzz quota.

        In short, it would have been much more usable had they stuck with straight HTML.
  • Java Applets (Score:5, Informative)

    by nmb3000 (741169) <nmb3000@that-google-mail-site.com> on Friday February 09, 2007 @01:07PM (#17951076) Homepage Journal
    Honestly? I'm glad Java applets' popularity has died. I have always hated pages that make use of Java, primarily because the applets are traditionally slow and clunky, and cause all sorts of problems for the browser.

    Flash usually loads fast, has good response, and have great interfaces. Java usually loads slow (and by slow I mean that in the time it takes the Flash applet to download and be ready to use, the JVM has just started) and has a poor interface with slow response. More "industrial" use of Javascript has also removed the need for many of these client-side applications.

    Good riddance is my response.
    • usually (Score:3, Funny)

      by DrSkwid (118965)
      Adobe Flash Player Download Center

      We are unable to locate a Web player that matches your platform and browser.
      Please visit our table of recommended Web players .
      • by quanticle (843097)

        Ummm, Flash Player 9 has versions supporting Windows, Mac, and Linux. Its not like they're being especially unfriendly towards alternate platforms...

        • Re: (Score:3, Informative)

          by leenks (906881)
          To some platforms. Flash9 support only just came out for x86 linux, there is no support x86_64, PPC etc, and no support for Solaris - let alone anything more unusual.
  • by RyanFenton (230700) on Friday February 09, 2007 @01:10PM (#17951116)
    Java technology and library development may have been steered towards web-oriented selling points, but the language itself isn't inherently oriented towards helping web developers and the like. Specialist scripting languages can always be developed to make specialist tasks faster - and Java (the language)is far too purely object oriented to be as specialist-efficient as some of the less object-oriented languages, without really stretching things.

    In fact, my favorite uses of Java (the language) aren't web-apps at all, they're applications like Azureus [sourceforge.net], and Eclipse [eclipse.org]. That's perhaps what Java (the language) is really best at so far from my perspective - cross-platform development of portable frameworks. It's because of that, that Java (the language) has a stronger future than Java (the technology), as a strongly object-oriented language developed to be portable.

    Ryan Fenton
    • by Malc (1751)
      Is talking about Java and then pointing at Eclipse as a good example like talking about Lisp and pointing at Emacs? ;)

      Java's popping up all over the place. Some Cable TV boxes embed it, as do Blu-ray players. My mobile phone supports Java for add-on applications.
      • by Gr8Apes (679165) on Friday February 09, 2007 @02:34PM (#17952438)
        I personally think the really telling thing is that many major web sites are java. Take a look at Ebay. Remember their "conversion" to .NET? It didn't last, doesn't scale. I'm also aware of several other large scale websites that I've personally been involved with that are either converted to java, or in the process of conversion, because their original codebase and architecture no longer scale. (Those were in Perl, C, and C++ btw).

        Java's strength is on the server side. Why? Because I can take code and migrate it from machine to machine, OS to OS, with little care for specifics of such moves. Hardware comes and goes, but business code lives forever (and if you doubt this, go look at the financial software run by any older large corporation, or the government for that matter). With Java, obtaining new hardware usually involves merely installing the JVM/application server and software, and you're up and running.
  • There's a bloomin' great ad for an Ajax Conference in the way! Oh the irony! Although I guess by now we'd have Java popup adverts messing up our pages....

  • by Anonymous Coward
    There was a huge window for windows applications that Sun had missed. By the late nineties MFC was growing very tiresome to most and for most MS platform devs there was definitely an eagerness for something better. The company I was working with at the time did some work with Swing, including developing one of our major apps in it. The problems are infamous to this day: memory leaks, resource hog, ui issues, bugs, and more. It was a pattern I heard a lot from many others trying to use Swing. At this ti
  • No no no no no (Score:5, Insightful)

    by argoff (142580) * on Friday February 09, 2007 @01:12PM (#17951160)
    The problem with Java was not an implementation or technology one. All first generation implementations are flakey (think Mosaic). The problem was that Sun controled it too much, so it was pre-destined to never become ubiquitous. If they GPL'd it from the get go, it would have been a shoe-in, game over, touchdown, and go home. Now they have, but by now it's probably a day late and a dollar short.
    • Re: (Score:3, Insightful)

      by mblase (200735)
      The problem was that Sun controled it too much, so it was pre-destined to never become ubiquitous. If they GPL'd it from the get go, it would have been a shoe-in, game over, touchdown, and go home.

      I'm not sure I follow your logic. Flash is pretty much ubiquitous, and it's not GPL'ed. Although other applications can and do read and write Flash files, Macromedia always kept a lock on the feature set. They just understood better what people WANTED to do with "applets" and restricted Flash to that, while Java
    • Sure, if by "too much" you mean "not enough, so Microsfot could come along and kill it", you're absolutely right.
    • Re: (Score:3, Insightful)

      by jellomizer (103300) *
      I don't think so. If the GPL it form the Get Go, they would probably not have put as much marketing behind it. The the GNU People would first give it a stupid name GNUStrongCoffee, Endless debate on weather it should work with KDE or GNOME, Skip the Bytecode version just compile it to run natively on your system for faster speed. Having 0 support from companies that are afraid of GNU software (To many confusions, fear of putting the wrong library in forcing them to OpenSource their product), So Support fro
  • by Marxist Hacker 42 (638312) * <seebert42@gmail.com> on Friday February 09, 2007 @01:15PM (#17951218) Homepage Journal
    Java's virtual machine, for the first several revisions, sucked ass and ran extremely slowly, cutting the general user experience on a Pentium I 100Mhz machine down to that of Windows 2.0 on a 80286 runing at 14 Mhz. If it wasn't for that, I would have probably been a lot more serious persuing Java as a "language I should learn".
  • M$ removed java from their os and browser. They also tried to change the Java language by adding the "delegate" keyword. They also created a far faster java compiler and vm, that weren't compatible with sun's. I rember wearing sunglasses at Microsoft with the "SUN" logo, and I didn't hear the end of it. All this is what I call chickenshit.
  • by Beached (52204) on Friday February 09, 2007 @01:20PM (#17951302) Homepage
    Look at the cell phone market. Java is everywhere, your blackberry, nokia, and even many windows mobile devices run midlets (Java applets for phones). It is a huge market, much bigger than the internet. More people have cell phones than have computers.
  • by Anonymous Coward
    What killed Java as a standard for rich apps are a number of reasons.

    1. Apps/applets have to be coded for multiple JVMs. Is the applet running on Sun's, and what features does it support, is it on MS's, or is it on IBM's? Other solutions like Flash have one and only one executable, so programmers don't have to guess what is running their code.

    2. Java is slow and ponderous. I can tell when a website uses Java when my web browsers (multiple) freeze for a number of seconds while it loads the JVM.

    3. Java'
    • Re: (Score:3, Insightful)

      by Tim C (15259)
      1. Apps/applets have to be coded for multiple JVMs.

      I've just spent two years as part of a team working on a web app that I developed on Windows, built under Sun's JVM, which was then deployed under Linux using BEA's JRockit JVM.

      None of us had any cross-platform or cross-JVM issues.

      In fact, I've spent most of the last 7 years writing Java under a variety of JVMs, mostly on Windows, that was then deployed to Linux or Solaris machines, often running different JVMs. I've never seen a single environmental issue
  • by Animats (122034) on Friday February 09, 2007 @01:21PM (#17951324) Homepage

    Java has a strange history. It was supposed to be a lightweight semi-interpreted language for use in web browsers. It ended up being the replacement for COBOL as a business application language, something nobody expected.

    What seems to have gone wrong in applet land is that, early on, Sun produced a huge collection of mediocre libraries. This, coupled with a linkage system that brought in the whole library if you needed any part of it, bloated applets to excessive size. Remember, at the time, most users were on dialup. So that just couldn't work.

    Also, as an aesthetic issue, Java's early fonts and visible objects were ugly. That was enough to turn off web designers.

    On the server, none of this mattered. A memory-safe language with decent execution speed was a huge win. When a Java servlet fails, you get a reasonable error message, not corrupted memory. That was enough to make it a success on servers.

    Java bloat continues to be a problem. There seems to be an excess of "packaging" associated with the language. Not clear why.

    • Re: (Score:3, Insightful)

      Java bloat continues to be a problem. There seems to be an excess of "packaging" associated with the language. Not clear why.
      Backwards compatibility... They have deprecated a bunch of APIs but have not removed any that I'm aware of.
    • by Billly Gates (198444) on Friday February 09, 2007 @01:51PM (#17951800) Journal
      Java is being continued and development is quite exciting. Unlike Cobol it has a very rich library and performance has been improved drastically with java5 and now java6. However like C its not really appropriate as a n applet language.

      Also java 6 has native GTK and Windows icons and fonts.
      • But it's too late. (Score:5, Insightful)

        by Animats (122034) on Friday February 09, 2007 @01:55PM (#17951862) Homepage

        It's probably too late, though. Even if it works now.

        Consider VRML. Remember VRML, 3D worlds on the desktop.? Too slow, too much bandwidth, lousy framerates back in 1997. Load up an old VRML browser today. With modern GPUs, it looks great and works smoothly. Nobody cares.

        • Re: (Score:3, Interesting)

          by Billly Gates (198444)
          I was just thinking about VRML a few months ago and want to relearn it. I think VRML is being abandonded for a more modern standard. I wonder if its possible to integrate it with ajax for some cool 3d games and applets online?
          • Re: (Score:3, Informative)

            by Animats (122034)

            VRML was supposed to be replaced by X3D [web3d.org], which is simply VRML 97 with XML delimiters instead of VRML delimiters. "Spinning logos in only 40 bytes" were promised. That went nowhere for years. But, surprisingly, it's coming back. But for completely different applications. Not virtual worlds, but 3D images of industrial gear.

    • Java bloat continues to be a problem. There seems to be an excess of "packaging" associated with the language. Not clear why.

      Nominally, it's because Java wants to give you complete platform independence, so they need to produce their own libraries for every single piece of functionality you might want.

      In practice, it's because Java and its libraries are designed by committee and by fiat, as opposed to having it evolve in the market place and through competition.
  • Several times I have seen large Java projects initiated because administrative types had heard that Java was the wave of the future. Eager to jump on the wave, they hired, contracted, and tasked programmers with implementing their next first Great Java Application.

    The problem was, the programmers they hired were not good designers or architects. I was forced to sit on the sidelines and watch as my predictions of poor requirements, poor design, and poor process turned into schedule nightmares, budget balloons, and gargantuan maintenance efforts proved to be true.

    Afterwards, those administrators blamed the programmers, of course, but they also blamed Java itself. It was incorrect and unfair, but true nonetheless.

    Looking back, the tech bubble attracted a lot of novice programmers who got hired at inordinate salaries to produce a level of quality they could not meet. As the bubble ended, many of these poor performers left but unfortunately some remain. My greatest fear is taking over for someone who "knows" Java because chances are they know how to write Java but they don't know how Java works.

    I am doing my part. I am teaching Java at a local community college where I make a point of teaching my students how Java works. I also explain basic but good coding practices and design practices. I hope it makes a difference in the long run. Arguing with the administrators sure didn't.

  • Another reason... (Score:5, Insightful)

    by Bazman (4849) on Friday February 09, 2007 @01:22PM (#17951352) Journal
    If I see something neat and cool done in HTML, JS, and CSS, I can very easily rip it and change it and stick something like it on my web page. Back in the old days of the web nearly all design was done like this.

    You can't do this (easily) with a Java Applet (unless the author makes the java source available) or a Flash application. If you want to figure out how something was done you have to dig into programming and work it out for yourself from the ground up. The openness and readability of HTML, JS and CSS make it really easy to get in above the ground floor level. Sure, you can still design horrendous web sites, but you can also design great web sites.

    HTML spread because it was easy to write and didn't require learning or using some hypertext authoring application. Perhaps Java applets failed because people took a look at the Hello World applet and thought, "WTF?".

    • by crush (19364)

      Not to disagree with what you said, but Bruce's conclusion is that Flash is what we should be writing in, not HTML/Javascript/CSS! And from tackling exactly what he talks about in the article: "My primary goal has been to create a slide-and-audio content delivery system, like you see in the Hands-On Java CD ROM or Thinking in C." I can see why he's drawn to Flash.

      No doubt you're thinking "easy"!, but it's not if you're trying to make it cross-platform, in fact it's a major pain in the ass, and if you loo

  • Ms canceled support for java in IE and of course IE is the golden standard. ITs wrong for webmasters to direct users to download software. If you do then they wont use your site and go elsewhere. Infact I know one Mac user who needs WMV support and will not do quicktime because users will go to another site if they have to use a pluggin.

    Also early in it had obscene system requirements. Why in 1996 with a system with 32 megs of ram would I want to run a bloated java app vs a nice activeX control?

    Awt is doubl
  • Sun was unable to convince or force Microsoft to continue updating Java, and Sun is notoriously clueless when it comes to producing client-side software. The few places that use Java web applications probably won't be in 2 years, when the MS JVM is finally gone forever and IT organizations find it impossible to conduct all of the testing required to keep Java patched against security threats and working with applications.
  • by bockelboy (824282) on Friday February 09, 2007 @01:51PM (#17951792)
    Wait, the guy who has been hired by Adobe to be the tech evangelist for Flex doesn't like Java? (Click on his profile in the article)

    What's this you say, he is writing an article which bashes Java for writing web applets and uses a series of questionable logic approaches to advocate Flex for web applets?

    Sheesh, if I was writing the summary for this article, it would have been "Java's Greatest Missed Opportunity WAS NOT BEING THIS AWESOME PRODUCT CALLED FLEX WHICH ADOBE MAKES! BUY FLEX!"

    Congratulations all of you who are arguing about the merits of Java - you've been astroturfed!
    • by Greyfox (87712) on Friday February 09, 2007 @02:03PM (#17951990) Homepage Journal
      Eckel wrote Thinking in Java which he allows you to download for free in its entirety. I think the guy knows a thing or two about the language. And he does make some excellent points, touching upon several of the reasons that I've been frustrated with Java in the past as well.

      Java is very good at what it does but far too often it's shoehorned into things it's not good at doing. If Eckel thinks flash makes a better UI I'm inclined to at least take a look at it. Though personally I tend to despise flash web pages -- seems like most of the ones on the Internet are designed to just annoy me.

      • by obender (546976)

        Eckel wrote Thinking in Java which he allows you to download for free in its entirety.
        Not any more, quote from here: [adobe.com]

        However, his recent book, Thinking in Java, Fourth Edition, is no longer available in a free, electronic form.
    • Well of course he hates java. It directly competes with flash and coldfusion.

    • It's not astroturf if someone is open about who they work for.

      Anyway, Adobe still has Java products. ColdFusion runs on Java, and they still sell JRun.

      I don't think there's anyone disputing the fact that Java applets failed on the web. When was the last time you went to a site with a Java applet?
    • by maxxdogg (138149) on Friday February 09, 2007 @02:41PM (#17952532) Homepage
      I agree. This guy found a proprietary solution that fits his purpose...and he's promoting it. This is a fluff piece for Flex.

      He also said "We do see relatively amazing Ajax-based tools like GMail and the other Google tools which are slowly seducing me (but I repeat: it took Google to create those, not Joe garage-programmer)."

      Look, Google did not invent AJAX. They were just the large company that had the balls to launch a major application using the technology. Joe gargage-programmer had been developing "AJAX" application for years. However, they did so on smaller custom apps. Also, many programmers were forced to support legacy browsers which severely limited the role of AJAX and its ease of implementation.

      Google wasn't the first company with the technology to launch an AJAX app...they were the first ones with the balls to launch it. They basically drew the line in the sand on browser compatibility (with the help of Mozilla.) Microsoft could have done this years earlier...but chose not to. They basically decided to pursue and promote web standards and protocols...and brought javascript back to the forefront.

      I don't know how Flex fits into this, but didn't Adobe hand over the code to Flash to Mozilla? I believe soon, REALLY SOON, you will be seeing more Actionscript/Javascript interaction natively in the browser. When that happens maybe you could return that license of Flex you paid so much for.

    • He says a lot of misleading things in the article.

      Now, however, you can download the free command-line Flex compiler to create static SWFs, and you can deliver these from your web site without paying any fees. The compiler, framework, and debugger are all free, so there's no reason to avoid using Flex.
      Well, no, I can't download the free Flex compiler, because I run Linux, and it's not available on Linux. I actually spent some time on Adobe's web site just now trying to find out what was actually availab

  • ... where another one will end. Seriously, Java's greatest strength is server-side dev. Have you looked around recently in popular commercial sites? See those URLs ending with .jsp or .do? Hint: that's Java.
  • by giafly (926567) on Friday February 09, 2007 @02:08PM (#17952064)
    I enjoyed playing with early Java applets until:
    1. The bloat that came in with swing [wikipedia.org] and its successors.
    2. The lawsuit vs Microsoft, which stopped me migrating my ActiveX-based applications to it. What were Sun thinking?
    3. Obnoxious zealots with their "thin client [wikipedia.org]" bullshit. I remember one embarrassing retard arguing that "Java is a religion". Yeah, right, we all want to work alongside guys like that.
    Why did you do it, Sun, why? Oh well, back to AJAX, where the "J" should have been short for "Java".
  • JavaScript 2.0 (Score:4, Interesting)

    by oohshiny (998054) on Friday February 09, 2007 @02:09PM (#17952068)
    I'm not gonna enumerate all the things that are wrong with Java. Instead, I'm just going to point out that I think Javascript 2.0 looks like it's going to be the future for many applications: it's easy to program, there are open source implementations of it, its default "GUI" (HTML) is cross-platform and widely used and understood, and by incorporating optional static type declarations, JavaScript 2.0 can be used for high performance computations as well. Oh, and it's going to ship with Firefox.
  • In a lot of things, there's just no real alternative to Java. You can say "oh flash beats java" but that's not true. Flash is, at it's heart, designed for interactive animations. You can't really do 3D in it, you can't really do networking with it, and you can't share classes between server and client (there is something to be said about being able to write both sides of a client server app, along with the website code, in one language)

    "Programming" in Flash is just graphics scripting. You can do alot w
    • I find that java is great for web based application interfaces such as found in JTail (www.fishcroft.ca) and the game World Conquest (www.fishcroft.ca/conquest/)both of which are entire multi-frame applications that are launched as applets in the web environment.
  • I can only speak for myself and from a few friends that I have talked with about the subject, but the biggest problem I have with java applets is the fact that its very confusing finding what you need to install just for applets, the always updating program that is just annoying, and the 120+ meg install and 300-400 megs worth of files that seem to be collected over a few months time.

    For my self, its just not worth having another program sucking up memory, bandwidth, and disk space just to use it for a few
  • by Anonymous Coward on Friday February 09, 2007 @02:31PM (#17952356)
    I thank Mr. Eckels for his contributions to programming literature. I've read Thinking in Java, Thinking in C, Thinking in C++, and Thinking in Python. Overall they're very informative about the particular ins and outs of the language they cover--- as well as insightful and informative about other programming concepts. The recent 'revelations' he's pointing out about Java, however, have been well known by the Java community for years. It wasn't an opportunity missed, but an opportunity seized, and taken away. Nobody would argue that the programming model for applets is inferior in any way to what we're left with concerning AJAX, or even Flash (And Flex2 which he is now promoting). Nor are they larger, or bulkier by any extent. In fact, GWT which he's citing as a 'temporary' patch allowing AJAX to expand and become more widely used and less complicated, is simply an attempt to paste the Java programming language on top of already existing Javascript interpreters. Making a considerably large, or complicated, Javascript application was nearly impossible without the advent of AJAX, to prevent such scripts from having to be reloaded with each page refresh. Flash is not as ubiquitous, or cross-browser compliant as Adobe, or Mr. Eckels, would like people to believe. Beyond simple tasks such as playing movies, or presenting simple media, it will fail on the majority of browsers. Only two of the Flex2 examples were completely usable on my Ubuntu Linux machine, running Flash Player 9.

    What we're seeing instead is what technologies could fly underneath Microsoft's radar, and become 'more' prevalent and compatible on various
    browsers than Java, gaining momentum, and use. The reasons Applets failed are widely known, and obvious--- the weren't Microsoft Approved, and Java
    wasn't open source. When Java first started gaining momentum, applets were widely used, due to the vast majority of Desktop users using Microsoft Windows, and Internet Explorer. As sun continued updating Java, Microsoft embraced the JVM, and included it in their browsers. They then started adding ActiveX extensions to Java, and promoting hybridization (although Microsoft Windows specific hybridization with ActiveX) through their Visual J++ development platform. Technically, they tried to gain control of Java, by completely tying it down to their platform through hybridization, and the fact that the majority of the developer market would be using their Visual J++ product[http://en.wikipedia.org/wiki/Visual_J%2B%2 B] (See litigation), unwittingly making applets that would work only with the Windows platform. Sun, then took Microsoft to court, pointing out that they were in violation of the virtual machine licensing agreement. The result was, a large period of time of political conflict between Sun, and Microsoft--- and a freeze in development and adoption of advances in the Java language in Internet Explorer as Java itself advanced leaps and bounds as a language. By the time the political turmoil settled, another technology, Macromedia Flash, had managed to squeak by unnoticed by Microsoft, and unadulterated (and considerably more controlled and proprietary than Java). On the Linux side of the spectrum, the explanation is much simpler, in the fact that Java was just open, but just closed enough, to rub open-source developers the wrong way. There has been considerable reluctance to buy into the Sun controlled Java community process, by the open source community, and to include Java components into open source platforms. Flash, on the other hand, provided absolutely no developer tools for Linux (Until now with the Flex compiler), and only a single proprietary plugin. In reality, it has been much more closed, controlled, and unavailable as a technology useful for open source development--- but has been less likely to embed into and pollute open-source code.

    And now, that Java is open sourced--- applets have gained a fairly bad reputation, due to users perceptions of the lack of pro
  • by QuietLagoon (813062) on Friday February 09, 2007 @02:38PM (#17952506)
    We must ask why Java applets haven't become ubiquitous on the internet as the client-side standard for RIAs....

    The Java runtime that Microsoft distributed with Internet Explorer was non-standard. Microsoft used that lack of standards compliance to make it appear as if client-side Java did not work correctly, effectively slowing down Java's acceptance in favor of Microsoft's Active-X technology.

    • by ucblockhead (63650) on Friday February 09, 2007 @04:26PM (#17954290) Homepage Journal
      Note that Active-X failed as badly as Java Applets, which makes one think that perhaps this was not the issue in Java acceptance.

      The reason that both Java Applets and Active-X applets failed where AJAX has taken off is that JavaScript and XmlHttpRequest are available as part of and are deeply integrated with every modern browser.
      • Re: (Score:3, Informative)

        The reason that both Java Applets and Active-X applets failed where AJAX has taken off is that JavaScript and XmlHttpRequest are available as part of and are deeply integrated with every modern browser.

        Mod parent up. Given two application stacks of equal feature/functionality merit, choose the one with the least TCO. The more software dependencies, the more likely that there will be problems with the client side install, the higher the TCO.

        I am not a big fan of Java Script and would prefer to code Java applets. However, the prototype library [prototypejs.org] and the debugger [mozilla.org] mitigates most of my complaints.

  • by Roman Coder (413112) on Friday February 09, 2007 @02:41PM (#17952544)
    Something to consider, Java/Swing is great for developing Intranet applications in businesses. So when people say Java is dying, and points to the lack of applets, that's not the whole story. Fortune 100 companies use Java/Swing/WebStart to develop their business applications. I know, I make a living writing the programs for these Fortune 100 companies. Someone else posted about how Java is the new Cobol, and in some sense that is true.

    Also, the writer of the article states this in his article...

    (Full disclosure: I'm in the process of working out a consulting contract with Adobe, to help them teach people about Flex. But long before this, I became convinced that Flash, and Flex in particular, was the best solution for the user-interface problem, and I began writing this article long before Adobe expressed interest in my assistance).

    Yes I know he wrote (and supported) Java books in the past, but his current career focus is somewhere else, and I would ask all of you to consider that it may be coloring how he looks at Java currently.
  • by numberthre (1044498) on Friday February 09, 2007 @02:57PM (#17952774)
    Java applets get back in the game. All someone (Sun? Fluendo?) needs to do is provide a (good) replacement for the myriad of atrocious, platform dependent, Flash video players. Surely Java applets can provide something better? Provide the server-side stuff, and the basic streaming/decoding base for the client, abstract the away the player interface (GUI, controls... etc) so people can customize the look+feel (they love to do that for some reason, even if they are shit at it) and make it relatively efficient (You couldn't do worse than Flash in performance if you tried). If the competition is Flash the goal is so low you can't help but succeed. Flumotion is on their way: http://stream.fluendo.com/demos.php [fluendo.com]
  • by Eric Damron (553630) on Friday February 09, 2007 @03:28PM (#17953234)
    Much of what Mr. Eckel says is true but I find it grating when he blames everything on the technology. For example:

    "JavaScript has been around since, effectively, the beginning of the Web, but the browser wars made JavaScript inconsistent and thus painful to use."

    Okay, let's forget for a minute that JavaScript isn't Java. That aside, the inconsistency of JavaScript during the time that Microsoft was illegally killing Netscape through the use of its monopoly was by Microsoft's design. It was using the now famous "Embrace, Extend, Extinguish" strategy. This was not the fault of the technology and there is nothing anyone can do to prevent Microsoft from playing dirty. Well not unless the Justice Department remembers where it left its balls.

    And Bruce gives us this little bit of pseudo wisdom:

    "If you use Firefox, how many sites do you visit that are at least partially unreadable because they've been created only for Internet Explorer (IE)? It seems to me that things are getting worse; I'm seeing more, not less sites that don't work right with Firefox...to the point that I'm seriously considering going back to IE.

    Again, the incompatibilities are by Microsoft's design. A strategy to unfairly and illegally maintain its monopoly market share by (you guessed it) embracing and extending "open standards." Good one Bruce, switch back to IE and let Microsoft's dirty tactics work. It looks like the Justice Department isn't the only one who has lost its balls.
  • by BalkanBoy (201243) on Friday February 09, 2007 @03:53PM (#17953630)
    everyone's got one, and I am or can be an asshole at times :), so I'll chip in.

    Java _stormed_, not just merely took over, but literally stormed the programming world much, as I understand it even though it's a bit before my time, like COBOL did. When I started my first job, 1996 as a fresh grad, C++ reigned supreme still for _application_ software.

    Slowly but surely, with the mass commercialization of the internet, the Java tornado came over the C++ camp, and blew it away (or I should say converted it, en masse).

    Java hit & solved some extremely important painpoints with C++. No one ever accused C++ of being inferior as a language, as a matter of fact, the STL has yet to be repeated in Java (and no, generics aren't same as STL - STL yields more power), however, its demise was inevitable, again IMHO (the asshole talks now :), because 1) no garbage collection (memory leaks get by even the best/most disciplined of software engineers/programmers), 2) the god damn syntax of C++ and its overloaded object model was _overkill_ for most newbie programmers. There was just one too many ways to blow your head off by C++'s powerful object model (think..pointers, references, new/delete, virtual destructors, 'smart pointer', exception handling was immature, copy constructors, assignment operators, operator overloading, reckless use of STL with pointers versus static objects, etc etc etc), and 3) 95% of software out there isn't system software (OS's, drivers, embedded) but application software. Hell, even for embedded nowadays one can use J2ME, and it works admirably well. This means if and when Java or a language like Java with enough similarity with C/C++ came by and removed all the pain points of its predecessors, it was bound to succeed.

    Java succeeded. It did not miss any opportunities. You can elaborate on the benefits of more dynamic languages today, like Ruby, Lisp, whatever, but as it stands, de facto, Java is the standard today for most web applications (and it is making huge inroads into embedded even realtime applications too).
  • by corecaptain (135407) on Friday February 09, 2007 @05:37PM (#17955892)
    I downloaded the flex sdk. Unfortunately, I am running 64bit Linux - and I discovered Adobe has
    not released the needed Flash 9 software for this platform -:)

    So I decided to do bit more reading...

    1) MXML - I don't like coding in XML. PERIOD. Maybe the extent of it is laying out your widgets, but my experience
    is that even doing "simple" configuration with XML leads to migrains in short order.

    2) Flex sdk may be free (as in beer) - but the Builder costs $499. This is a show stopper for many,many people. Even folks
    working in well funded shops usually "play" with new technologies on their own time and money and then convince
    management to make an investment. Sure maybe you can get by with just a text editor, I don't know. But it leaves a bad taste
    in my mouth - if I am going to commit to learning something new I want all the tools at the start.

    3) Flex Data Services - "after 1 cpu you are considered an enterprise user, please contact adobe..." Don't forget your checkbook.
    Something tells me that if I wanted to do something interesting/complex involving a database I am going to have to pay. Likely
    another show stopper.

    5) The whole enchilada is controlled by Adobe.

    Flex, it was nice meeting you - good luck.

  • by Sloppy (14984) on Friday February 09, 2007 @07:49PM (#17957624) Homepage Journal

    I always thought the Jawas' biggest missed opportunity was the battlestation plan that slipped through their fingers. They had it all, right there in the memory of an R2 unit that they sold for a pittence to some farmer. If they had taken the time to really check that droid out, and think big for a change (I don't mean sandcrawler big, I mean really big) they could have become a force to be reckoned wi--

    What? Oh, Java!

  • by bcrowell (177657) on Friday February 09, 2007 @07:53PM (#17957666) Homepage

    Here's one of his criticisms of AJAX:
    And more and more often, when I use web applications like GMail, my "control-c" copy operation stops working. [...] When things this simple are broken, the outlook is not promising.
    Hmm...Flash 9 crashes my browser (Firefox on Linux). This is the Flash 9 that is no longer supposed to be a beta. I'd say that when things this simple are broken, the outlook is not promising for Flash.

    He says Java is:
    Not Cross-Platform Enough
    Hmm...Flash 9 doesn't work for me on Linux. Flex isn't available on Linux, and I believe the Mac version is still a beta. Flash Player isn't available at all on 64-bit Linux, or on FreeBSD, so your only alternative would be something like Gnash, which isn't really far enough along to be able to run most flash apps. So yeah, I guess Flash is cross-platform, if you run Windows -- but maybe not so much if it's not a platform that Adobe thinks is profitable. Java, on the other hand, is never going to be locked out of an entire platform, because the whole Java infrastructure is GPL (or will be within a month). You want Java on your platform, you're free to compile it for your platform.

    People are very familiar and comfortable with Flash, and it is installed on almost all machines in the world. It's trusted, stable and reliable.
    Huh? Many people consider flash a nuisance. Trusted??? Why does he think flashblock exists? Maybe because many people don't like flash?

    Installation is a no-brainer for everyone. You don't have to answer questions or do anything special; it just works.
    Hmm...I didn't find it to be that much of a no-brainer. Here are my notes on installing Flash:

    Installing flash player 9 :
    download tarball from http://labs.adobe.com/downloads/flashplayer9.html
    unpack
    cp libflashplayer.so /usr/lib/firefox/plugins/
    ...or maybe...
    cp libflashplayer.so /usr/lib/flashplugin-nonfree/libflashplayer.so
    .. .or maybe...
    cp libflashplayer.so ~/.mozilla/plugins
    Actually this causes firefox to crash every time I hit a page with flash. Could be this bug, https://launchpad.net/ubuntu/+source/flashplugin-n onfree/+bug/62988 , but setting the environment variable they suggest doesn't help.
    Installing the release version of flash 9:
    download tarball and run the flashplayer-installer script
    "Please enter the installation path of the [browser]" -- wants the directory where plugins and components subdirs are, which on ubuntu is /usr/lib/firefox
    crashes just like the beta, Jan 2007
    Installing flash player 7:
    http://plugindoc.mozdev.org/linux.html
    downlo ad it, unpack the tarball
    cp libflashplayer.so ~/.mozilla/plugins/
    mkdir ~/.mozilla/components (?)
    cp flashplayer.xpt ~/.mozilla/components
    This worked for me Jan. 2007

    ... AWT and Applets were thrown in at the last second, reportedly taking a month from conception to completion. ... this attitude always seems to be a mistake when building programming languages. You're creating the fundamental architecture that you hope people will adopt and use for many years. This is the place that requires careful thought, not rushing.
    Um, Flash has done exactly the same thing. They changed the syntax of the language between AS2 and AS3. Recommended coding practices have changed drastically over the various versions of Flash. If you read any recent Flash book, they tell you not to code the way people used to code in Flash, because apps coded the old way turned out to be unmaintainable. The main difference are that:

    1. AWT is free, and the entire Java platform is going to be completely GPL within about a month, whereas Flash's GUI library (MX v.2 components) is not free, and its license forbids you from using it unless you own a copy of flex.
    2. AWT

Promising costs nothing, it's the delivering that kills you.

Working...