+1 One thing about jQuery, atleast for me so far, it has brought back similar APL like mental translations requirements. In APL, essentially a math language of scalar, vectors and matrixes, forces or promotes you to envision all the data in your mind, thinking and soping out all your transformations all in one line idioms, writing and reading from right to left. jQuery chaining promotes this thinking, but for textuals transformation instead.
I mentioned this that because of the things that "didn't help" the gorgious symbolic nature of APL, was that it did became too "mental" too symbolize, too reduced, too cryptic for the norm - not a recipe for perpetual growth. Part of the maturity of a language is that it begins to be used more by engineers, and less of your computer scientist and hackers who seem to be currently having a ball inventing this stuff. :-) The natural tendency is to keep changing stuff, keep trying to reduce it, etc. Instead, I suggest the forcus should be in optimization and performance implement. IFF (if and only iff) a major syntax change can drastically improve the efficient and optimize the speed, then it should be considered. What the authors need to keep in mind that industry wide adoption comes when companies and developers see stablity. I am assuming that if John does change jQuery, thats fine and dandy, but backward compatbility must also be supported as well. It can become very costly to change finished projects and if isn't worth the effort to change, the new version won't be adoption as expected. Finally, I won't be surprise if in the near future, if it hasn't been done already, someone is going to write a verbose or natural language layer for jQuery; one design for engineers and application developers, who among the majority could care less about code size or fitting it all in a chained line of idioms. table123 = JQ("Create 10x4 Table with purple backgound, yellow text"); JQ("Directly Map JSON data from AJAX_SQL_QUERY('select * from table') into Table123"); JQ("Allow User to Edit Column 3 with dynamic changed updated at server URL"); Hey, it may never happen but its food for thought. :-) -- HLS On Aug 18, 2:46 pm, polyrhythmic <[EMAIL PROTECTED]> wrote: > > IMO, part of good software craftmanship and being productive is being > > able to recognized code in brain speed. One might called say the art > > of "jQuery Theory" dissemination of information applies here. > > I agree! Also, something yet unaddressed in this thread is callbacks. > > I really enjoy the hierarchy of nested anonymous functions because the > nesting allows me to easily read the timing of a list of events. > Events that are chained like .click().toggle() says to me "All these > events run at once without waiting." Plus, coded, I write chained > events like so: > > $('#div').click( function() { > alert('Clicked!');}).slideUp( 300, function() { > > alert('Sliding up!'); > > }).toggle(); > > And I write nested callbacks like so: > > $('#div').click( function() { > alert('Clicked!'); > }, function() { > $(this).slideUp( 300, function() { > alert('Sliding up AFTER click!'); > }, function() { > $(this).toggle("fast", function() { > alert('Toggle AFTER slide'); > }); > }); > > }); > > Well, the difference is much clearer in a proper editor, but the point > is that code design in jQuery is what makes it so easily readable, due > to the overloaded functions. I can't imagine how callbacks would look > in the proposed 'reduction'. Any callback is likely to make the code > more than one line anyway, rendering the 'reduction' irrelevant, IMO. > > Although the anonymous functions may look ugly now, we've gotten > spoiled by the 'unobtrusive javascript'. Remember how unreadable > scattered onMouseover="" 's all over our HTML was? Event bindings and > fx can only get so simple. > > I enjoy the new ideas, though, it's given me a new appreciation for > jQuery's structure. > > Charles > doublerebel.com > > On Aug 18, 2:41 am, "Dragan Krstic" <[EMAIL PROTECTED]> wrote: > > > I'm always for separating thing. Maybe, this would be nice: > > > Function my_f(arg1,arg2,arg3) > > { > > //code > > > } > > > $("...").click().f_call("my_f",{arg1: "arg1",arg2: "arg2",arg3: "arg3"}); > > > or similar. > > > Maybe, plug in mechanism can be extended to do this stuff. > > > John, for us who prefer > > $(...).bind("click",f(){}); > > > over > > $(...).click(); > > > how to to rewrite: > > $(...).onclick().toggle().end();