问题是:为什么延续(在中)和协程(在Python语言中)不能更广泛地用于网络编程?
服务器端web编程由于在请求之间保持状态的问题而变得困难。两个优雅且相关的解决方案是continuations (在Scheme、Ruby和Smalltalk中可以找到)和协程(在Python和Go中可以找到)。
Bruce Tate在他的<超越Java >(O‘’Reilly,2005)中谈到Ruby on Rails和是网络编程中令人兴奋的新发展。对我来说,Smalltalk Seaside 才是真正的突破:使用Smalltalk continuations,Seaside让编写复杂的请求/响应序列变得非常容易。
我知道在Tornado和Twisted中使用Python协程来减少回调,但与在单个协程中编写视图/控制器来处理一系列HTTP请求以完成在线购买相比,这有点低级。
我想知道为什么这些在纸上看起来很好的想法没有在和Ruby中得到更广泛的应用。这只是一个文化问题吗?在这些语言中实现的工具的限制?或者,在Web开发的上下文中,这些方法是否存在根本缺陷?
https://stackoverflow.com/questions/12168583
复制相似问题