La pregunta es: ¿por qué las continuaciones (en Ruby) y las corutinas (en Python) no son más utilizadas para la programación web?Corutinas o continuaciones para programación web en Python y Ruby. Por qué no?
La programación web en el lado del servidor se dificulta por el problema de preservar el estado entre las solicitudes. Dos soluciones elegantes y relacionadas a esto son las continuaciones (como se encuentran en Scheme, Ruby y Smalltalk) y corutinas (como se encuentran en Python y Go).
Bruce Tate en su Más allá de Java (O'Reilly, 2005) habló de Ruby on Rails y Seaside como nuevos desarrollos en la programación Web. Para mí, Seaside fue el verdadero avance: al usar las continuación de Smalltalk, Seaside hizo que sea muy fácil programar secuencias complejas de solicitud/respuesta.
Sé sobre las corotines de Python usadas en Tornado y Twisted para reducir las devoluciones de llamada, pero eso es de bajo nivel, en comparación con escribir una vista/controlador en una sola coroutine para manejar una secuencia de solicitudes HTTP para completar una compra en línea , por ejemplo.
Me pregunto por qué estas ideas que se ven tan bien en papel no se implementan más ampliamente en Python y Ruby. ¿Es solo un asunto cultural? ¿Limitaciones en las instalaciones implementadas en estos idiomas? ¿O hay un error fundamental en estos enfoques en el contexto del desarrollo web?
Si eres lo suficientemente inteligente, ¿por qué no te rindes? – mlvljr
mlvljr: Estoy bastante seguro de que la gente es más inteligente de lo que lo he intentado y me gustaría saber de ellos antes de intentarlo yo mismo. –
Me temo que esta pregunta entra en conflicto con [la cláusula "No preguntar" de las preguntas frecuentes] (http://stackoverflow.com/faq#dontask). Usted tiene preguntas múltiples, y cada una podría ser una discusión bastante larga. –