问题是:为什么延展(在Ruby中)和协程(在Python中)没有更广泛地用于Web编程?
由于保留请求之间的状态的问题,使得服务器端Web编程变得困难。对此的两个优雅且相关的解决方案是延续(如Scheme,Ruby和Smalltalk中所找到的)和协程(如Python和Go中所找到的)。
布鲁斯·泰特(Bruce Tate)在他的《超越Java》(O'Reilly,2005年)中谈到Ruby on Rails和Seaside是Web编程中令人兴奋的新进展。对我而言,Seaside是真正的突破:使用Smalltalk延续,Seaside使得对复杂的请求/响应序列进行编程变得非常容易。
我知道在Tornado和Twisted中使用Python协程来减少回调,但是,与在单个协程中编写视图/控制器来处理一系列HTTP请求以完成在线购买相比,这有点低级。
我想知道为什么这些看起来很不错的想法没有在Python和Ruby中得到更广泛的应用。这只是文化问题吗?这些语言实施的设施有局限性吗?在Web开发的背景下,这些方法是否存在根本缺陷?
Cats萌萌
相关分类