jquery vs dojo vs yui etc

J

Joe Nine

Does anyone have any links to very convincing articles that eloquently
state the major flaws of these libraries? I'm not considering using any
of them, I've heard enough here to know how bad they are. I just want a
few article links to keep in my back pocket that I can fire back when
someone suggests we use one of them.
 
M

Matt Kruse

Does anyone have any links to very convincing articles that eloquently
state the major flaws of these libraries?

A post like this in here is like throwing row meat into a tank of
piranhas.

Enjoy!

Matt Kruse
 
G

Garrett Smith

Does anyone have any links to very convincing articles that eloquently
state the major flaws of these libraries? I'm not considering using any
of them, I've heard enough here to know how bad they are. I just want a
few article links to keep in my back pocket that I can fire back when
someone suggests we use one of them.

Maybe next week.
 
D

David Mark

Does anyone have any links to very convincing articles that eloquently
state the major flaws of these libraries? I'm not considering using any
of them, I've heard enough here to know how bad they are. I just want a
few article links to keep in my back pocket that I can fire back when
someone suggests we use one of them.

I've reviewed salient bits of all three in the last six months or so.
Search the archive.

In short, jQuery is terribly inept and unneeded, YUI is terribly
botched and bloated and Dojo is just plain terrible.

Reading the exchanges in their respective developer forums (or on
sites like Hacker News and Stack Overflow) is quite enlightening as
well. Seeing the "experts" (your prospective support staff) in action
should be an eye-opening experience.

In many cases, you shouldn't need to know the technical ins and outs
of what they are discussing. Just look at the quality of the
discourse (try this, try that, show me where it fails, etc.) Look at
how many questions go unresolved. Look how testy they get when told
they are wrong. Look at the aliases. Look at the (deliberately)
goofy pictures. Would you accept advice of any kind (let alone
technical guidance) from these people?
 
G

Garrett Smith

I've reviewed salient bits of all three in the last six months or so.
Search the archive.

In short, jQuery is terribly inept and unneeded, YUI is terribly
botched and bloated and Dojo is just plain terrible.

Pure opinion. Anybody can say that about anything. Example: Disco sucks.
The design of the Prius is terribly botched. The US Government is just
plain terrible. Easy, right?

A no-nonsense analysis demonstrating major shortcomings is not easy, but
would be valuable.

The article should provide a concise summary of problems, elaborate on
that, with examples, link to any pertinent standards, and finally,
provide advice on what the reader should do instead of using that.

The summary should be something that can be explained simply and should
be understandable by anyone. The exposition should elaborate on that.

For example:

Summary of library X:
* String methods slow
* method M doesn't work consistently in browsers
* silly and useless methods

[elaboration of each point, with examples]

[reasons the bugs can't be simply patched/design analysis]

[alternative]

[Conclusion recapping on problems an alternative.]

A couple of years back I did areview on Prototype.js:
http://dhtmlkitchen.com/?category=/JavaScript/&date=2008/06/17/&entry=Prototype-js-A-Review

In that review, I painfully showed how the library works. Something as
complicated as that should be explained, so that it can be fully
appreciated.

Prototype.js has mostly died out since then.

I would like to see such articles. I would, but I am busy with JSON
stuff and writing a test runner. I will be publishing an article next
week related to the W3C Selectors library, too. I don't have time for
another article.

Dojo is nearly dead, so that one is low hanging fruit. jQuery and YUI
might be good subject matter for changing the industry.

As a final emphasis, the article should emphasize what to do instead.
That is: How to analyze code quality and where to learn about web
scripting. The article should not simply turn the reader away from a one
library, only to leave him directionless or jumping to another library
(as many ex-prototype.js users switched to jQuery).

Garrett
 
D

David Mark

Pure opinion.

Amnesia flaring up again? :)

There's a tsunami of evidence and demonstration behind my statements
(as you well know). As I said, search the archive.
Anybody can say that about anything. Example: Disco sucks.
The design of the Prius is terribly botched. The US Government is just
plain terrible. Easy, right?

I've done all of the hard work. You yourself were just parroting some
of it recently.
A no-nonsense analysis demonstrating major shortcomings is not easy, but
would be valuable.

It's been done to death (as you well know).
The article should provide a concise summary of problems, elaborate on
that, with examples, link to any pertinent standards, and finally,
provide advice on what the reader should do instead of using that.

That ship has sailed and long since reached its destination.

[...]
A couple of years back I did areview on Prototype.js:http://dhtmlkitchen.com/?category=/JavaScript/&date=2008/06/17/&entry...

I thought that was where this was headed. Well, good for you then.
But drop the laughable, indefensible stance against what I've done
(which towers over your "achievements" in this area).
In that review, I painfully showed how the library works.

Sorry to hear it was painful.
Something as
complicated as that should be explained, so that it can be fully
appreciated.

Yes. Again, done to death at this point. I mean, Prototype?! Could
there be a less relevant example at this juncture?
Prototype.js has mostly died out since then.
Exactly.


