John...

To be fair...it's very easy to learn the basics of jQuery, but it's quite a
lot of work and time to learn the really cool stuff. I've never used eq() or
if() and those other because I simply don't understand what they do. I'm
sure some of them could improve my code dramatically but I don't even know
WHEN I might use them, so I don't know when to look for them. Does that
makes sense?

andy 

-----Original Message-----
From: jquery-en@googlegroups.com [mailto:[EMAIL PROTECTED] On
Behalf Of John Resig
Sent: Thursday, August 16, 2007 12:53 PM
To: jquery-en@googlegroups.com
Subject: [jQuery] Re: jQuery negatives: dual/triple/quadruple special-case
uses for both function calls and method names


I don't understand this argument at all. So this guy is proposing that we
change all the jQuery methods to:

$Array([array of elems])
$Selector("str")
$HTML("html")
$Element(DOMElement)

and:

.appendElement(DOMElement)
.appendHTML("html")
.appendArray([array of elems])

what on earth does that gain you? What's the purpose of using a language
that can overload arguments and not actually using that feature? What's the
advantage of increasing the size of your API 4-fold?

Incredibly weak argument, obviously someone who's never used the library.

> Some method names make no
> immediate sense, like .one or .eq, and you can't immediately tell if a 
> method acts on the first element in the collection or all of them.

These arguments are slightly more valid. Although .eq() is going away in
1.2. I really don't know what to say, in this case it was simply a design
decision. We could've had:
.val() (return nothing, do nothing useful)
.val("val") (set value)
.getVal() (get value)
.getVal("val") (return nothing, do nothing useful)

But why have a state of a method perform nothing useful at all? Why not
overload it to actually do something? Why double the size of the effective
API with half-useful functions?

--John

On 8/16/07, Mitch <[EMAIL PROTECTED]> wrote:
>
> What do you guys think of this critique of jQuery I found on Simon 
> Willison's site (which is good reading).
>
> http://simonwillison.net/2007/Aug/15/jquery/
>
> <quote>
> jQuery is definitely a popular utility function library, but the sheer 
> amount of dual/triple/quadruple special-case uses for both function 
> calls and method names is an instant turnoff for me.
>
> The jQuery object itself can perform a selector query, embed a DOM 
> element, create a DOM element from HTML and assign a DOMContentReady 
> event handler - and probably more. Event handling is separated into 
> separate methods for each event type. Some method names make no 
> immediate sense, like .one or .eq, and you can't immediately tell if a 
> method acts on the first element in the collection or all of them.
>
> I can't recommend jQuery to the developers I am mentoring because it 
> is in itself a completely separate abstraction, and a muddy one at 
> that. They will end up having to learn jQuery instead of having to 
> learn DOM, CSS and JS, and when being considered as a direct 
> replacement for those it fails both due to complexity and 
> inconsistency."
>
> </quote>
>
> Mitch
>
>


Reply via email to