I'm going to chime in because I agree with Aaron. Thanks Aaron. You are pretty awesome, and the mooTools community deserves a lot more respect than this.
This article don't even seem to understand the source code. This critique is
... not even a critique. To be honest, it's a little insulting if you are a
mooTools developer and have been working with it for quite some time (2
years here). I wouldn't even give this guy two legs to stand on. This is
total flame bait. This guy is angry and has too much time on his hands. Good
thing I've got a little of my own (woo creative blocks!).
Listen to this part.
*
*
*function $chk(obj){
return !!(obj || obj === 0);
};
Try to guess what that's for. Then wonder how it came to be called
"$chk".*
I don't mean to be a know-it-all but that's in the first line of the
documentation. If you click "Docs", the definition for $chk is the first
that comes up. You can not miss it. This guy literally just looked at the
source code without looking at the design specifications. That is not the
appropriate way to judge or criticize a framework, and I see it happen all
of the time. Unfortunately I don't understand why one who loves to post
rambling invectives on a forum would also have an aversion to the English
language, but hey, I've seen stranger things in my life.
It isn't taking into account the full architecture of the source code, so it
doesn't and analyze the higher-level design decisions - which would be an
intelligent discussion that I might be interested in. All this article does
is analyze each function bit by bit, in a piecemeal fashion, and then
criticizes syntax decisions such as using "chk" over "check" and overuse of
the "$" method(? he calls it a method?!?!). It's used stylistically as a
marker for certain functions which can be called in the global scope...for
the love of all that is sacred...and he beats that drum over and over as if
it were some great sin. Listen to this fresh hell:
*They are aping the initial effort of a
**Javascript*<http://www.developersdex.com/asp/message.asp?p=2978&r=6521331#>
* programmer who
obviously hadn't yet learned Javascript. Note the incessant use of
"$" as well as the "initialize" method.*
What the !...@#!@#...@# is that? I love initialize! Honestly, what is with that
unwarranted smug tone? And we have here the very height of ignorance in his
commentary:
*
*
*function $type(obj){
if (obj == undefined) return false;
if (obj.$family) return (obj.$family.name == 'number' && !isFinite
(obj)) ? false : obj.$family.name;
if (obj.nodeName){
switch (obj.nodeType){
case 1: return 'element';
case 3: return (/\S/).test(obj.nodeValue) ? 'textnode' :
'whitespace';
}
} else if (typeof obj.length == 'number'){
if (obj.callee) return 'arguments';
else if (obj.item) return 'collection';
}
return typeof obj;
};
I don't know what this is supposed to be, but I don't like it. And
something tells me the whole script hinges on it.*
*
*
Please. "I don't know what this is supposed to be, but I don't like it." I
need to go get my crosses and garlic, because apparently I've been using a
framework that has MONSTERS hidden in it. Whoa.
He mentions mooTools breaking with "older agents"? Please. I've never seen
it happen for any browser mooTools claims to support.
This guy doesn't even't even talk about (because they are awesome and he is
a hater):
1) Classes ( Which is what MooTools does very nicely. Make lots of Classes.
You will never ever look back. )
2) Method Chaining ( I love this too. It's like harmony has returned to my
thinking. )
3) An (almost) completely encapsulated namespace. Projects RARELY collide.
That is a huge boon
4) Extending classes is easy, and Implementing is great too, and it all
works pretty well with Options and Events and having all of that integrated
is very very nice indeed.
5) The performance benefits you get out of extending classes in the fashion
that mooTools prompts because of the way Javascript is structured as a
language. This guy doesn't even seem to understand the structure of a
prototypical inheritance language, for being an expert on the subject.
Sorry if I kick start any flame war here everybody, but this guy is
completely rambling (I'm sure you noticed), and I read his post and I got
angry because people who have no respect for the (freeeeeeely given) efforts
of others just happen to get underneath my skin. Honestly without open
source and communities like mooTools I would not be able to do what I do
today. I'm not going to engage him directly on any level because frankly I
feel he would probably not hear it, and I will absolutely end up with a
headache and the need to go for a jog. However, I would like to inform the
mooTools community that in my opinion, this post and the discussion that
follows are both garbage.
mooTools rocks. I would dare say my enjoyment of it goes beyond just a
professional level - its actually fun to use. It's nice having tools that
are fun to use, tyvm.
( nothing personal, Xandros ;) )
-end
I don't think you could change the mind of that guy,
> personaly I won't waste my time trying to convince him.
>
> [?]
>
>
> On Thu, Sep 3, 2009 at 12:32 PM, Xandros <[email protected]> wrote:
>
>>
>> Hello
>>
>> Not wanting to start a flame war, and using myself mootools for a
>> while, I stumbled on that thread on a developer forum.
>> A quite harsh critique of Mootools, but the general idea is true,
>> since the 0.7 versions or so, the low level classes and functions of
>> Mootools are getting bigger and more and more complicated with lots of
>> strange code that is dependant on a lot of other strange code, and in
>> the end we just get the same behaviour as before, enhanced a bit of
>> course.
>>
>> I would really love some Mootools developers to answer here what they
>> think about this analysis of the code and why ... everybody has got
>> something to learn from constructive discussion I think ...
>>
>> http://www.developersdex.com/asp/message.asp?p=2978&r=6521331
>
>
>
>
> --
> http://tbela99.blogspot.com/
>
> fax : (+33) 08 26 51 94 51
>
<<35F.gif>>
