Câu hỏi đặt ra là: tại sao không tiếp tục (trong Ruby) và coroutines (bằng Python) được sử dụng rộng rãi hơn cho lập trình Web?Coroutines hoặc tiếp tục cho lập trình Web bằng Python và Ruby. Tại sao không?
Lập trình web phía máy chủ được thực hiện khó khăn do vấn đề bảo toàn trạng thái giữa các yêu cầu. Hai giải pháp thanh lịch và liên quan, đây là các giải pháp tiếp tục (như được tìm thấy trong Đề án, Ruby và Smalltalk) và các coroutines (như được tìm thấy trong Python và Go).
Bruce Tate trong Vượt Java ông (O'Reilly, 2005) nói về Ruby on Rails và Seaside phát triển mới như thú vị trong lập trình web. Với tôi, Seaside là bước đột phá thực sự: sử dụng Smalltalk continuations, Seaside làm cho nó rất dễ dàng để lập trình các chuỗi yêu cầu/đáp ứng phức tạp.
Tôi biết về coroutines Python được sử dụng trong Tornado và Twisted để giảm callbacks, nhưng đó là hơi thấp, so với viết một view/controller trong một coroutine đơn để xử lý một chuỗi các yêu cầu HTTP để hoàn tất việc mua hàng trực tuyến , ví dụ.
Tôi tự hỏi tại sao những ý tưởng trông đẹp như vậy trên giấy không được triển khai rộng rãi hơn trong Python và Ruby. Nó chỉ là một vấn đề văn hóa? Hạn chế trong các cơ sở như được thực hiện bằng các ngôn ngữ này? Hay có một lỗ hổng cơ bản trong các cách tiếp cận này trong bối cảnh phát triển Web?
Nếu bạn đủ thông minh, tại sao không đi cùng? – mlvljr
mlvljr: Tôi khá chắc chắn mọi người thông minh hơn tôi đã thử và tôi muốn nghe từ họ trước khi tự mình thử. –
Tôi lo sợ câu hỏi này rơi vào mệnh đề của câu hỏi "Không hỏi" (http://stackoverflow.com/faq#dontask). Bạn có nhiều câu hỏi và mỗi câu hỏi có thể là một cuộc thảo luận dài. –