I would like to see such articles.

All together: Search the archive.
I would, but I am busy with JSON
stuff and writing a test runner.
Great.

I will be publishing an article next
week related to the W3C Selectors library, too. I don't have time for
another article.

Okay. I think you are way late on that one as well.
Dojo is nearly dead, so that one is low hanging fruit.

Yes, I'd like to think I helped kill it. :)
jQuery and YUI
might be good subject matter for changing the industry.

You can't stand it, can you? I've already changed the industry.
Where were you?
As a final emphasis, the article should emphasize what to do instead.

We've been over that ad nauseam as well.
That is: How to analyze code quality and where to learn about web
scripting.
The article should not simply turn the reader away from a one
library, only to leave him directionless or jumping to another library
(as many ex-prototype.js users switched to jQuery).

Your hypothetical article pales in comparison to my somewhat legendary
output in this area. Best of luck with it!
 
R

RobG

[...]
The summary should be something that can be explained simply and should
be understandable by anyone. The exposition should elaborate on that.

For example:

Summary of library X:
* String methods slow
* method M doesn't work consistently in browsers
* silly and useless methods

[elaboration of each point, with examples]

[reasons the bugs can't be simply patched/design analysis]

[alternative]

[Conclusion recapping on problems an alternative.]

A discussion of the library architecture and usage patterns with their
pros and cons would also be helpful.

A couple of years back I did areview on Prototype.js:http://dhtmlkitchen.com/?category=/JavaScript/&date=2008/06/17/&entry...

In that review, I painfully showed how the library works. Something as
complicated as that should be explained, so that it can be fully
appreciated.

I'm sure it took quite a bit of time, it would be good to update it.
There does not seem to be mention of the version reviewed (June 2008
=> v 1.6.0.2?).

The section $a toString gave me a bit of a revelation: browser
detection based on the rendering engine ignores differences in the
script engine. There are a number of browser families based on WebKit,
there are two main script engines - Chrome, Maxthon and Android use V8
whereas KDE and Safari use SquirrelFish. There may be others.

Prototype.js has mostly died out since then.

Would somebody please tell Apple that? Their main web site uses
version 1.6.0.2


[...]
Dojo is nearly dead, so that one is low hanging fruit. jQuery and YUI
might be good subject matter for changing the industry.

It should also look at massive frameworks like Qooxdoo, Cappuccino
("...an open source framework that makes it easy to build desktop-
caliber applications that run in a web browser"[1]) and SproutCore
("... an HTML5 application framework for building responsive, desktop-
caliber apps in any modern web browser..."[2]).

1. <URL: http://cappuccino.org/ >
As a final emphasis, the article should emphasize what to do instead.

Yes, such as: let the browser do as much work natively as possible,
keep it simple and use scripting only where necessary to add value
(i.e. the antithesis of Qooxdoo, Cappuccino and SproutCore which aim
to completely replace the browser's UI).
 
T

Thomas 'PointedEars' Lahn

David said:
Amnesia flaring up again? :)

There's a tsunami of evidence and demonstration behind my statements
(as you well know). As I said, search the archive.

Search it yourself. I must agree that the problem with what is in "the
archive" is that it is unstructured, not to the point, full of useless
sentiments, and on top of it widely unreadable thanks to sloppy formatting
(on your part, despite several requests to do better), if it is available
at all (you know about Google Groups' search flaws, don't you?). It is
unfortunately impractical to find the pearls in the mud that have been
thrown. So much for amnesia.

Therefore, I, too, would welcome an unbiased, unemotional, and theoretically
sound peer review. In fact, not having observed it to date, I have been
considering to try and write one myself when and if I find the time.
Perhaps this is such consuming a task that it requires a step-by-step
approach to be done properly.


PointedEars
 
G

Garrett Smith

Of course, so when somebody -- a recruiter, for example, says, "what's
wrong with the jQuery library?", you can say:

- Poor selector engine
- Non-descriptive method names
- Hard to debug
- long, overloaded methods with too much abstraction
- Poorly degradable
- loosely defined constructs and vague documentation
- Low-quality plugins
- Silly (and futile) things in source, like `isPlainObject`
- Significant and numerous core upgrades that break functionality
- plugins don't work
- documentation doesn't reflect new behavior

(modified list of gripes from a colleague).
Amnesia flaring up again? :)

There's a tsunami of evidence and demonstration behind my statements
(as you well know). As I said, search the archive.

The OP asked for "links to very convincing articles". In your response,
I see cynical opinion and no links. That's not even a concise summary of
any one library. It sounds snide, actually. And no urls.
I've done all of the hard work. You yourself were just parroting some
of it recently.

That is untrue.

I've have never wanted to copy anything of yours.
It's been done to death (as you well know).

URL?


That ship has sailed and long since reached its destination.

If you are trying to say that an article was published then post a URL
so the OP can see it.

[...]
Yes. Again, done to death at this point. I mean, Prototype?! Could
there be a less relevant example at this juncture?

One point to be gleaned from that is what sort of change it can affect.
A subtler point is that the mistake I made was not emphasizing enough
about what to do instead. Look how many switched to jQuery.

The review also shows an example outline of how to do a review. It
starts at a very high level with technical *facts*.

| A code review should be objective and should state actual problems.
| Saying "the code is bad" is not a helpful review. Instead, explain
| the problem clearly. If the problem is severe, then say why.

<http://jibbering.com/faq/notes/review/>

I've emphasized these points many times regarding your reviews and I've
noticed improvement, but I think it can still get better.

People will respect you if you follow that.

And even a Prototype core developer criticizing Prototype:
http://perfectionkills.com/whats-wrong-with-extending-the-dom/

Now more and more are flocking to jQuery. Great. Well, not really.

[...]
Okay. I think you are way late on that one as well.

Opinions are funny things. Everybody's got one.

My observations are that many developers are unaware of how selectors work.

I've notice that some foster beliefs that the jQuery "bare words"
proprietary selector syntax is designed to work match attributes instead
of properties. In contrast, the source code of jQuery indicates that it
was designed to select properties.

Further evidence indicates that there may be uncertainty as to whether
or not the jQuery author(s) know what it was designed to do or knew that
it was invalid CSS selector syntax. The documentation says it selects
attributes, the website says it is css3 compliant. Blog entries seem to
be vague and contradictory.

My observation is that developers are confused as to how selectors
really work.
Your hypothetical article pales in comparison to my somewhat legendary
output in this area. Best of luck with it!

Then post a link to what you feel are your best ones. Let them speak for
themselves and quit boasting about them.

Look:
<http://www.google.com/search?q=jquery+"code+review">

I don't see any jQuery code reviews. Chances are, the OP doesn't either.

I've found:
http://www.doxdesk.com/#u20091116-jquery

- which is funny, but not a serious code review (the author is
knowledgeable and provides humorous insight. He seems to not take jQuery
seriously).

My opinion is that jQuery is taken seriously by so many that it cannot
be just laughed off and it cannot be just called garbage. In order to
effect a change, one must take it head on in a more formal code review.

Talk to the reader as if he's right in front of you; don't insult his
intelligence and don't assume he understands everything you do. Be
concise. Make it understandable at a high level to anyone. Try to see it
from the perspective of the user who llikes it. Try to see it from the
perspective of the author who wrote it and is now stuck with design
decisions -- what can he do? Are they fixable? If so, how? If not, why
not? Parsing selectors - sounds neat, right? Well, the problems with
that are...

[brief introduction]

[summary overview of problems]

[exposition and demonstration of each problem]

[elaboration on design issues]

[alternative]

[conclusion]

Writing something like that is not going to be easy; not something that
can be completed in under a week.

A link to such formal review of jQuery would be useful and valuable.

My prototypejs review was painful, not because I had to go and find
problems, but because I had to communicate them effectively to readers
who liked Prototype.js.

Garrett
 
G

Garrett Smith

Does anyone have any links to very convincing articles that eloquently
state the major flaws of these libraries? I'm not considering using any
of them, I've heard enough here to know how bad they are. I just want a
few article links to keep in my back pocket that I can fire back when
someone suggests we use one of them.
[...]
The summary should be something that can be explained simply and should
be understandable by anyone. The exposition should elaborate on that.

For example:

Summary of library X:
* String methods slow
* method M doesn't work consistently in browsers
* silly and useless methods

[elaboration of each point, with examples]

[reasons the bugs can't be simply patched/design analysis]

[alternative]

[Conclusion recapping on problems an alternative.]

A discussion of the library architecture and usage patterns with their
pros and cons would also be helpful.



[...]

Yes, such as: let the browser do as much work natively as possible,
keep it simple and use scripting only where necessary to add value
(i.e. the antithesis of Qooxdoo, Cappuccino and SproutCore which aim
to completely replace the browser's UI).

Good advice.

However, it touches on a core antipattern of Quooxdoo, Cappuccino and
SproutCore. It's not a new technique.

It would be good for the article to do one of
1) focus entirely on one library
2) focus or a problem that is solved and show how libraries solve it,
with examples from the library, and then show an alternative.
3) focus on an antipattern

I'm going to publish an article next week, after it has been reviewed
and edited (the draft is being reviewed now). The article will cover
some things here, but it is not a formal review, as I have outlined. I'd
really like to see that, and if it is a good one, probably even more
than the article I'm working on.

Garrett
 
G

Garrett Smith

Search it yourself. I must agree that the problem with what is in "the
archive" is that it is unstructured, not to the point, full of useless
sentiments, and on top of it widely unreadable thanks to sloppy formatting
(on your part, despite several requests to do better), if it is available
at all (you know about Google Groups' search flaws, don't you?). It is
unfortunately impractical to find the pearls in the mud that have been
thrown. So much for amnesia.

Most of the searching on google search (groups search is broken) results
in developersdex and rinocerus and objectmix. Sometimes googlegroups
local versions (korea, etc).
Therefore, I, too, would welcome an unbiased, unemotional, and theoretically
sound peer review. In fact, not having observed it to date, I have been
considering to try and write one myself when and if I find the time.
Perhaps this is such consuming a task that it requires a step-by-step
approach to be done properly.

16 hours work, one hour per day; just have a quite writing time, two
hours on the weekends. You'll be done in two weeks. Maybe you can
recruit some editorial help from someone.

Garrett
 
D

David Mark

Search it yourself.

Why would I do that? After all, I've seen them.
I must agree that the problem with what is in "the
archive" is that it is unstructured, not to the point, full of useless
sentiments, and on top of it widely unreadable thanks to sloppy formatting
(on your part, despite several requests to do better),

It's odd as you just recently opined that such sloppy formatting as is
found in the reviewed code could hardly be pinned on me.
if it is available
at all (you know about Google Groups' search flaws, don't you?).

As I'm sure you know, this group is echoed on numerous Websites other
than GG. A normal Google search can be used when GG's search feature
is going through one of its outages.
It is
unfortunately impractical to find the pearls in the mud that have been
thrown.  So much for amnesia.

Utter nonsense. I've dissected jQuery so many times (here and
elsewhere) that complaints often arise over the repetition.

