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:
  • by Timesprout (579035) on Friday February 09, 2007 @02:10PM (#17951122)
    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.
  • by c0d3r (156687) on Friday February 09, 2007 @02:20PM (#17951298) Homepage Journal
    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.
  • Re:Flash and Plugins (Score:5, Interesting)

    by AKAImBatman (238306) * <akaimbatman.gmail@com> on Friday February 09, 2007 @02: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.)
  • by AKAImBatman (238306) * <akaimbatman.gmail@com> on Friday February 09, 2007 @02:38PM (#17951602) Homepage Journal

    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 Scripting space, the implementation was screwed up by poor Livescript interfacing.

    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.

    AJAX/DHTML is still a very young industry, partly because ubiquitous DOM Support is still a very new thing. (No thanks to Microsoft's inability to support the specs. Grrr.) If and when the WHATWG specs are ratified, I think you'll see a massive uptake in the capabilities of the average application.

    If you still don't believe me, take a look at Canvascape [abrahamjoffe.com.au] and tell me that the prerelease technology isn't already impressive. All without sacrificing the existing Javascript/DOM design. :)
  • by AKAImBatman (238306) * <akaimbatman.gmail@com> on Friday February 09, 2007 @02:59PM (#17951924) Homepage Journal

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

    document.getElementById("thething").innerHTML = "<div>Lots of wacko HTML here</div>";
    [...]
    <body onclick="doSomething();">
    <a href="javascript:alert('Phear my mad skillz!')">
    <p id="thething"></p>
    </body>
    It's so incredibly difficult to open the eyes of coders to the scalable, Object Oriented world of Javascript when they are so used to integrating cutsey scripts into their pages. :(
  • by giafly (926567) on Friday February 09, 2007 @03: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 @03: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.
  • by DrSkwid (118965) on Friday February 09, 2007 @03:09PM (#17952074) Homepage Journal
    1fps is not "impressive"

  • by Billly Gates (198444) on Friday February 09, 2007 @03:17PM (#17952170) Homepage Journal
    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:Flash and Plugins (Score:4, Interesting)

    by ObligatoryUserName (126027) on Friday February 09, 2007 @03: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 maxxdogg (138149) on Friday February 09, 2007 @03: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.

  • by numberthre (1044498) on Friday February 09, 2007 @03: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 Dogtanian (588974) on Friday February 09, 2007 @04:25PM (#17953178) Homepage

    By contrast, monopolistic behemoths, like Microsoft (and many Japanese companies), have the financial luxury of carefully developing a product. C# is an example of such development. It is nearly flawless and is superior to Java.
    I agree that C# is probably superior to Java, or at least was when it launched; but you seem to forget that it came out 7 or 8 years later.

    Let's be honest; MS were able to benefit from Java's evolution without having to support the dead-ends and (retrospectively) mistaken design decisions that Java accumulated over the years. C# is pretty much what you'd expect if someone were to design a new, legacy-free not-close-enough-to-get-sued copy of Java with the benefit of hindsight and without the issue of compatibility.

    Not to dismiss some of the nice features, but it's easier to see the need for (and implement) them in a language piggybacking on 7-8 years worth of someone else's experience.
  • by corecaptain (135407) on Friday February 09, 2007 @06: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 Maltheus (248271) on Friday February 09, 2007 @06:57PM (#17956210)
    Why do so many people equate Java with applets? I'm glad that applets didn't take off, just as I am upset that flash did. I just want a simple, more elegant web that doesn't freakin' scream at me all the time. And Java has taken off, with regards to internet applications. Most people just never see it since it runs on the server. It's ubiquitous yet Slashdot articles always try to make it seem like it's dying because people here think it's slower than punch cards and oh yeah, they once saw a poor UI. But trust me, it's not going away, at the enterprise level, any time soon. And I'll take IntelliJ's UI over KDevelop or Visual Studio any day of the week.
  • by bcrowell (177657) on Friday February 09, 2007 @07:43PM (#17956920) Homepage

    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 available. I couldn't find any link from http://www.adobe.com/products/flex/ [adobe.com] to any "free command-line Flex compiler" at all, just links to a demo version, and a version that costs money. Maybe he's referring to the demo version? That's pretty pathetic, if he's telling people the cost of the compiler is no barrier because a crippled demo version is available. I couldn't find any information on the web site about what operating systems the demo version would run on, so I went through the registration process, and when I finally was ready to download, the only options were Windows and Mac. Last I heard, the Mac version was a beta.

    However, with Flash 9 and beyond, all the players will be released within weeks of each other, and this policy should hold for future versions of Flash. So now you don't have to worry about complaints from anyone. Build your UI with Flex, and it will "just work."
    Uh, I've got a complaint. I installed Flash 9 on my Ubuntu box, and it didn't "just work." It crashed my browser. I had to deinstall it and reinstall Flash 8.

    I spent a bunch of time about a month ago looking into the idea of using Flash as a platform for writing OSS. At the end, I concluded that it just wasn't a viable choice.

    1. A full, usable Flex development environment from Adobe costs bucks.
    2. There are OSS compilers: MTASC and haxe. MTASC only supports AS2, and although haxe can generate AS3 code, haxe is not the same language as AS3. So in other words, there are severe problems with source-level compatibility if you want to do AS3 using OSS compilers.
    3. The version 2 component library (for programming GUIs) comes with a license that prevents you from using it unless you own the Flash IDE. There are alternative OSS GUI libraries for flash, but then you don't have source-code compatibility with any code that was written for Flex.
    4. The only supported audio codec is mp3, which is under patent in the U.S. That's why, for example, mp3 codecs are not included in Debian, and if you live in the U.S., you have to download the codecs from overseas servers.
    5. The only supported video codec is proprietary, although you really can't blame Adobe for this, since there is no usable, patent-free video codec at the present time. (Theora is not practical to use yet.)

    So basically Flash is a totally proprietary platform from A to Z. You buy a flash book and try to compile any of the nontrivial programs in it without paying money to Adobe, and it won't work. I got "hello world" to work with MTASC, and beyond that, it just wasn't possible; there's just not enough source-level compatibility.

    Why in the world would anyone want to hitch their wagon to YAPPL (Yet Another Proprietary Programming Language)???

  • by bcrowell (177657) on Friday February 09, 2007 @08: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
  • by Qbertino (265505) on Saturday February 10, 2007 @07:56PM (#17967084)
    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 building RIAs (Flash Appications, mostly - I wish Java would be up to the job as initially intended)]

    No it's NOT time DHTML and Ajax to take over! Heaven forbid. It is, though, now that it is finally open sourced, after 10 years for some smart people to finally take control of Java and turn it into what it was intended for: The reference for all things RIA. Since nearly 10 years has Flash been the best thing we had for truly x-plattform RIAs with a penetration of far more than 90% install base. Dealing with the Java VM has been as pleasant and as interesting as grating fingernails and Sun didn't do *squat* to change that. Java still is the only existing, mature technology that has the potential to lead the way in RIAs. It is the only potential competitor to Flash (XUL Runner will take another half decade I presume) and now that it's OSS someone might just get it to step up. The Article, btw, mentions *this* as the primary reason why Java didn't take off and landed where it shurely does not belong: At the server side. The /. Meta article has it wrong (as ususal). The article though is correct. As it clearly says, Javas showstopper was the complete ignorance of all things multimedia.
    I nearly agree on all points - only I hope that Java finally arives where it was intended to land in the first place. Now that it's OSS Sun can't be a hindernace anymore. Add a usable vector engine, solid audio, video, streaming and GUI oriented developement options and maybe a VM that doesn't suck to install and Java is back on track.
    But then again, being that Java developers like you are happy where they are it could be that Flash will continue to lead the way for a very long time. If Adobe doesn't screw around to much they can hardly go wrong.

You can get everything in life you want, if you will help enough other people get what they want.

Working...