Java's Greatest Missed Opportunity?
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.'"
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 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.)
Javascript + Nintendo DSi = DSiCade
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.
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.
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.
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
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.
"Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
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.