And the recent reviews of Dojo and Qooxdoo were as thorough as they
needed to be. I don't recall you finding fault in them.
Therefore, I, too, would welcome an unbiased, unemotional, and theoretically
sound peer review.

Of jQuery?!
In fact, not having observed it to date, I have been
considering to try and write one myself when and if I find the time.  

So join Garrett on the list of people who haven't written reviews of
jQuery or the rest.
Perhaps this is such consuming a task that it requires a step-by-step
approach to be done properly.

Whatever. Seems like a waste of time at this point (particularly for
jQuery).
 
D

David Mark

Of course, so when somebody -- a recruiter, for example, says, "what's
wrong with the jQuery library?", you can say:

I don't often talk to recruiters and when I do, that question does not
come up.
- Poor selector engine

How many times have we been over that?
- Non-descriptive method names

And that.
- Hard to debug

Another of my oft-repeated indictments, dating back almost three
years.
   - long, overloaded methods with too much abstraction

And another.
- Poorly degradable

Still another.
- loosely defined constructs and vague documentation
Yep.

- Low-quality plugins

Everyone knows *that*.
- Silly (and futile) things in source, like `isPlainObject`

LOL. It was isObjectLiteral until I took them to task on it in one of
my many reviews. They changed it soon after (which, as you well know,
is a pattern oft-repeated).
- Significant and numerous core upgrades that break functionality

