actually, I do agree, $chk is really not that useful. On Fri, Sep 4, 2009 at 12:10 AM, Christoph Pojer <[email protected]>wrote:
> > 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 >
