On Mon, Apr 30, 2012 at 4:15 PM, Glyph <gl...@twistedmatrix.com> wrote: > On Apr 30, 2012, at 4:57 AM, moses dsouza wrote: > > I don't think so. Most of what Guido wants is already available via > inlineCallbacks, and the drawbacks of using that are documented pretty well > in the comments there. I also have some issues with the premises and > conclusions of that article. For example, batching, pipelining and pooling > are all easier to implement with a callback-driven style. > > I think that article is mainly about aesthetic choices, and the culture of > the Python community. However, it does highlight the need to document the > reasons why things are the way that they are in the Twisted world, so that > the broader Python community understands that it's not weird for the sake of > weird; but this is a documentation issue. For example, Node.JS doesn't have > this problem, despite having a much worse convention of callback spaghetti > (as far as I know, they don't have an abstraction analogous to a Deferred > yet); this is because the JavaScript community has already accepted callbacks > and is intimately familiar with them before approaching Node for the first > time. There are a few analogues in Python (for example, GUI toolkit > programming) but a smaller proportion of the community at large are familiar > with that style.
Several large JS toolkits have the concept of a Deferred or a Promise. MochiKit stole Twisted's, where it got forked into Dojo, and then forked into Google's Closure library. jQuery has a separate Deferred implementation that looks like Twisted's, and is similar enough that we can call it a Deferred, although I know a few people who object to that. This is a bit off-topic, but generators are expected to be in Harmony (they're already in Mozilla's JS, stolen wholesale from Python). The latest specification draft has "yield" as a future reserved word, and has a reference to an undefined "YieldExpression", though this may just be an editing oversight. Right now, you could implement inlineCallbacks in Mozilla JavaScript. > _______________________________________________ > Twisted-Python mailing list > Twisted-Python@twistedmatrix.com > http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python -- Jasper _______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python