You sound like you are covering my greatest hits.
    - plugins don't work

http://www.jibbering.com/faq/notes/posting/#ps1DontWork

And you are repeating yourself as well.
    - documentation doesn't reflect new behavior

Change "new behavior" to "reality" and you've copped another one from
me.
(modified list of gripes from a colleague).

Oh brother. They must be an avid reader.
The OP asked for "links to very convincing articles".

I can read, thanks.
In your response,
I see cynical opinion and no links.

You are a repetitious clod, pure and simple.
That's not even a concise summary of
any one library.

Of course not. What does "in short" and "search the archive" mean to
you. Your feigning of amnesia (for the last three years) just makes
you a laughingstock.
It sounds snide, actually. And no urls.

No links? See above.
That is untrue.

History says otherwise.
I've have never wanted to copy anything of yours.

Then I assume you've done so repeatedly at gunpoint.

Groan. See above.
If you are trying to say that an article was published then post a URL
so the OP can see it.

Do you read this stuff before posting?
[...]
Yes.  Again, done to death at this point.  I mean, Prototype?!  Could
there be a less relevant example at this juncture?

One point to be gleaned from that is what sort of change it can affect.
A subtler point is that the mistake I made was not emphasizing enough
about what to do instead. Look how many switched to jQuery.

Let's get real. Nobody has ever heard of you or your review of
Prototype. Why don't you put your obvious frustration into something
productive?
The review also shows an example outline of how to do a review.

It's all about you and some review nobody has read, isn't it?
It
starts at a very high level with technical *facts*.

You really should read your stuff aloud before hitting the send
button.
| A code review should be objective and should state actual problems.
| Saying "the code is bad" is not a helpful review. Instead, explain
| the problem clearly. If the problem is severe, then say why.

<http://jibbering.com/faq/notes/review/>

I've emphasized these points many times regarding your reviews and I've
noticed improvement, but I think it can still get better.

You assume I've paid the slightest attention to your advice.
People will respect you if you follow that.

