Although, $chk should really have been return obj != null; But it is not needed in mootools 2.0 anyway :)
On Sep 4, 12:59 am, Stewart Mckinney <[email protected]> wrote: > Good point. > > On Thu, Sep 3, 2009 at 5:48 PM, Aaron Newton <[email protected]> wrote: > > Stewart, while your defense of MooTools is heartfelt and appreciated, this > > is precisely the reaction that someone like Marsh is after. Actually > > debating his comments line by line just wastes your time. I don't think any > > of his criticisms really merit comment. Just saying that he's not worth the > > time is all we need here and then we move on. I'd hate to see this thread > > turn into a long ranging debate on the value of his rant. > > > On Thu, Sep 3, 2009 at 1:54 PM, Stewart Mckinney <[email protected]>wrote: > > >> 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 > < 1KViewDownload
