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

Reply via email to