Oh piss off. You respect me enough to imitate me years later. It's
quite a compliment, even from a certified loon.
And even a Prototype core developer criticizing Prototype:http://perfectionkills.com/whats-wrong-with-extending-the-dom/

You don't see my influence there, do you? Who first pointed out the
IE "unknown" type issue and repeated it endlessly until it seeped into
the public conscience.
Now more and more are flocking to jQuery.

Who conducted that study?!
Great. Well, not really.

Snide. :)
[...]


Okay.  I think you are way late on that one as well.

Opinions are funny things. Everybody's got one.

And everybody knows full well who spent years detailing the jQuery
follies.
My observations are that many developers are unaware of how selectors work.

I'm sure many are. So what? Many developers can't tie their own
shoes. How is that my fault? It's funny that the gripe used to be
about *too many* jQuery indictments on my part.
I've notice that some foster beliefs that the jQuery "bare words"
proprietary selector syntax is designed to work match attributes instead
of properties. In contrast, the source code of jQuery indicates that it
was designed to select properties.

Further evidence indicates that there may be uncertainty as to whether
or not the jQuery author(s) know what it was designed to do or knew that
it was invalid CSS selector syntax.

Long ago published by me. Years later, you want to chime in. What
audience do you think you are playing to anyway? The vast majority of
readers (excluding newcomers) have heard this stuff so many times they
are sick of it (and have said so repeatedly).
The documentation says it selects
attributes, the website says it is css3 compliant.

Could there be anything more ludicrous than you pointing out issues
related to jQuery and attributes in June 2010. Go back to around
Halloween 2007 and start reading my posts (particularly those threads
where John Resig popped in to shoot himself in the foot).

And the thing is you know all of this. Have you lost your mind
recently or what?
Blog entries seem to
be vague and contradictory.

What blog entries? Resig's? Yes, we've been over them ad nauseam
too.
My observation is that developers are confused as to how selectors
really work.

You just said that. And I've been saying it for *years*. Published
loads of proofs too. Are you really trying to wish all of that away
now? That road's been plowed. Find another one.
Then post a link to what you feel are your best ones.

No. :)
Let them speak for
themselves and quit boasting about them.

Why don't you quit pretending they don't exist? You'd really hit a
new low here.
Look:
<http://www.google.com/search?q=jquery+"code+review">

I don't see any jQuery code reviews.

Perhaps you don't know how to use a search engine.
Chances are, the OP doesn't either.

Perhaps he knows better.
I've found:http://www.doxdesk.com/#u20091116-jquery

- which is funny, but not a serious code review (the author is
knowledgeable and provides humorous insight. He seems to not take jQuery
seriously).

Who would? It's long since been exposed as a joke. Largely by me.
Get it? Resig sure as hell does. :)
My opinion is that jQuery is taken seriously by so many that it cannot
be just laughed off and it cannot be just called garbage.

What a ludicrous summary that is.
In order to
effect a change, one must take it head on in a more formal code review.

Rubbish. The typical jQuery "programmer" will not be moved (and may
not understand) technical reviews. Look at the avalanche of "retorts"
from that camp related to my reviews. Most seemed to have missed the
boat entirely. A few did take note of course (as you well know).
Talk to the reader as if he's right in front of you; don't insult his
intelligence and don't assume he understands everything you do.

I have no need to "talk" to anyone about jQuery at this time.
Be
concise. Make it understandable at a high level to anyone. Try to see it
from the perspective of the user who llikes it. Try to see it from the
perspective of the author who wrote it and is now stuck with design
decisions -- what can he do? Are they fixable? If so, how? If not, why
not? Parsing selectors - sounds neat, right? Well, the problems with
that are...

....well-documented. Largely by me. Where were you (and are you
really posting any of this with a straight face?)
[brief introduction]

[summary overview of problems]

[exposition and demonstration of each problem]

[elaboration on design issues]

[alternative]

[conclusion]

I've concluded you just like wasting my time. What do you get out of
that?
Writing something like that is not going to be easy; not something that
can be completed in under a week.
Whatever.


A link to such formal review of jQuery would be useful and valuable.

To whom?
My prototypejs review was painful, not because I had to go and find
problems, but because I had to communicate them effectively to readers
who liked Prototype.js.

What difference did it make? I'll opine none.
 
D

David Mark

Most of the searching on google search (groups search is broken) results
in developersdex and rinocerus and objectmix.

And presumably such reprints are unreadable for some reason?
Sometimes googlegroups
local versions (korea, etc).

So skip those that aren't in your native language.
16 hours work, one hour per day; just have a quite writing time, two
hours on the weekends.

Where do you come up with this stuff?
You'll be done in two weeks.

Then you'll only be two and half years plus two weeks too late to be
relevant.
Maybe you can
recruit some editorial help from someone.

Maybe. Speaking of hours, I want the last hour or so of my life
back. You'll truly outdone yourself this time.
 
S

Scott Sauyet

