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!

Thank God Java EE Is Not Like Ajax

kdawson posted about 8 years ago | from the you-want-bugs-with-that? dept.


Slightlyright writes, "Java Developer's Journal reports that some people in the community are wishing that "Java EE would be more Ajax-like because 'EJB 3.0 can not save Java EE.' This has caused strong reactions from bloggers such as Rich Internet Application pioneer Coach Wei, who wrote: 'Which aspect of Ajax [do] we really want Java EE to be like? The difficulty in developing Ajax code? The difficulty in maintaining Ajax code? The extreme fragile nature of Ajax code? The extremely fragmented nature of Ajax support from different browsers?'"

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

You mean the buzz? (5, Insightful)

quick2think (833211) | about 8 years ago | (#16262573)

I Think Java developers are more in need of the buzz java once had. A CEO looks at AJAX as better, because of it's recent exposure, and buzz word power. Java was no different in it's infancy, with it's broad promises. Java justy wants to be cool agaim ...

Re:You mean the buzz? (5, Insightful)

bcat24 (914105) | about 8 years ago | (#16262613)

I think you just hit the nail right on the head. CEOs and marketing types want the latest, "greatest", buzzword-compliant software. Old standbys are no longer will probably work just as well, maybe better, but they aren't cool. Actually, geeks aren't immune to this problem either. Being on the cutting edge is fun, and sometimes we forget that old, tried and proved techologies lasted so far for a reason.

Re:You mean the buzz? (4, Interesting)

Savage-Rabbit (308260) | about 8 years ago | (#16262903)

I think you just hit the nail right on the head. CEOs and marketing types want the latest, "greatest", buzzword-compliant software. Old standbys are no longer will probably work just as well, maybe better, but they aren't cool. Actually, geeks aren't immune to this problem either. Being on the cutting edge is fun, and sometimes we forget that old, tried and proved techologies lasted so far for a reason. Being on the cutting edge is fun, and sometimes we forget that old, tried and proved techologies lasted so far for a reason.

So what you are saying is that after C, C++ and a number of other golden-oldie technologies have gone through the process, Java has now also become mature enough to be declared to be 'dying' by the buzzword junkies?

But on a more serious note this dude coachwei has a point, best practices is a concept that is pretty much non existent in a lot of places and that is not just true of AJAX. There are times I wish that more Java webapp developers knew why it is important to write thread safe code and what polymorphism and inheritance are useful for.

Re:You mean the buzz? (0)

Anonymous Coward | about 8 years ago | (#16263013)

you forgot python and bash and added C++. -3 points. boo.

Re:You mean the buzz? (3, Insightful)

quick2think (833211) | about 8 years ago | (#16263307)

It has been a long time since "Go To Statement Considered Harmful" by Edsger W. Dijkstra was released, marking the begining of the end for procedural based spaghetti code(or at least the acceptance of the inevitability of it's existence). Programs got too large and complex, and a new paradigm was needed. Now, with the web, computer solutions are no longer a single entity, and can span across systems and even languages.I think there needs to be a similiar paper to stress standards and best practices, and to caution the use of bleeding edge technologies. Perhaps something with a title like "Why you should learn less and do more". Although many people complain about Java's complexity(The architecture, not the language), it is a very good model of standards. It is this model of standards, not the language itself, that make it so revolutionary in this era of web computing. It is a sad day when marketing wins, again.

Good old technologies... (1)

Youx (988716) | about 8 years ago | (#16263161)

Agree. Fact is we'd have been better never moving from LISP.

Which aspect of Ajax? (4, Funny)

TubeSteak (669689) | about 8 years ago | (#16262579)

"Which aspect of Ajax [do] we really want Java EE to be like?"

How about the Web 2.0 part

(It's a joke. Laugh)
(Well, sortof a joke)

Re:Which aspect of Ajax? (5, Informative)

TubeSteak (669689) | about 8 years ago | (#16262595)

And I found this part of TFA interesting:

"What else? The difficulty of finding and hiring Ajax developers? According to Rod Smith (IBM) and Scott Dietzen (Zimbra), both independently mentioned that one out of 40 engineers interviewed would be qualified to learn Ajax."

Not qualified to code,
qualified to learn

Re:Which aspect of Ajax? (3, Insightful)

Lehk228 (705449) | about 8 years ago | (#16262619)

i think they meant suicidal

Re:Which aspect of Ajax? (4, Insightful)

Plutonite (999141) | about 8 years ago | (#16262751)

I hope you're right.

Because if 1 out of 40 S/W Eng. are capable of understanding a javascript function call, then by God I deserve more money.

Re:Which aspect of Ajax? (4, Informative)

julesh (229690) | about 8 years ago | (#16263747)

There's somewhat more to writing a large-scale AJAX application than "understanding a javascript function call". You have to contend with multiple implementations that work different ways. You have to work around the fact that javascript has little or no support for techniques that are typically used in writing large applications. Modularising a javascript application is hell. The method of defining a class is bizarre. Inheritance is horrible, particularly if the class you're inheriting from is in a different file, because there are no guarantees about the order in which they will be loaded. Multiple inheritance...? The language can do it, sure, but it isn't trivial.

Re:Which aspect of Ajax? (4, Insightful)

Irish_Samurai (224931) | about 8 years ago | (#16262877)

Did they really mean qualified to learn? Or did they mean qualified to apply properly?

AJAX, and multiple other web technologies, suffer from being judged with criteria determined by the critic. In tech this translates into multile disciplines. UI guys love AJAX if used properly - the same build could be looked at from an app programmer's perspective as junk.

AJAX seems to address the cultural side of things. People love flashy things, especially if they can deliver 80% -90% of the functionality they want. An application developer may be able to deliver 100% of wanted functionality, but in a way that a user finds aesthetically displeasing.

I think this brings up an interesting point. When do developers start to realize that users will not conform to what they should do, but what they want to do? Learning the aspects of a development technology inside and out will not give a developer this edge. Paying attention to social aspects will.

I think that's what these guys meant when they said qualified to learn.

Re:Which aspect of Ajax? (3, Interesting)

TubeSteak (669689) | about 8 years ago | (#16263391)

Did they really mean qualified to learn? Or did they mean qualified to apply properly?
Well, I don't really know anything about [] but a quick Google search tells me that they are entirely(?) OSS & AJAX

They also had a /. article about them a few days ago (they have a mail client to replace MS Exchange) 9/27/2158240 []

I also Googled Scott Dietzen (Zimbra)
"Scott Dietzen is widely credited with helping put together the J2EE standard, launching the web application server category, and launching the Java Community Process"
"Scott Dietzen is the former CTO of the eCommerce Server Division of BEA Systems. Dietzen came to BEA via the acquisition of WebLogic"
"President and Chief Technology Officer of Zimbra"

And in the other corner, we have IBM. Nobody ever lost their job recommending IBM. Rod Smith (IBM VP of Emerging Internet Technologies) isn't small potatoes either.

So, while I don't disagree with the meat of your post, it seems to me that when those guys say "qualified to learn Ajax" that is what they mean.

I imagine that they interview lots of engineers. I hope that 1 in 40 isn't for engineers trying to get into a job involving AJAX, because that would be a dismal number. It'd make more sense if they were talking about 1 in 40 of all engineers interviewed for various positions... but that's just a wild ass guess with no factual support.

Re:Which aspect of Ajax? (1, Insightful)

Anonymous Coward | about 8 years ago | (#16263035)

"What else? The difficulty of finding and hiring Ajax developers? According to Rod Smith (IBM) and Scott Dietzen (Zimbra), both independently mentioned that one out of 40 engineers interviewed would be qualified to learn Ajax."
That statement is too specific. This one's better:
One out of 40 engineers is qualified.

*sigh*. We're trying to hire people's not going well...

Re:Which aspect of Ajax? (1)

fishbowl (7759) | about 8 years ago | (#16263667)

>> One out of 40 engineers is qualified.

>*sigh*. We're trying to hire people's not going well...

It's a consequence that you face when you insist on hiring Computer Scientists to do the work of Programmers.
Some Programmers are Computer Scientists, and some Computer Scientists are Programmers. But in some fields,
the best programmers are those who understand the business domain for which they are developing. All the automata theory in the world won't prepare you for that. Likewise there are programmers out there who really are unaware of theory, and don't realize that a lack of a theoretical background is to their detriment.

In a way it's kind of sad to hire computer scientists who end up writing business software. The good ones know so much about the field, and have all kinds of research behind them, but they get jobs where very little of it is applied in any specific way.

You're free to disagree, of course. I myself might re-evaluate these ideas on a different day. (I consider myself to be both a Computer Scientist and a Programmer, but I regard these as separate, closely related disciplines.)

Re:Which aspect of Ajax? (0)

Anonymous Coward | about 8 years ago | (#16262601)

If you look at Java 6 beta, they're adding Web 2.0 stuff --- classes are indicated as web services using annotations, IIRC.

BTW, which god are we supposed to be thankful of?

Re:Which aspect of Ajax? (1, Offtopic)

Billly Gates (198444) | about 8 years ago | (#16262681)

Java 6 looks very cool.

I wish slashdot would cover more java oriented articles as its commonly used and not as lame as it once was.

Java 6 looks very cool from the desktop end with huge performance gains and the factory object model integrated with the threading with Swing makes gui apps more responsive and java programmers wont have to worry about using threading to make their programs look more responsive which is not as much as an issue with other languages.

The web 2.0 stuff is nice for webdevelopers for the server not to mention the gui's will look more native to the platform being used compared to previous versions of java. Java3d is fulling run on the GPU as well and is usable with java 6.

Re:Which aspect of Ajax? (1)

Iron Condor (964856) | about 8 years ago | (#16263091)

How about the Web 2.0 part

Web 2.0 is so last year. This year it's Web 2.0 two.

Re:Which aspect of Ajax? (0)

Anonymous Coward | about 8 years ago | (#16263529)

Web 2.0 two? Are you sure? I was sure it was Web 2.0 Core 2 duo.

Whiners (-1, Flamebait)

Anonymous Coward | about 8 years ago | (#16262587)

Java developers and Debian fan boys sound a lot alike....

Isn't Ajax Javascript? (4, Insightful)

mark-t (151149) | about 8 years ago | (#16262591)

What does Javascript have to do with Java?

Re:Isn't Ajax Javascript? (3, Funny)

portmapper (991533) | about 8 years ago | (#16262605)

> What does Javascript have to do with Java?

They both contain the letters "Java" ;-)

AJAX between JS and Java servlets (5, Informative)

tepples (727027) | about 8 years ago | (#16262621)

What does Javascript have to do with Java?

ECMAScript code on the client manipulates the HTML DOM and requests data in XML or JSON format from a server through XMLHttpRequest. A servlet [] produces such data.

Re:AJAX between JS and Java servlets (5, Funny)

Anonymous Brave Guy (457657) | about 8 years ago | (#16262723)

I'm not sure what's more terrifying, the number of buzzwords in the one-sentence parent post, or the fact that I understood them all.


Re:Isn't Ajax Javascript? (1)

CastrTroy (595695) | about 8 years ago | (#16262873)

Just ask my boss. He always refers to JavaScript as Java, and often talks like they are the same thing, although I'm pretty sure he's aware they aren't the same thing. I hate it when people call JavaScript Java, because it gives people the wrong impression of what Java really is, and just how powerful It can bit. It's like comparing VBScript to VB.Net.

wow, what an excellent point! (5, Funny)

Anonymous Coward | about 8 years ago | (#16262593)

When the guy in the first article said we must stop thinking about "faster bubble sorts"... well, that really hit home for me. Why, me and my buddies spend hours a day trying to improve bubble sorts. Sometimes I wake up in the middle of the night, thinking about bubble sorts. It's hard, man, once we came up with this recursive divide-and-conquer approach--looked not so slow, even quick, but then we realized it wasn't really a bubble sort so we couldn't use it in our programs. Back to the drawing board.

Anyway, just wanted to say that I immediately realized that SOA guy was a real engineer--skilled, one of "us", not a marketroid at all--when I read that quote.

Re:wow, what an excellent point! (3, Funny)

bcat24 (914105) | about 8 years ago | (#16262655)

I know just how you feel! You wouldn't believe how much of my life I've wasting trying to optimize bubble sorts. Quick sort -- bah! Shell sort -- no way! One day I'll find it, the perfect bubble sort, and then we'll see true fear in the eyes of programmers everywhere. (Besides you and me, of course.)

Keep the bubble-sortin' faith, man.

Re:wow, what an excellent point! (1)

truth_revealed (593493) | about 8 years ago | (#16262733)

I set up so we can compare notes. I've been working on a promising branch of research the past few months - I think we could get some extra performance if we invert the "FOR I" and the "FOR J" loops.

Re:wow, what an excellent point! (1)

DSVaughan (1007255) | about 8 years ago | (#16262851)

You kidding me? Bubble sorts are awesome and all, but the quick, shell, and comb sorts are so much cooler. Sure they require more code and a higher intelegence to use (why I copy and paste), but they are so much faster. For instance, it takes a reasonably fast computer more than a minute to sort a 10 million element array. the quick sort took .2 of a second. I use bubble sorts all the time because they are so easy, but other than that, I copy and pase myself to quickness.

Re:wow, what an excellent point! (1)

mark-t (151149) | about 8 years ago | (#16262997)

The only practical purpose that copying and pasting serves as a form of code reuse is potentially establishing job security because nobody else will be able to practically maintain your code.

Re:wow, what an excellent point! (1)

EugeneK (50783) | about 8 years ago | (#16263033)


Re:wow, what an excellent point! (1)

newt0311 (973957) | about 8 years ago | (#16263053)


That was the sound of the joke as it wooshed WWWWWAAAAAAAAAAAAAAAAYYYYYYYYYYYYYYYY over your head.

You are right in saying that bubble sort isn't that great. After all, who can beat Stupid sort (bogosort) ( [] )

Bubble Memory optimizes Bubble Sorts (2, Funny)

SimHacker (180785) | about 8 years ago | (#16263575)

Don't you guys trying to optimize your software bubble sorts realize that these days, all the fast sorting action is happening in hardware accelerated Bubble Memory [] ?

Plus, Bubble Memory is much more secure and less obnoxious than Flash Memory (which everybody hates because it has major security holes and displays annoying advertisements). []


Re:wow, what an excellent point! (0, Flamebait)

mark-t (151149) | about 8 years ago | (#16262715)

"Faster bubble sort"???

Are you serious?

The notion makes about as much sense as making a ton of nickels weigh more than a ton of pennies.

Re:wow, what an excellent point! (0)

Anonymous Coward | about 8 years ago | (#16263099)

Are you serious?

No. Read it again.

There is no hope, but's be genetic (1)

Augusto (12068) | about 8 years ago | (#16263107)

Somehow you are totally missing any signs of the "sarcasm" gene, unfortunately for you, this is irreversible.

but's be = must be (1)

Augusto (12068) | about 8 years ago | (#16263143)

Must be all the bubble sorting in my brain while typing ...

mod parent up... (0)

Anonymous Coward | about 8 years ago | (#16262867)

...funniest thing I've read on Slashdot in some time. Thank you, sir.

Simple (2, Insightful)

dingDaShan (818817) | about 8 years ago | (#16262627)

Ajax: Legendary Greek Hero Java: Island in Pacific, also slang for Coffee The two obviously have nothing and common. Mod Story [-1] Offtopic

Re:Simple (1)

RuBLed (995686) | about 8 years ago | (#16262665)

...and here I though that Ajax is being used to make the coffee "foam"

Re:Simple (0)

Anonymous Coward | about 8 years ago | (#16262763)

Try looking up carriage returns...

What does AJAX have to do with Java? (4, Insightful)

saden1 (581102) | about 8 years ago | (#16262669)

Java doesn't need saving and it isn't about EJB. Java is whatever you want it to be. Some folks have this notion that it should do and be what they want it to do/be which will hurt the platform in the long run because not everyone has the same need/requirements.

p.s. There is a reason why Java has withstood the test of time (for 11 years anyways) and that's because it is good platform and a robust one at that.

Re:What does AJAX have to do with Java? (0, Troll)

Tablizer (95088) | about 8 years ago | (#16262717)

Java is whatever you want it to be.

OMG! I want it to be pretty pink ponies!

Re:What does AJAX have to do with Java? (3, Insightful)

Charlie the Hammer (997900) | about 8 years ago | (#16262883)

I just want it to have continuations and first-class functions. One is about as likely as the other, I suppose. :-)

Continuations are being worked on.... (0)

Anonymous Coward | about 8 years ago | (#16262919)

first class functions are a different matter.

-- ac at home.

Re:What does AJAX have to do with Java? (2, Interesting)

newt0311 (973957) | about 8 years ago | (#16263069)

I would also like function pointers and type inferencing along with dynamic classes with maybe little string execution thrown in for good measure but none of them are making it in anytime I suppose:((. God, python is really spoiling me.

Re:What does AJAX have to do with Java? (1)

crucini (98210) | about 8 years ago | (#16263817)

Java doesn't have function pointers? How do you write code that maps strings to functions? For example, a config file parser that calls a handler for each keyword it encounters? This seems to me an invaluable idiom. For example, in Apache's http_core.c:

static const command_rec core_cmds[] = { ...
{ "NameVirtualHost", ap_set_name_virtual_host, NULL, RSRC_CONF, TAKE1,
    "A numeric IP address:port, or the name of a host" },

ap_set_name_virtual_host is a function.

Re:What does AJAX have to do with Java? (1)

saden1 (581102) | about 8 years ago | (#16263081)

It just so happens that I'm in the camp against continuations. Looking at the negative aspects [] of it, I can't make the case for its inclusion into the Java spec. Continuations is simply a modern term for GOTOs and I can't understand why any sane person would want to go back to the nightmare that was GOTOs. As for first class functions, it's inclusion will make it easy to write non object oriented code. That isn't necessarily a bad thing but then again Java was born to be an OO language.

Re:What does AJAX have to do with Java? (0)

Anonymous Coward | about 8 years ago | (#16263237)

Goto has its place. You have been brainwashed into thinking goto is bad. But question WHY it is bad before spouting 'it just is'. I can use just about any language construct and abuse the hell out of it and make the nightmare that goto can be look like a walk in the park. I have learned from true masters how to make BAD code.

My favorite comment this week was some code that looked like this

{ INT *pXyz = INT [56]; }
catch (...)
{ // oh well...

nothing logged in the catch nothing done just a comment 'oh well'. I laughed for a few mins on that one.

I have seen people do some rather bad stuff with just about every construct of code. Goto is a minor infraction...

Re:What does AJAX have to do with Java? (1)

Charlie the Hammer (997900) | about 8 years ago | (#16262815)

There is a reason why Java has withstood the test of time (for 11 years anyways) That kind of thinking is why COBOL stuck around so long....(shudder).

Re:What does AJAX have to do with Java? (1)

saden1 (581102) | about 8 years ago | (#16262891)

COBOL stuck around because people found it to be satisfactory. You don't throwaway software written in an old language because some fancy new language come out. Please don't confuse poorly written code with the language used to write it.

Re:What does AJAX have to do with Java? (1)

Charlie the Hammer (997900) | about 8 years ago | (#16262921)

You don't throwaway software written in an old language because some fancy new language come out. Actually, yes, you do. Unless you want to wind up with a repeat of the Y2K problem or (on a less grand scale) getting your lunch eaten by a company that uses a faster, more modern, and more productive language.

Re:What does AJAX have to do with Java? (1)

kin_korn_karn (466864) | about 8 years ago | (#16262943)

People didn't create software products in COBOL. It was strictly an MIS language, because the computers that it was used on were internal systems. That's why nobody ever felt the need to get rid of it - nobody ever wants to upgrade the backoffice.

two words (1)

stoolpigeon (454276) | about 8 years ago | (#16263077)

microfocus cobol -- i was an admin for an app written in it. might be the only one in the world, but i doubt it.

Example: IE6 https XmlHttpRequest 12030 bug (0)

Anonymous Coward | about 8 years ago | (#16262701)

On the topic of debugging strange AJAX bugs - is there a workaround for IE6 randomly reporting a 12030 status for XmlHttpRequests under https specifically? Mozilla and Firefox do not have this problem with XHR and https. Under IE6, an XHR request will fail with a 12030 error every few attempts - it will fail without any packet leaving the browser. It does not matter if the server serving the https is Apache, Tomcat, or other. If normal http is used, there is no problem on any browser.

Why a language thing? (1)

Tablizer (95088) | about 8 years ago | (#16262707)

I am hoping that Ajax becomes a set of GUI components and tools that are language-independent, at least from the server side (because one probably needs JavaScript to talk to client DOM). In that sense, the server-side language does not matter any more than Java conflicts with HTML in "old style" web apps. In Ajax, the server talks to the client via XML. If Java wants to make Java wrappers around this XML, that is fine. Other languages can do the same.

Or, is this a battle over JavaScript+DOM versus Java's various client-side GUI plugins? Because of Internet Explorer's lackluster support for client-side Java, I think JS+DOM is where it's at on the client side.

In short, the server-side language should not matter, and Java already lost the client-side GUI war.

Re:Why a language thing? (1)

Shados (741919) | about 8 years ago | (#16263025)

In a way this has already been done by a couple of toolkits out there, though none of them really picked up.

Honestly, as sad as it is, I find myself wishing something like Flash had picked up more than it did. Flash or another technology. Yeah 99% of Flash sites are annoying as hell, but thats the implementation. You can do annoying stuff with javascript and DHTML too :). If Flash (or something similar thats more open, some standard or another... vector graphics maybe, thats picking up a bit) had picked up, then we wouldn't have to worrie about browsers anymore.

As it is now, between issues with standard compliance, javascript being a mess, CSS being the most stupid implementation (even if the standard was being followed) of a good idea, EVER, making web APPLICATIONS is just a hell, probably the same kind of hell developers felt at the dawn of the GUI. Hopefully someday a good abstraction layer will come out and be widely accepted, then we'll be able to actualy solving business problems, instead of fighting with how to align pixels.

AJAX from a UI design perspective (1)

isolationism (782170) | about 8 years ago | (#16262757)

Disclosure: I'm not very knowledgeable about Java or AJAX. I'm a UI architect, but I've been avoiding AJAX until the accessibility issues with synchronous content updates get sorted out. That being said, I'm more familiar with DHTML, which -- for the purposes of interface design -- is the part of AJAX relevant to my point.

I especially know all about CSS and the nightmare of multiple browser support -- especially when CSS rendering support seems to be inversely proportional to a browser's popularity. It doesn't help my desire to push for web standards when the CEO doesn't give a hoot about every browser out there except the 800lb. gorilla -- going as far as to specifically forbid using anything but in demos because, "That's what our clients use."

I guess it goes without saying that the "people in the community" referred to in the article are developers and not designers; if you think JavaScript support in the popular browser application is bad, try writing 25,000 lines of CSS for a web application designed to work on the "big 4" browser platforms (e.g. MSIE, Firefox, Opera & Safari).

Clearly, Mr. Wei has a point about at least one thing -- anyone who develops for Java should be grateful about the homogenous nature of the JVM. Sure, you may still need to require a specific VM version to run your program, but my experience is that it's not quite such a big deal to bundle a specific VM with a desktop application (and no problem at all to pick and choose what JVM to use on an application server like Tomcat). Why someone would abandon that in favour of the uncertainty (and constant flux) of a browser is beyond me.

Not useful, not particularly entertaining... (4, Insightful)

meburke (736645) | about 8 years ago | (#16262769)

The whole discussion is a waste of time, and the article itself is lame.

First of all, there is no careful description of the problem. A problem is the difference between the way things are and the way you want them to be. This takes into account the way things are that already acceptable. AJAX has some deficiencies, and it has some attractions. My questions are: Is it worth the effort to correct those deficiencies in AJAX? Is it worth the effort to include the attrations in EJ?

Secondly, there is no concensus on the appropriate domain for the different tools. Is EJ really a tool for doing the same things that AJAX does?

Re:Not useful, not particularly entertaining... (0)

Anonymous Coward | about 8 years ago | (#16262839)

The whole discussion is a waste of time, and the article itself is lame.

You just described the entire JDJ magazine in a single sentence.

Re: Thank God Java EE Is Not Like Ajax (1)

salapaka (967929) | about 8 years ago | (#16262795)

The whole comparison of AJAX and Java EE is absurd. The 3.0 version of Java Enterprise Edition is going to be successful, better late than never. This what the community of enterprise Java developers, thank you Sun for making it happen!

...of course, the real problem is that... (0)

Anonymous Coward | about 8 years ago | (#16262805)

...the Web is not at /all/ a well-designed application platform in most respects. The only
good things about it are its ubiquity and (mostly) fundamental base of open standards.

Otherwise, it's just an awful application enviornment. I am always suprised that everyone
has been so duped for so long-- the phenomenal growth seems to be the answer.

Bleech. In the decades this has been advancing for commercial and application purposes,
we're now just barely reaching the equivilent of a 1990's desktop app, with arguably better
(though certainly more pervasive) network connectivity? Yuck, people! Let's get with it.

Re:...of course, the real problem is that... (1)

ClosedSource (238333) | about 8 years ago | (#16263063)

I totally agree.

All web apps are kludges in one way or another simply because the web standards were never designed to support them. The mistake we made early on was not throwing the whole thing out and starting all over with a set of standards that were designed from the ground up for web apps. It's probably too late now.

Re:...of course, the real problem is that... (0)

Anonymous Coward | about 8 years ago | (#16263699)

That's what some guys at Microsoft realized when they decided to make Avalon (WPF). Flex 2 is also a fix, but I think it still has too much disconnect between markup and code.


Re:...of course, the real problem is that... (2, Insightful)

AchilleTalon (540925) | about 8 years ago | (#16263289)

I agreed with that.

The web was built up on the need to make easily accessible complex documentation using a markup language and hypertext links at first.

Because the browser gave the impression the easy access to documents means the browser is a one-size fits all solution to every content, everywhere many peoples dedicated most of the last 10 years to fill holes to make it behave like the client-server applications already existing just before the web tsunami hit the IT world.

I'm not sure it is really less trouble to program and interactive decent client-server application with the web interface then without it.

Thank God (3, Insightful)

bahwi (43111) | about 8 years ago | (#16262843)

Javascript is not like Java.

Ajax and Java are two completely different ideas/concepts. Second, if AJAX is hard and you do Java, you need to have your head examined. It's probably dyslexia, and you've been writing perl, not Java this whole time. Not to say if you know Java you know Ajax, completely untrue, but if you think it's hard that's a different story.

Re:Thank God (1)

Mr. Shiny And New (525071) | about 8 years ago | (#16263297)

Ajax is hard not because of the Javascript aspect, but because of the sheer number of differences between programming DHTML for IE and for Firefox (and Opera, and...). The problem is that each browser's implementation of the "standard" is different, sometimes wildly different, sometimes slightly different. And sometimes the difference is so subtle, yet so important, such as the order events are processed. The net result is that, for any Internet-facing app using Ajax, it's often very difficult to get all the details right. Whereas a similar application, written in the old-fashioned way, often won't have nearly as many cases to deal with. Things like the differences between how FF and IE alllow you to manipulate tables don't matter if the whole table is re-written on the server.

Also there are lots of limitations in Javascript that become more of a problem when you are putting more logic into the browser. Things like the timeout not firing all the time or other limitations due to the single-threaded nature of Javascript. You also run into more bugs when you use more language features and browser features.

Finally, many developers will find that writing AJAX also involves writing a non-AJAX fallback. Integrating this into your code without duplicating everything is tricky and tedious.

All of these problems "disappear" once you have a proper AJAX framework that you can control at a high-level: these become framework problems and the developers can concentrate on the apps. But there are hardly any good frameworks out there.

All of this added AJAX complexity, trouble, and work combine to make AJAX "hard" compared to regular web development. Add this to the normal workload and your web developers are going to be pushed harder than before. Some can handle it, some can't. Consider that the level of expertise required for a typical AJAX development position is now much higher than before: you need to be an expert in your server-side language (which you already were), HTML (you probably had some knowledge), DOM, Javascript (you knew some of the stuff but likely didn't do much DOM manipulation and probably only used JS mainly for form validation), and whatever other tools you are using. I'd say basically an AJAX developer needs to know 2-5 times the "browser" knowledge that a regular web dev needs; esp if the web dev used to have a graphics/html person who coded up html pages to use as templates. This web dev probably only needed enough HTML to know how to hook in forms and form validation scripts. Now he needs to know how to re-write parts of the dom, and he will soon become intimately familiar with all the bugs and limitations and browser differences therein.

The point being made is ... (4, Interesting)

Elias Ross (1260) | about 8 years ago | (#16262875)

the JCP is too slow and crufty, comes up with homegrown technologies nobody wants to use, etc. and that tools such as Hibernate and Spring not borne from the community process are superior or, in the case of EJB 3.0, adopted.

I guess I don't know why "Ajax" was brought up, I haven't used it and it's not something I'm familiar with. Maybe Ajax doesn't belong in the same class of technologies. Arguing about the specifics means missing the point, though.

It often takes "rebel" technologies to move things forward. It also takes some experimentation to develop a technology; i.e. coming up with a rigorous, solid standard might prevent its spread. Sometimes sloppiness is good. RSS, HTML, etc. have done okay despite the sloppiness. Requiring every web page be HTML compliant would have stifled the web.

Recently, I've started working on Weblogic. I used to develop with JBoss. In terms of service deployment, JBoss is superior to Weblogic. I guess with Weblogic, you're still stuck writing a lot of code to deploy JMX services. I noticed at my new company that programmers ended up launching network servers from a Servlet, which was not its intended use. The ease of deploying MBeans and dependency control with JBoss is superior. It can be done easily with a bit of XML, and no code is required. JBoss also handles ordered deployments better. With Weblogic, deployment ordering is done by assigning a deployment order number (1-4000 or something) to your deployment. It reminds me of writing programs with line numbers back in the good old days of BASIC.

It's my guess that functionality from Spring will be eventually refined into a series of JCPs. Sometimes it's better that standards develop in this way.

Why can't JEE be more like AJAX? Simple... (1)

FerretFrottage (714136) | about 8 years ago | (#16262927)

you try running websphere in your browser :P Now from IBM for $250,000--The FireSphere Browser

From the article: "The only thing AJAX is are a set of extremely important best practices and patterns developers use to create compelling web clients. Why can't JEE be more AJAX like?"

I still see many of the best practices in AJAX being fleshed out in the year(s) to come. Hopefully things like Comet [] will become a reality in the near future and the many different toolkits/utilities (dojo, dwr, jmaki, et al) can continue to mature and make the development of AJAX apps faster, easier, and more reliable but the current amount of hacks required to get any decent app working in all the various browsers is just downright fustrating. J2EE has its own set of best practices which I dare say are much more tried and tested than most of those for AJAX. But in some cases best practices are easier to lay down for JEE as all things JEE must be "blessed" by the JCP/Sun so you have a "standard" target. This can be a good and bad thing and the article does touch on those points.

I think system engineers have become to realize that you don't need EJBs and all its baggage to solve every problem and that some problems can be solved by lighter weight solutions, but when you need atomic distributed transactions, fail over, horizontal and vertical scaling, and all that other enterprise jazz what are the current alternatives?

Like always (well mostly anyway), the good engineers/developers who are "free" to do their jobs will find the right mix of technologies from AJAX and JEE (or something else) to solve their given problem(s) despite what the industry tries to shove down their throats.

That's really kind of funny actually because... (4, Insightful)

Assmasher (456699) | about 8 years ago | (#16262957)

...many ex-Java EJB devs think that all the current iterations of EJB are difficult to develop in (relatively), difficult to maintain, and fragile and difficult to support on multiple EJB servers... These are the main reason we're ex-Java EJB devs.

Re:That's really kind of funny actually because... (2, Interesting)

espressojim (224775) | about 8 years ago | (#16263239)

As an ex-EJB dev (oh, 1.0 was just the right time to!), I'm kinda hopefull about 3.0. It has adopted the spring framework aspects I like the most (injection-style programming), I can use hibernate for my ORM (which is stronger than just Java Persistance), and I get JMX/JNDI/JTA/etc services pretty easily.

As it stands, I've read the books, and the next project I start (in a few weeks) will be ejb3.0, just to give a quick back-to-front application a shot.

I hear where you're comming from, though, as I've just also finished reading a lot of "Faster, Lighter Java" style books where all ejb services are replaced with lightweight componenets (like Spring.)

Re:That's really kind of funny actually because... (1)

Bill, Shooter of Bul (629286) | about 8 years ago | (#16263325)

So what are you now? what did you leave it for? anything intersting you'd care to share?

Remember caring is sharing

Whiskey Tango Foxtrot? (1)

rk (6314) | about 8 years ago | (#16262983)


"I was always skeptical about AJAX. This technology can be useful for Google , Yahoo, or Amazon, and the like . Because regular businesses can not afford it. They can not hire a team of experts to find workaround for dozens of serious problems browsers/JavaScript introduce. Browsers/JavaScript is not an application development environment."

Oh, shit. I better tell my boss that all the AJAX-based apps I've written over the last six months need to be taken down. Apparently, we can't afford them!

My apps are certainly not nearly as complicated as the ones the big boys do, but they're still AJAX, carrying a dialog with the user interface through XMLHttpObject. I'm the only full-time developer at my company.

AJAX and Javascript are a mess, though.

Re:Whiskey Tango Foxtrot? (1)

julesh (229690) | about 8 years ago | (#16263785)

Having been working on a few AJAX applications myself lately, I can kind-of see his point. Writing a complex AJAX program is hard. You have to work around the limitations of javascript, and you have to work around the limitations of browser support. A typical day these days involves about an hour writing new code and about seven fixing obscure browser bugs that only turn up in one browser in some obscure circumstance.

Compared to writing more traditional desktop applications, I'd say AJAX takes at least twice as long to achieve similar results. It also needs a much more competent developer. For most businesses, whose development needs are for internal applications (i.e. intranet applications), you just can't justify it. You can develop the desktop application and roll it out to every desktop for significantly less money.

Coach Wei? (1)

BitwizeGHC (145393) | about 8 years ago | (#16262993)

I think I'm more interested in what Coach Z has to say:

"I use Ajarx to clean my terlet! It does a pretty good jaerb!"

god computers (0, Offtopic)

nihaopaul (782885) | about 8 years ago | (#16262999)

i'm sorry, but, god and nerd stuff doesn't go together, thats why we have redundancy, remember: god saves, but buddah runs a raid10 node apart of a intercontinental cluster with n+1 technology and a private directly linked fiber line +1

so the next time you put your trust in god to keep the matrix up, remember this.

Wrong article? (1)

SanityInAnarchy (655584) | about 8 years ago | (#16263425)

I fail to see what this has to do with Java or AJAX, and I don't have the mod points to mod you offtopic.

Are you a cut'n'paste troll, or are you simply in the wrong article? Or maybe you intended to reply to a specific comment?

Re:Wrong article? (1)

nihaopaul (782885) | about 8 years ago | (#16263433)

i'm sorry i forget that not everyone has a sense of humour or can read, did you miss the 'thank god' in the article header? so please stop trolling

Enterprise Class Jive (1)

Baldrson (78598) | about 8 years ago | (#16263005)

This guy, Coach Wei, whoever he is, compares a specific platform for Java with the general miasma of people who woke up a year or so ago and realized that Javascript was a programming language. Classic Jive: Pick a toss a red herring in the air, blow hard, set up a straw man hoping no one notices its a straw man, then knock it down.

Engineering vs. Hacking (0)

Anonymous Coward | about 8 years ago | (#16263017)

If like to engineer things in the true sense of the term, then you have to go for Flex/Java EE. If instead you like to hack things, then go with Ajax/Whatever. This is not to say that Ajax products do not work or do not kick ass from the user's point of view, though. Maybe this is all that matters in the end.

You're an elitist "engineer". (1)

SanityInAnarchy (655584) | about 8 years ago | (#16263431)

You do use x86, right? Like most of the world?

x86 is an engineer's nightmare. It's horrible, it's ugly, it's loaded with legacy crap.

But the true engineer doesn't care, because he's likely working in a high-level language, like, say, Java.

Now, if you want to engineer a web app (and you're sure that's not an oxy-moron), you can do it in the low-level -- you can write the code manually, deal with browser issues, hack around. It'd be kind of like writing x86 assembly. Or you could do true engineering, just as easily. Hell, if you think Java==Engineering, you can do Ajax entirely in Java with the Google Web Toolkit -- it will take anything needed for the frontend and compile it to JavaScript.

But you're damn right it has to kick ass from the user's point of view. I could write a beautifully normalized, speed-optimized, complete, perfect relational database, but if the only frontend is a SQL commandline, I've failed as an engineer and a hacker.

GWT (4, Informative)

HappyEngineer (888000) | about 8 years ago | (#16263067)

I just searched through these comments and didn't see any mention of GWT.

GWT is wonderful. I've programmed ajax stuff (check out my chess and checkers games [] . It's definitely brittle if you actually have to write the javascript and parse the xml and convert the xml to java objects manually.

But, using GWT has been a big eye opener for me. You write java code and it's compiled into javascript. It completely turns everything on its head. If you want to communicate some more information to the server from the client, all you need to do is add another method to the remote object (and its interfaces) and you suddenly have another statically type checked rpc call between client and server.

I'll probably still do simple form apps in struts, but I don't intend to ever write another line of javascript that's of any significant complexity. It's no longer necessary. No longer do I need to figure out incompatibilities between browsers. GWT just figures it out.

All these years people have been trying to make a good java webapp framework and GWT comes along and does things in a way that just turns everything on its head. Struts and Tapestry and JSF are all solving the wrong problems. They all try to make it easy to take html forms and retrieve and validate that information.

GWT turns it around and just lets you communicate java objects. I used to be unhappy that I needed to settle for choosing which framework was the least bad. Now I just say to hell with the lot of them except in situations where javascript isn't allowed.

Re:GWT (1)

njh (24312) | about 8 years ago | (#16263651)

So it gives you the run time performance and portability of Javascript with the concise and powerful language constructs of Java?

Um... what? (-1, Troll)

lewp (95638) | about 8 years ago | (#16263131)

More AJAX-like? People wish Java were more like a website that uses a browser's XMLHTTPRequest object to make asynchronous requests to a backend server? What the fuck?

Are Java programmers so desperate for attention that they just rub two buzzwords together and hope a fire starts?

NewI\O (2, Interesting)

cnystrom (1007893) | about 8 years ago | (#16263155)

I believe both Java and AJAX are the wrong path to take. The web was designed for hypertext documents. It was not designed to run apps. Instead of kludging the web to run apps we need to create a new system that is designed to run Internet applications. I believe a simpler straightforward solution to this problem is the way to go. I have begun work on such a system which I call NewI\O ( [] ).

Re:NewI\O (0)

Anonymous Coward | about 8 years ago | (#16263343)

Nice pic, dude. You're hot. []

Re:NewI\O (2, Funny)

cnystrom (1007893) | about 8 years ago | (#16263477)

Don't hate me because I am a sex symbol.

Roads need to be more car like (1)

TopSpin (753) | about 8 years ago | (#16263247)

AJAX and Java EE are orthogonal. Servlets and EJB serve AJAX clients just fine. Some large fraction of all AJAX clients use Java containers as successfully as any other back end.

If what is meant is Java EE needs some of the AJAX hype... well Java EE has the tools, libraries and maturity to continue thriving with or without AJAX.

I find this inevitable push to bury Hibernate and Spring as throwing a lot of very good tools down the drain in order to continue the Sun monarchy and JCP worship.

Monarchy, worship. Like Java EE doesn't have competitors. Go pop a zit Brandon.

Which aspect o they want? (1)

NamShubCMX (595740) | about 8 years ago | (#16263333)

How about the fact that it WORKS, despite all quirks, and that although Java Engineer TM Reg Inc. feels it sucks it still is what will power the internet tomorrow.

Re:Which aspect o they want? (1)

jandrese (485) | about 8 years ago | (#16263423)

I think the Java guy is just jealous that Ajax pages don't freeze his browser up for 10 seconds while the JRE loads, well that and the fact that they integrate with the rest of the page instead of just taking over a part of it.

Re:Which aspect o they want? (1)

what about (730877) | about 8 years ago | (#16263615)

AJAX works only in well defined circumstances.

Countless website wants IE to work, or the latest Firefox, nothing else will work.

This is not user experience, this is user pain, and the saddest thing is that often javascript mess is used do do menu navigation (jumping to other webpages) things that can be done and have the same visual result as stndard HTML

The other sad thing is that Flash is reinventing Java (without the security model) and AJAX is reinventing Java (without the reliability). I don't know why, but it seems a worldwide sport to bash java and praise anything else that does just bits of what java does. I wonder why...

Java and HTML but not Ajax (0)

Anonymous Coward | about 8 years ago | (#16263347)

It would not be better to use the browser to show only HTML, extend HTML document oriented tags with application oriented tags, SVG and use a protocol designed for applications not one for download documents? A protocol like X11 but with HTML, DOM nodes and DOM modifications. A stateful protocol without cookies, binary, designed for minimizing the amount of data traffic needed between server and client. An asynchronous protocol with witch server can send HTML pages and DOM modifications to the client/browser at any moment and the cliente/browser shows the HTML, make the DOM modifications and sends function execution request to the server with user input. Just some ideas []

Ajax serves one purpose: better user experience (0)

Anonymous Coward | about 8 years ago | (#16263381)

Which aspect of Ajax [do] we really want Java EE to be like? The difficulty in developing Ajax code? The difficulty in maintaining Ajax code? The extreme fragile nature of Ajax code? The extremely fragmented nature of Ajax support from different browsers?

The fluid user experience? The added flexibility on the client-side? The ability to make richer, more responsive applications?

Or do Java devs not think about "users" any more?

(Seriously, that's what Ajax is about, the USERS. Forget about the implementation for second. And yeah, Java and Ajax are pretty orthogonal so the whole article is (-1, Offtopic) but his criticism of Ajax needs to be addressed.)

Java EE is *different* from AJAX, and vice-versa (5, Insightful)

mritunjai (518932) | about 8 years ago | (#16263465)

I am disheartened by reading the comments... people, PLEASE for once in life go and read Java EE specs and see what it is intended to do.

Java EE is a framework to write business applications, for any kind of business, from issue trackers to ERP, the "business" in it doesn't mean "$$$ business" literally.

When writing business applications, it tries to enforce you to separate your concerns, especially, the presentation layer (Servlets & JSP), the business logic (EJB) and enterprize information systems (EIS) (JDBC, EJB container managed persistence etc). Its a complete stack for developing applications.

AJAX deals with presentation layer, and more specifically, the interaction part of it. its a piece in the whole stack. The Java EE presentation layer does NOT depend on even having an HTML frontend even! (no sane framework does!).

So now, if you have an HTML/XML browser frontend and a human user using it, you may use AJAX for enhanced user experiece. There is nothing in Java EE that says you cannot take your favorite AJAX toolkit and use that to build your frontend.

So both technologies are not even competing on even a single issue. Both are complementary. You can use Java EE stack to develop your application, and when time comes to develop the frontend, you choose from plain old HTML, XHTML, XML, AJAX etc (or a combination thereof), to develop your application's "frontend".

Please stop this ignorant war. To make another bad /. analogy, its like car lovers and music system fans fighting with each other that the other is not like their's!

Religion aside... (3, Insightful)

pestilence669 (823950) | about 8 years ago | (#16263513)

I've written distributed applications using:
- Java EE
- CORBA using C, C++, Pascal, and Java
- Microsoft DCOM
- Various proprietary protocols

AJAX isn't really a distributed software development technology... it's a sloppy mixture of features written by a varied group of contributors. What makes it interesting, is that no matter how implemented, the goal is the same. I think that's what the writer of this article was trying to articulate. With Java, there's only ONE way to do anything. Drink the punch, or don't use Java. If you dare suggest that any part of Java needs work, you get a room full of angry & militant Java advocates ready to stone you into submission. I'd like to say that I'm exaggerating, and I am, but only a little. I too wish that Java engineers could think outside of the "sandbox," instead of encouraging others to make due.

RTFA!!! (5, Insightful)

SanityInAnarchy (655584) | about 8 years ago | (#16263625)

For the love of all that is holy, RTFA! The claim was not that Java EE should use Ajax, or that Java developers should use Ajax at all. Google Web Toolkit is completely irrelevant!

What was meant by this is that Ajax is a loose collection of cooperating technologies, without a standard, that develops very rapidly, and allows a lot of choices to the developer -- as opposed to Java EE as a rigid platform. Kind of like Linux vs BSD.

Even TFA understood this in the response.

The Slashdot response, so far, is roughly equivalent to if I said I wish Java had something like CPAN, and people jumped all over me with comments like "You want Java to use :: as the class separator? You want all variables to have dollar signs on them? You want no type checking, and all kinds of random C code?" Completely missing the point, of course. CPAN is a centralized collection of community modules, most of which play nice with each other, which make it possible to develop most Perl programs by splicing together 4-5 modules with <100 lines of glue code containing your actual program logic.

It's like a Wikipedia of code -- NO! Not in that anyone can edit any module. It's like Wikipedia in that it's a central repository of the collective programming skill of mankind. It's sort of the library to end all libraries.

Anyway. -1 Offtopic to the entire comment section this time. RTFA!

this really comes down to: (1)

namekuseijin (604504) | about 8 years ago | (#16263627)

java vs javascript

or in other words:

strongly-typed statically checked compiled language proponents vs weakly-typed dynamically checked interpreted language enthusiasts.

which is really as old a debate as C vs LISP...


Rapid UI Development (0)

Anonymous Coward | about 8 years ago | (#16263637)

I'm not sure why we always get so hung up on user interface development languages. Why do we keep adding VMs and abstraction layers when it still fails to solve the cross platform compatibility issues? I mean come on: ASCII, HTML, DHTML, javascript, AJAX (I think I left out at least 4 layers).

What is needed is a test driven robust standard that is not as open to varied interpretation. Build each requirement with a set of test cases that must be passed for an interpreter to be considered valid. Strive for as close to 100% logical coverage as you can get before you even implement a single interpreter. Then let us C++ nerds go and implement some virtual machines and client side libraries in our spare time ... it'll take maybe a weekend or two. No, never mind. What we really need is a layer that sits atop AJAX that interprets it into Java Swing classes. Yeah that'll do the trick.

So basically (2, Insightful)

julesh (229690) | about 8 years ago | (#16263799)

So basically, this guy is pissed off that J2EE-focussed magazines won't buy his articles about technologies that aren't core J2EE technologies but which he thinks are cool anyway. And thinks an AJAX analogy will make his point, which is of course totally wrong.
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?