Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Java's Greatest Missed Opportunity?

Zonk posted more than 7 years ago | from the steaming-cup-of-dissapointment dept.

Java 362

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.'"

cancel ×

362 comments

Sorry! There are no comments related to the filter you selected.

Missed the Boat on Missing the Boat (5, Informative)

AKAImBatman (238306) | more than 7 years ago | (#17950922)

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.

Re:Missed the Boat on Missing the Boat (1)

Vengeance (46019) | more than 7 years ago | (#17950960)

Damn straight.

This is 'the mainframe is dead' all over again.

Re:Missed the Boat on Missing the Boat (0)

Anonymous Coward | more than 7 years ago | (#17952444)

I don't see any mainframes. I see a lot of enterprise servers, though.

Re:Missed the Boat on Missing the Boat (3, Funny)

AP2k (991160) | more than 7 years ago | (#17951172)

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

Re:Missed the Boat on Missing the Boat (4, Insightful)

AKAImBatman (238306) | more than 7 years ago | (#17951312)

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:Missed the Boat on Missing the Boat (2, Insightful)

CastrTroy (595695) | more than 7 years ago | (#17951698)

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:Missed the Boat on Missing the Boat (2, Interesting)

AKAImBatman (238306) | more than 7 years ago | (#17951924)

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. :(

Flash and Plugins (3, Funny)

nova_ostrich (774466) | more than 7 years ago | (#17951364)

But for much of the same reason that web users balked at Flash and Plugins

The numbers disagree [adobe.com] .

Re:Flash and Plugins (4, Interesting)

AKAImBatman (238306) | more than 7 years ago | (#17951500)

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 (3, Interesting)

ObligatoryUserName (126027) | more than 7 years ago | (#17952262)

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.

Re:Missed the Boat on Missing the Boat (2, Insightful)

timeOday (582209) | more than 7 years ago | (#17951424)

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:Missed the Boat on Missing the Boat (2, Interesting)

AKAImBatman (238306) | more than 7 years ago | (#17951602)

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. :)

Re:Missed the Boat on Missing the Boat (2, Interesting)

DrSkwid (118965) | more than 7 years ago | (#17952074)

1fps is not "impressive"

American Industry != Academia (0)

Anonymous Coward | more than 7 years ago | (#17951534)

That's why the AWT and Applets were thrown in at the last second, reportedly taking a month from conception to completion.

American industry is not academia. Many managers are driven by money and usually put tremendous pressure on good slaves to produce a product -- any product, regardless of quality -- to sell in the marketplace.

Careful, thoughtful design did not go into the final stages of developing Java.

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.

Re:Missed the Boat on Missing the Boat (1)

laplace_man (856560) | more than 7 years ago | (#17951700)

Java Applets are not that beautiful compared to flash that's the only reason. They work better then flash...but on the end end users judge web applets by look. It's that simple :)

Re:Missed the Boat on Missing the Boat (2, Funny)

mad.frog (525085) | more than 7 years ago | (#17951780)

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:Missed the Boat on Missing the Boat (2, Insightful)

AKAImBatman (238306) | more than 7 years ago | (#17951998)

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 many C/C++ programs.

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.

"Mom" doesn't debug an app. "Mom" would troubleshoot to the best of her abilities. (Which, I'm afraid would not be very considerable.) Mr. Eckel asked how you would debug such an app. I answered. :)

Re:Missed the Boat on Missing the Boat (0)

Anonymous Coward | more than 7 years ago | (#17951828)

People, people, people...

Java is merely a language. Syntactic sugar, blaugh, blaugh, blaugh...

The reason why Java has stumbled on the client side and the desktop is because of a lack of good frameworks and the lack of good usage patterns. Sure, a lot of this we can blame on Sun pushing the networking and server side aspects. The push brought armies of netties and webbies to Java, and not a lot of GUI or applications developers. But no matter what the cause is we are where we are today.

The reality is that the client side and the desktop don't have to be dead. This is where OSS projects and the Java community at large can come in. This is a golden opportunity for someone that wants to make a name for them self to step up and create something useful.

Java is just a language and nothing more...

Lemme guess...Microsoft stopped bundling Java? (3, Insightful)

xxxJonBoyxxx (565205) | more than 7 years ago | (#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?

Removing popups (1)

pfafrich (647460) | more than 7 years ago | (#17951088)

If you have firefox and web-dev tool bar you can get rind of the popups by disableing the CSS styles.

Re:Lemme guess...Microsoft stopped bundling Java? (2, Interesting)

Timesprout (579035) | more than 7 years ago | (#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.

Re:Lemme guess...Microsoft stopped bundling Java? (2, Insightful)

Vengeance (46019) | more than 7 years ago | (#17951198)

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:Lemme guess...Microsoft stopped bundling Java? (0)

Anonymous Coward | more than 7 years ago | (#17951522)

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?

Depends. Ask Marion Barry.

Re:Lemme guess...Microsoft stopped bundling Java? (2, Insightful)

Billly Gates (198444) | more than 7 years ago | (#17952286)

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 market uses windows.

But since flash has taken off you can go to www.youtube.com under macosx and Linux.

Sun did the right thing and it would have killed java. IF java is no longer portable than why can't it not integrate and be fast? Its an argument they would have lost.

Re:Lemme guess...Microsoft stopped bundling Java? (1, Funny)

Anonymous Coward | more than 7 years ago | (#17951266)

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?
Sort of. Quick version: Every browser has that JS interpreter and Google provided the GWT to translate Java into browser-specific JS. Java not only has the installation problem, but is stale. JS, though, won't do everything we want it to in the future. Flash will. But flash doesn't have a real programming language attached to it. But it does now! And the future is writing flash apps in Java. yay.

The future of the web is.... irony! (0)

Anonymous Coward | more than 7 years ago | (#17951372)

Try disabling script if adverts annoy you, also Java and flash.

Re:Lemme guess...Microsoft stopped bundling Java? (-1, Troll)

oohshiny (998054) | more than 7 years ago | (#17952128)

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?

Microsoft stopped shipping Java long after Java had already died on the desktop. No, the simple reason is that Sun Java is a p.o.s. technologically, and has been proprietary and highly controlled by Sun for the last decade.

Sun did it to themselves with Java. Their recent "open source" announcement is merely an act of desperation, and even now, they still can't bring themselves to let go.

Java University... (0, Offtopic)

creimer (824291) | more than 7 years ago | (#17951034)

We must ask why Java applets haven't become ubiquitous on the internet...

So it's not enough that most community colleges and universities have Java as the primary programming language? I'm fortunate that I'm taking two classes in C++ this semester since I'm sick of Java. The instructor was good enough to offer textbooks for both courses in either C++ or Java.

Re:Java University... (1)

oudzeeman (684485) | more than 7 years ago | (#17951474)

My old university taught the introductory courses in C++, upper level courses usually allowed assignments in the language of our choice. There was an elective course in Java. My computer modeling professor was annoyed by one student that insisted in doing is homework in Lisp (he was a student with an AI focus). The modeling professor's favorite language was Fortran. I tried to get on his good side by turning in a few assignments in Fortran 77 :)

now the department teaches first year students in Scheme, then I think they are exposed to C++ and Java after they already know programming concepts.

Java stuck at 1st Generation (1)

N8F8 (4562) | more than 7 years ago | (#17951058)

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.

Re:Java stuck at 1st Generation (1)

EmperorKagato (689705) | more than 7 years ago | (#17952160)

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.

Java Applets (4, Informative)

nmb3000 (741169) | more than 7 years ago | (#17951076)

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 (2, Funny)

DrSkwid (118965) | more than 7 years ago | (#17951996)

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 .

Re:usually (-1, Troll)

Anonymous Coward | more than 7 years ago | (#17952292)

Flash has versions that run on Windows, x86 Linux and OSX. If you're running anything else as your desktop system you can go fuck yourself.

Re:usually (1)

quanticle (843097) | more than 7 years ago | (#17952456)

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

Java is generalistic... (5, Insightful)

RyanFenton (230700) | more than 7 years ago | (#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

Re:Java is generalistic... (1)

Malc (1751) | more than 7 years ago | (#17951518)

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.

Re:Java is generalistic... (0, Insightful)

Anonymous Coward | more than 7 years ago | (#17951624)

Java in Blu-ray players.
Just another reason not to buy one!
*dons a fire suit*

Re:Java is generalistic... (1)

EmperorKagato (689705) | more than 7 years ago | (#17952256)

You may want to add every cellphone on the market to that list.

Re:Java is generalistic... (4, Insightful)

Gr8Apes (679165) | more than 7 years ago | (#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.

I cant read this! (1)

Bazman (4849) | more than 7 years ago | (#17951138)

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

Java missed a huge window with Windows apps (2, Insightful)

Anonymous Coward | more than 7 years ago | (#17951140)

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 time though .NET was still years away. The desire for better programming environments was there and had Swing (and AWT) been delivered in better form it could have been a much different world today.

Java was just too heavyweight (0, Offtopic)

Space cowboy (13680) | more than 7 years ago | (#17951146)

The last java applet I wrote geolocated you on the globe (by your IP address), and did an 'enemy-of-the-state' style zoom-in to your city. In retrospect, I wish I'd written it in flash - it's just annoying to see a grey box for a few seconds while the applet VM initialises itself. At least in Flash, you can put a "loading..." animation up quickly.

If you want to know more about the geolocation thang - details at my blog [gornall.net] [no adverts :-]

Simon.

Re:Java was just too heavyweight (1)

EmperorKagato (689705) | more than 7 years ago | (#17952080)

In Java 5+ you are welcomed with a White background with the Sun Java Symbol that says "Loading"

Re:Java was just too heavyweight (0, Troll)

fimbulvetr (598306) | more than 7 years ago | (#17952294)

Whoopdy fucking do.

10 years of convincing people that applets are "fast" has resulted in them realizing they really aren't so fast. So now instead of users having 10 seconds of a non-responsive grey page rendered by their browser, they get a 7 year old shitty animated icon laughing at them for making the shitty mistake of visiting the page.

Re:Java was just too heavyweight (3, Funny)

badfish99 (826052) | more than 7 years ago | (#17952340)

And what colour background do you see while upgrading to Java 5?

It's a good general rule of thumb with Java that, whatever you want to do, it can be done once you've upgraded to the next version.

Easy (1)

JamesP (688957) | more than 7 years ago | (#17951150)

Flash player has most of the needed capabilities (ok, blinking lights and such), and starting its VM doesn't hose the machine like Java does.

Re:Easy (0)

Anonymous Coward | more than 7 years ago | (#17952094)

For having used Flash and Java, the thing that annoys me in Flash is that it is lacking the lack of multi-threading. If you have to perform something long, it just hangs the entire browser. Annoying...
I know, people will say "You are not using it right. Use timers or events." The truth is that in my case I need to do long computations, and unless I am willing to split my code in chunks to be performed separately (very inconvenient), then I am out of luck.
Java gives you a lot more in term of capabilities (let's just mention threads and longs), and has richer APIs.
But at the same time, it takes for ever to load the JVM, and chances are your code must be targeted at JDK 1.1 because some users might be stuck with the MS JVM.

So my conclusion is, if I have to choose, I'll go with Flash, but not for the language or APIs. Just because the player is everywhere and loads in a snap.

No no no no no (4, Insightful)

argoff (142580) | more than 7 years ago | (#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:No no no no no (2, Insightful)

mblase (200735) | more than 7 years ago | (#17951402)

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 was more universal and consequently slower to execute.

Re:No no no no no (1)

geoffspear (692508) | more than 7 years ago | (#17951496)

Sure, if by "too much" you mean "not enough, so Microsfot could come along and kill it", you're absolutely right.

Re:No no no no no (2, Insightful)

jellomizer (103300) | more than 7 years ago | (#17951498)

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 from Companies such as Microsoft, and Adobe would be much weaker then it already has been. Basically JAVA would be a Linux tool with a Windows port. It would be like Python or Ruby is today. Known by programmers, not put on the need to know and put on my Resume. Java would be a filler language to show that they know many languages.

I thought it was because (3, Insightful)

Marxist Hacker 42 (638312) | more than 7 years ago | (#17951218)

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

Flash === FAILURE (0)

Anonymous Coward | more than 7 years ago | (#17951270)

The only obvious solution is Flash.

Not much of a solution for me, I refuse to run script or bytecode. Quick, someone adapt the FUSS boilerplate for this clown.

Re:Flash === FAILURE (0)

Anonymous Coward | more than 7 years ago | (#17951760)

Not much of a solution for me, I refuse to run script or bytecode.

Fortunatly no one is stupid enough to care about what a jackass like you will or will not run.

shove it, moron.

Re:Flash === FAILURE (0)

Anonymous Coward | more than 7 years ago | (#17952088)

I refuse to run script or bytecode.
I guess you don't use your computer for many useful and enjoyable tasks.

Re:Flash === FAILURE (1)

DrSkwid (118965) | more than 7 years ago | (#17952182)

hear hear

besides, I have no choice :

You may not have everything you need to view certain sections of Adobe.com. Please see our site requirements.

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 .

       

Microsoft's Chickenshit Actions Killed Java (2, Interesting)

c0d3r (156687) | more than 7 years ago | (#17951298)

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.

it's Sun's own fault (-1, Flamebait)

oohshiny (998054) | more than 7 years ago | (#17952242)

Sun was delivering a proprietary language on a proprietary implementation, going around threatening to sue people left and right. And Sun was taunting Microsoft and saying that they would turn Windows into a "device driver" for running Java. Why the hell shouldn't Microsoft try to kill Java, even if Java had been any good. Of course, Java wasn't any good: it was slow, bloated, and poorly designed, and has continued that tradition to this day.

Sun seems to have given up on attacking the Microsoft desktop, but they still seem hell-bent on trying to take over the Linux desktop (thankfully, their technology is so lousy that people aren't even noticing).

Microsoft has pulled many evil and sleazy tricks in their days. But adding "delegate", creating a faster VM, and adding plenty of native libraries to Java actually made technical sense and were completely reasonable. And if Sun hadn't been so damned arrogant and stupid and had worked with Microsoft and others in industry, we'd have a single language and core set of libraries today--far better than Java is today--instead of Java and C#/.NET.

Java is far from dead (5, Insightful)

Beached (52204) | more than 7 years ago | (#17951302)

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.

Java -- no standards, JVMs aplenty (2, Insightful)

Anonymous Coward | more than 7 years ago | (#17951310)

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's language and bytecode are pretty much married to each other. .NET met success in a a lot of places because programmers don't have to change the language they are used to, and it wasn't as big a step to move from VC++ to Managed VC++ code.

Re:Java -- no standards, JVMs aplenty (0)

Anonymous Coward | more than 7 years ago | (#17952070)

1. No, they don't.

2. No, it isn't. Unless you're machine is a piece of crap, it's pretty much instant.

3. No, it's not. It's not very good for dynamic languages but that's because it wasn't designed for that. Of course, they are adding support for that.

In short, you're wrong on all counts. Let me guess, your a Flex moron like Eckel?

Eckel is simply promoting himself and Flex. I hope Adobe is paying him well for his FUD. Eckel has been a on a huge anti-java drive.

Java ended up being the next COBOL. (4, Insightful)

Animats (122034) | more than 7 years ago | (#17951324)

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:Java ended up being the next COBOL. (2, Insightful)

John Courtland (585609) | more than 7 years ago | (#17951688)

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.

Re:Java ended up being the next COBOL. (3, Informative)

Billly Gates (198444) | more than 7 years ago | (#17951800)

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. (4, Insightful)

Animats (122034) | more than 7 years ago | (#17951862)

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:But it's too late. (2, Interesting)

Billly Gates (198444) | more than 7 years ago | (#17952170)

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:But it's too late. (0)

EmperorKagato (689705) | more than 7 years ago | (#17952190)

The peacock has just grown its tail.

Coming from 10 years full-time Java experience (4, Insightful)

triskaidekaphile (252815) | more than 7 years ago | (#17951336)

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.

Re:Coming from 10 years full-time Java experience (5, Funny)

Anonymous Coward | more than 7 years ago | (#17951510)

> It was incorrect and unfair, but true nonetheless.

These novice programmers you mention, did any have problems with boolean algebra?

Another reason... (4, Insightful)

Bazman (4849) | more than 7 years ago | (#17951352)

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?".

Re:Another reason... (1)

crush (19364) | more than 7 years ago | (#17951600)

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 look at most of the solutions in that domain they use ... Flash. Really the article is mis-titled (never mind the Slashdot title), it should be "Why Flash beats the pants off Java for Rich Internet Applications and what we should fix in Java", but I can see why the editors chose another title ;)

Re:Another reason... (1)

tmarthal (998456) | more than 7 years ago | (#17952218)

Uhh, he obviously doesn't know XHTML/JavaScript/CSS enough to be making those decisions. The X in front of the HTML is pretty important, as you just have a well formed document (text/image/audio/video) and want to display that a certain way.

S5 [meyerweb.com] (Simple Standards-based Slide Show System) does what you are describing, and it does it for any XHTML and is fully customizable. See the example [meyerweb.com] linked from the page if you don't believe me.

Re:Another reason... (0)

Anonymous Coward | more than 7 years ago | (#17952168)

I agree that Java is not good for making interactive web pages. Where Java does well is small self-contained programs that are too sophisticated to work well as scripts or code snippets but too small to justify the trouble of downloading and installing permanently. A while back I was trying to learn more about electromagnetism and I came across some physics applets [falstad.com] that are a good example of this.

Re-inventing the Wheel (1)

sycodon (149926) | more than 7 years ago | (#17951368)

We must ask why Java applets haven't become ubiquitous on the internet as the client-side standard for RIAs

It's simple. Because someone will always come out with something different and call it better. People will then learn it, update their resumes, and get paid more money because they know the "latest" in the technology. Then it will repeat itself again. There will always be an alphabet of options and acronyms for creating application, on the web or workstation. People just love re-inventing the wheel.

MS had alot to do with it (1)

Billly Gates (198444) | more than 7 years ago | (#17951442)

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 double buffered because it had to be in order to be compatible with many platforms. Java is difficult to program in for newbies with no object oriented programming experience. I really had to learn C and C++ in order to understand the syntax. Many programmers back then found it difficult to use.

Those 3 things killed it on the client side. If IE was not so domminant it may have a rebirth

should call that site spamworld (0)

Anonymous Coward | more than 7 years ago | (#17951468)


because thats what it is, a website full of spam banners, pseudo whitepapers and event marketing
ive seen less adverts and more content on a domain squatters site

not to mention the site has NO AJAX technology on it at all, they must be desperate if it takes that many adverts to make a living as a writer

shame on them, or shame on slashdot for linking such leeching crap

Client Side Java is a dead end (1)

duffbeer703 (177751) | more than 7 years ago | (#17951532)

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.

Article's autho works for a rival company, ignore. (4, Informative)

bockelboy (824282) | more than 7 years ago | (#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!

Re:Article's autho works for a rival company, igno (4, Insightful)

Greyfox (87712) | more than 7 years ago | (#17951990)

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.

Re:Article's autho works for a rival company, igno (1)

obender (546976) | more than 7 years ago | (#17952426)

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.

Re:Article's autho works for a rival company, igno (1)

syrinx (106469) | more than 7 years ago | (#17952154)

Um, he wrote Thinking in Java, one of the best Java books out there, and he fully admits in the article (which you obviously didn't read) that he now works for Adobe to promote Flex.

Mod parent down, please.

NO! Don't mod the parent down! (1)

Roman Coder (413112) | more than 7 years ago | (#17952366)

No, don't mod the parent down! Doesn't matter what he did in the past, he's writing an article in the present, and HIS present career situation matters.

From the 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).

Re:Article's autho works for a rival company, igno (1)

Billly Gates (198444) | more than 7 years ago | (#17952198)

Well of course he hates java. It directly competes with flash and coldfusion.

Re:Article's autho works for a rival company, igno (1)

ObligatoryUserName (126027) | more than 7 years ago | (#17952374)

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?

Proprietary web (0)

Anonymous Coward | more than 7 years ago | (#17951898)

The web is never going to be a proprietary, Adobe or Microsoft owned format. A stupid article by a stupid author published by a stupid publisher. Sys-Con (who also own a malicious PR blog called "linux insider") make Forbes look like commies.

There the road begins... (1)

DimGeo (694000) | more than 7 years ago | (#17952010)

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

Re:Huh? (1)

texwtf (558874) | more than 7 years ago | (#17952012)

Java failed because it's slow. I know how you java lovers love to pull out your benchmarks and talk about how fast it "really" is, but every time most of us touch it, it's _slow_.

Applets are a perfect example. They're slow, brutally slow, and they take up oodles of ram sometimes even after a page has been closed. Oh, if it doesn't crash the browser first. "Hello world!". And I want this running server side because... ?

Someone always talks about how fast java is except for startup times. Yeah, and my house would smell good if it weren't for the elephant pooping in the living room.

A webserver (or whatever the java name for it is) shouldn't take 10 minutes to start. And eclipse is wonderful if you don't mind sacrificing most of your system ram for it. That's called bad coding. Nothing should take 20 trillion instructions to boot. Yeah, I'm sure those problem have been solved somewhere too.

The problem is you don't need a ton of negative exposure to apply the "sucks" label to something, and java has earned it in spades.

Re:Huh? (1)

DimGeo (694000) | more than 7 years ago | (#17952120)

Here's a challenge if Java's so slow. See if you can write the SQEMA algorithm in any way you prefer in any language you want, and make it faster than my Java implementation. http://dimiter.dyndns.org/ [dyndns.org] . Mind you that's not only a server-side app. You can download the Swing version too, source code and all.

Re:Huh? (1)

texwtf (558874) | more than 7 years ago | (#17952210)

Uh huh, because my customers are clamoring for SQEMA, whatever that is.

Here's a challenge for you: take 10 years and make an applet system which doesn't hose the browser it runs in, and runs fast. Oh! You did it! Wait, that's flash, not java.

Re:Huh? (1)

DimGeo (694000) | more than 7 years ago | (#17952266)

Good point. But as I said in another post, that's not Java's strength, and it has never been. Sun marketing droids made the stupid mistake of marketing Java for the browser and lost. If you compare the startup time of a large desktop project, like OOorg or MS Office, Java GUI's startup time on a modern machine is almost the same. Sure, Eclipse takes ages to load, and Tomcat is not a fast starter either, but that's another story.

Re:Huh? (0)

Anonymous Coward | more than 7 years ago | (#17952196)

I read a blog recently about someone slimming down Java. I think reports of Javas demise have been greatly exaggerated, I'm looking forward to full GPL release next month and I haven't run a JVM this century. Be sure of this; interesting things are going to happen ;-)

Re:Huh? (1)

bigtangringo (800328) | more than 7 years ago | (#17952476)

I'll give you that for applets, they're a true bane in my eyes. In fact, I've only ever seen one that I can think of break that mold.

However with a general "Java is slow" statement, I'm obligated by experience to disagree. Glassfish, the open source application server blessed by Sun is quite snappy. However to call an application server just a web server would be doing it a great disservice, an application server is much more than that. It's doing significantly more than just serving static and dynamic pages. There are a lot of things starting to provide me with the tools to make my job faster and easier than it would be in a LAMP environment.

My Glassfish running on my laptop (with all the other shit I'm running) takes about 20 seconds to start up with my enterprise application deployed. I find this time trivial, and once that 20 seconds is over and done with, the response is just as quick as I would expect from a LAMP application. Meanwhile the language and platform provides me significant benefits and few downsides.

I've been coding professionally for about 4 years, on my own personal projects for many years before that. In that time I've had the opportunity to fully explore Perl, PHP, and Java for development and I've found that each has it's place. I generally use Perl when I want to write command line or system tools, PHP for simple web apps, and Java when I want to write a serious web/client/server application.

As to your complaints about client-side applications running slowly.. I think you're expecting applications which have a lot to them, an IDE, to load up instantly. In my experience that's never really been the case. Just as complex video games have a loading time, so too do other complex applications.

I find an initial startup time of ~30 seconds trivial when I'm going to leave an application running hours at a time, let alone indefinitely.

It's clear to me that your experience with Java is limited, and will probably remain so. But you should know that many of your assumptions and assertions are incorrect. To expand on your limited experience might sway your opinions.

Bloatware, Lawyers and Clowns (2, Interesting)

giafly (926567) | more than 7 years ago | (#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 (3, Interesting)

oohshiny (998054) | more than 7 years ago | (#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.

Re:JavaScript 2.0 (0, Offtopic)

Twinkle (84777) | more than 7 years ago | (#17952430)

What's Javascript got to do with Java?

No Real Alternative to Java (1)

webrunner (108849) | more than 7 years ago | (#17952208)

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 with it, but it's always going to be a problem.

You also can't develop reasonable flash for free- you can with Java.

There isn't, at this point, a real free semi-common development language for embedding into a webpage other than Java. If they would only make the VM load faster, and make it install easier in different browsers, sun would be laughing...

Re:No Real Alternative to Java (1)

arthurpaliden (939626) | more than 7 years ago | (#17952428)

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.

My personal reason (1)

blanks (108019) | more than 7 years ago | (#17952212)

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 random applects.

Yes its too bad that it seems to be going down the crapper, but maybe it should. Maybe once it hits rock bottom there will be life put into it again and it will be done right this time.

Flex, Flash? Is this really the future of Web2.0? (3, Insightful)

Anonymous Coward | more than 7 years ago | (#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 progress as browsers, operating systems, and other technologies advanced. Users have had to deal with a static, unchanging, and poorly built, Microsoft 1.2 JVM for most of their applet experiences.

      Where is Javascript, AJAX, and the future of Web2.0 going? If we're to look at the development, in the past, of other scripting languages, and other programming platforms, it would seem towards having some kind of bytecode compiled binaries, a larger more available standard library, a much simpler, and more unified programming method, and a common, open-source, and shared virtual machine that can be easily implemented on new platforms. It sounds a lot like what we had for a brief period of time with Applets--- but have been struggling for ever since against behemoths whom are in reality opposed to technological advancement not completely in their pocket, like Microsoft, and to a 'much' lesser degree Sun.

      On Mr. Eckels' support of Adobe Flash technology, and Flex2, I feel he's quite a bit off base here. Flash has always been a very closed, pricey, and strangely built technology. Flex2 is itself proprietary, and unlikely to be adopted by open source developers the same as the Java Virtual Machine, and applets. Flash technology was for a long period of time, actually built partially 'on top' of Java, and was itself a Java hybrid. I wonder why he isn't mentioning the progenitor of the 'kind' of technology Flex2 is attempting to emulate, OpenLaszlo: http://www.openlaszlo.org/ [openlaszlo.org] . Adobe suffers from many of the same issues Sun did, in its attempt to monopolize and control the fate of its technology and the platform on which it relies. Microsoft is approaching Flash in much the same way it eventually approached Java--- by introducing an incompatible, competitive, and Windows only alternative: Sparkles. It seems to me, like history is doing what it often does, by repeating itself. I personally feel there's a third alternative, in the now Open Source Java platform, to re imagine applets, and Web2.0, on a platform now 'openly' supporting languages such as Ruby, and Python for scripting, with major server side adoption, and with a huge developer base.
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>