Thomas said:
Joe Nine wrote:
Does anyone have any links to very convincing articles that eloquently
state the major flaws of these libraries? [ ... ]
I, too, would welcome an unbiased, unemotional, and theoretically
sound peer review.  In fact, not having observed it to date, I have been
considering to try and write one myself when and if I find the time.  
Perhaps this is such consuming a task that it requires a step-by-step
approach to be done properly.

As I'm sure is clear to regulars in this group, I am not entirely in
agreement with the most commonly expressed opinion here that these
general purpose libraries are worthless. I have not actively defended
them much, but I personally find some value in them.

Yet I would also welcome such critiques. I think they could do no
worse than make more public the flaws that we all know exist in these
libraries. They might help improve the libraries or bring forth
better ones.

But, as Garrett said, such critiques would have to be thorough,
detailed, technically savvy but still reader-friendly. Such prose is
not particularly easy to write. I think I can write reasonably well,
and will volunteer to help put such critiques into a clear form if
there is someone who wants to supply the analysis. (And no, David, I
don't want to search the archives to piece it together!)

I would suggest that if people take this up, that it's done one
library at a time. A later collection can discuss them _en masse_ if
desired, but the detailed explanation of the individual libraries
should come first.

Garrett's outline above is a decent start, although I would prefer a
critique that at least starts at a higher level than his Prototype
essay. One about jQuery might start for instance discussing
objections to some of the features that the jQuery community actively
promotes, starting with the "find something, do something" mantra
(questions about inefficiencies, about proliferation of event
handlers, about whether CSS queries are ever the right way to choose
elements, etc.) and perhaps hitting on chaining and the multiple
meanings of the "$" function. But eventually the sorts of details
Garrett exposes for Prototype would be included too.

Although these are critiques, they should be expository writing and
not attempt to persuade users against those particular libraries. The
attitude should be one of, "If you're going to consider this library
you might want to know about these problems," and not, "You should not
bother with this library."

As I said, I'm more than willing to help, although I won't take this
on entirely myself.
 
D

David Mark

Thomas said:
Joe Nine wrote:
Does anyone have any links to very convincing articles that eloquently
state the major flaws of these libraries? [ ... ]
I, too, would welcome an unbiased, unemotional, and theoretically
sound peer review.  In fact, not having observed it to date, I have been
considering to try and write one myself when and if I find the time.  
Perhaps this is such consuming a task that it requires a step-by-step
approach to be done properly.

As I'm sure is clear to regulars in this group, I am not entirely in
agreement with the most commonly expressed opinion here that these
general purpose libraries are worthless.  I have not actively defended
them much, but I personally find some value in them.

Yet I would also welcome such critiques.  I think they could do no
worse than make more public the flaws that we all know exist in these
libraries.

More public? Those who have the capacity to understand the problems
in jQuery should be well aware of them by now.
They might help improve the libraries or bring forth
better ones.

They already have brought forth better ones. As for improvement,
there is a slight flaw in your plan. The authors of - for example -
jQuery and Dojo have been directly confronted with their respective
(and often duplicated) failings and dismissed them out of hand (and
out of sheer ignorance apparently).
But, as Garrett said, such critiques would have to be thorough,
detailed, technically savvy but still reader-friendly.

It's been done every which way.
Such prose is
not particularly easy to write.  I think I can write reasonably well,
and will volunteer to help put such critiques into a clear form if
there is someone who wants to supply the analysis.  (And no, David, I
don't want to search the archives to piece it together!)

Here is a good jumping off point that touches on some of the general
issues with jQuery (and yes, it includes links to articles and
examples, as Garrett knows all too well).

http://www.cinsoft.net/host.html

Here's another that links to an example of jQuery futility:-

http://www.cinsoft.net/size.html

And the parallel threads (here and in the jQuery forum) related to
element dimensions that resulted in the linked example are certainly
hard to miss (each is well over a hundred posts).
I would suggest that if people take this up, that it's done one
library at a time.

It was. And most of them are yesterday's news at this point.
A later collection can discuss them _en masse_ if
desired, but the detailed explanation of the individual libraries
should come first.

Well, that bit's done (over-done some have said). Written,
aggregated, alternately praised and railed against, sliced, diced,
syndicated, Twittered, Reddited, etc. Those who missed them must have
been living in a vacuum for the past few years.
Garrett's outline above is a decent start, although I would prefer a
critique that at least starts at a higher level than his Prototype
essay.

Hmmm. I thought one of his "points" was that he "started at a higher
level" (whatever that meant).
One about jQuery might start for instance discussing
objections to some of the features that the jQuery community actively
promotes, starting with the "find something, do something" mantra

Repeated endlessly to the point where regulars started to complain
about the repetition.
(questions about inefficiencies, about proliferation of event
handlers,

That point eventually sunk in for the jQuery authors; unfortunately,
their response was to attempt to can and brand delegation as
"Live" (nd what a disaster that was/is).
about whether CSS queries are ever the right way to choose
elements, etc.)

You'll never convince Web designers of that. It's their "in".
and perhaps hitting on chaining and the multiple
meanings of the "$" function.

Classics, but nobody cares.
But eventually the sorts of details
Garrett exposes for Prototype would be included too.

Although these are critiques, they should be expository writing and
not attempt to persuade users against those particular libraries.

That would be like writing a critique about 70's models Pintos without
attempting to dissuade drivers from buying them.
The
attitude should be one of, "If you're going to consider this library
you might want to know about these problems," and not, "You should not
bother with this library."

That would miss the bigger picture. Browser scripting is about
simple, lightweight, context-specific functions (and yes, they should
be re-usable); it is *not* about magic GP libraries that attempt to
solve every problem for everybody. Never has been and never will.
But It's hard to convince newcomers whose experience and expertise are
with other languages. It's harder still to convince Web designers,
many of whom have backgrounds in graphic arts that CSS selectors are
not suitable for DOM traversal.

Best of luck to you though!
 
G

Garrett Smith

[...]
That is untrue.

History says otherwise.
I've have never wanted to copy anything of yours.

Then I assume you've done so repeatedly at gunpoint.

Lets be very clear on this: There is nothing of yours that I have
copied. Ever.

If you believe otherwise, then it's time for you to get very specific
with an example.


[...]
Oh piss off. You respect me enough to imitate me years later. It's
quite a compliment, even from a certified loon.

No, I am not imitating anything of yours. To be frank, you have personal
characteristics that I do not aspire to be likened to.

[...]
And everybody knows full well who spent years detailing the jQuery
follies.

One person did that? And everybody knows who it is? Miss reality any?

You have complained about jQuery for years but not all discussions are
yours; you certainly don't have rights or intellectual ownership over
discussions on jQuery.

[...]
Long ago published by me. Years later, you want to chime in. What
audience do you think you are playing to anyway? The vast majority of
readers (excluding newcomers) have heard this stuff so many times they
are sick of it (and have said so repeatedly).

One of the significant differences between you and I is that I am not
trying play any audience. Really. I don't care that nobody uses APE.

The reasons I've heard for being "sick of" your rants is -- and I know
you don't want to hear it but you're asking for it - is that they come
off as being personal (some even say jealous) and that they are badly
organized, poorly formatted, and unfocused.

You bring up good points, but you do so with in an emotional manner and
disorganization, and often ironically claiming how awful jquery is, yet
trying to compete with that, while claiming that you are superior, yet
also saying that your alternative is a parody.

Reading jQuery and fiding bugs is easy. Try to understand the difference
between that and publishing an article that can explain the those
problems to the rest of the world.

[...]

No links to your best and legendary reviews? That is what the OP is
asking for.

I really don't see what purpose your replies fulfill. It seems to be a
personal issue.

[...]
I have no need to "talk" to anyone about jQuery at this time.

Uh-huh.

[...]

Garrett
 
G

Garrett Smith

Thomas said:
Joe Nine wrote:
Does anyone have any links to very convincing articles that eloquently
state the major flaws of these libraries? [ ... ]
[...]

But, as Garrett said, such critiques would have to be thorough,
detailed, technically savvy but still reader-friendly. Such prose is
not particularly easy to write. I think I can write reasonably well,

I agree with both of those. It's not easy to write that stuff and yes,
you do write reasonably well.
Garrett's outline above is a decent start, although I would prefer a
critique that at least starts at a higher level than his Prototype
essay. One about jQuery might start for instance discussing
objections to some of the features that the jQuery community actively
promotes, starting with the "find something, do something" mantra
(questions about inefficiencies, about proliferation of event
handlers, about whether CSS queries are ever the right way to choose
elements, etc.) and perhaps hitting on chaining and the multiple
meanings of the "$" function. But eventually the sorts of details
Garrett exposes for Prototype would be included too.

The $ function was mentioned in the PrototypeJS review.

| What Does $ Do?
|
| * $ does not have a clearly defined meaning as to what the function
| actually does.
| * The dollar sign is intended to be reserved for machine-generated
| code.
|
| PrototypeJS $ function gets an element or array of elements. Calling
| $ results in a bare minimum of three function calls: $, isString, and
| Element.extend and a maximum of over 135 function calls.

I took a look at the "find something, do something" mantra/pattern here:

http://groups.google.com/group/comp.lang.javascript/msg/6479712b867c30d1?dmode=source

[...]

Garrett
 
D

David Mark

On 6/16/2010 4:06 PM, David Mark wrote:
On 6/16/2010 2:35 PM, David Mark wrote:
Does anyone have any links to very convincing articles that eloquently
state the major flaws of these libraries? I'm not considering using any
of them, I've heard enough here to know how bad they are. I just want a
few article links to keep in my back pocket that I can fire back when
someone suggests we use one of them.
[...]


I've done all of the hard work.  You yourself were just parroting some
of it recently.
That is untrue.
History says otherwise.
Then I assume you've done so repeatedly at gunpoint.

Lets be very clear on this: There is nothing of yours that I have
copied. Ever.

Let's be very clear. You have. Perhaps, for whatever reason, you
don't even realize it.
If you believe otherwise, then it's time for you to get very specific
with an example.

Haven't we been over *that* enough times? Start with your recent
obsession with queries and attributes vis-a-vis jQuery.
[...]


Oh piss off.  You respect me enough to imitate me years later.  It's
quite a compliment, even from a certified loon.

No, I am not imitating anything of yours. To be frank, you have personal
characteristics that I do not aspire to be likened to.

LOL. You really think you are playing to some imaginary crowd, don't
you? Anyone who has read this group knows you are full of it. Anyone
new to it will find out soon enough.
[...]


And everybody knows full well who spent years detailing the jQuery
follies.

One person did that? And everybody knows who it is? Miss reality any?

Who is most famous for it? And you are not one to crack about
reality.
You have complained about jQuery for years but not all discussions are
yours;

Complained?! That's a pretty disingenuous characterization.
you certainly don't have rights or intellectual ownership over
discussions on jQuery.

I pretty much invented the art of the jQuery critique though, didn't
I?
[...]


Long ago published by me.  Years later, you want to chime in.  What
audience do you think you are playing to anyway?  The vast majority of
readers (excluding newcomers) have heard this stuff so many times they
are sick of it (and have said so repeatedly).

One of the significant differences between you and I is that I am not
trying play any audience. Really. I don't care that nobody uses APE.

Who said anything about APE? I knew it was coming though.
The reasons I've heard for being "sick of" your rants is -- and I know
you don't want to hear it but you're asking for it - is that they come
off as being personal (some even say jealous)

LOL. The original gripe from Resig and co. was "where's your way cool
library". Then when I showed them up, it was "aw, you are just
jealous coz nobody uses your library". Wake up, that was almost three
years ago.
and that they are badly
organized, poorly formatted, and unfocused.

Whatever you think of them, they trump your nothingness, don't they?
You bring up good points, but you do so with in an emotional manner and
disorganization, and often ironically claiming how awful jquery is, yet
trying to compete with that, while claiming that you are superior, yet
also saying that your alternative is a parody.

Compete with jQuery? My Library is nothing like jQuery. Modular vs.
Interdependent; a dynamic and well thought-out API vs. a static,
inflexible "$" factory; and a comparable build is smaller, faster and
(as demonstrated ad nauseam) better at queries (the one thing jQuery
claims to do well). Minified it is roughly 1.5x the size, but with
100x the features (it's like jQuery + 100 plug-ins).

And, as you well know, my comment of parody was related to one small
part of it. Just who do you think you are fooling with this tripe?
Reading jQuery and fiding bugs is easy.

Sneering from the sidelines (in a long-empty stadium) is even
easier. :)
Try to understand the difference
between that and publishing an article that can explain the those
problems to the rest of the world.

All I know is that you've done neither. Meanwhile, my patterns have
found their way into all of the "major" libraries. Yours too I'm
sure.
[...]



No links to your best and legendary reviews? That is what the OP is
asking for.

And, as is obvious, if you really cared about the OP, you'd have
posted the links. You know damned well where to find them.
I really don't see what purpose your replies fulfill. It seems to be a
personal issue.

You seem to have personal issues; as of late, you seem desperate to
carve a niche for yourself in the library critique business. I don't
see why you replied to my post other than to call attention to some
unwritten review of yours.
 
G

Garrett Smith

On 6/16/2010 4:06 PM, David Mark wrote:
On 6/16/2010 2:35 PM, David Mark wrote:
Does anyone have any links to very convincing articles that eloquently
state the major flaws of these libraries? I'm not considering using any
of them, I've heard enough here to know how bad they are. I just want a
few article links to keep in my back pocket that I can fire back when
someone suggests we use one of them.
[...]



I've done all of the hard work. You yourself were just parroting some
of it recently.
That is untrue.
History says otherwise.
I've have never wanted to copy anything of yours.
Then I assume you've done so repeatedly at gunpoint.

Lets be very clear on this: There is nothing of yours that I have
copied. Ever.

Let's be very clear. You have. Perhaps, for whatever reason, you
don't even realize it.
If you believe otherwise, then it's time for you to get very specific
with an example.

Haven't we been over *that* enough times? Start with your recent
obsession with queries and attributes vis-a-vis jQuery.

So let me get this straight: I reviewed code from jQuery. This bothers
you because you believe that I copied you.

Did I get that right?

[...]
All I know is that you've done neither. Meanwhile, my patterns have
found their way into all of the "major" libraries. Yours too I'm
sure.
[...]

I've looked for, but found no unit tests. If I'm going to use something,
I want to run tests on it to verify the edge cases.

Garrett
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,767
Messages
2,569,572
Members
45,045
Latest member
DRCM

Latest Threads

Top