Die Frage ist: Warum werden Fortsetzungen (in Ruby) und Koroutinen (in Python) nicht häufiger für Web-Programmierung verwendet?Coroutines oder Fortsetzungen für Web-Programmierung in Python und Ruby. Warum nicht?
Serverseitige Webprogrammierung wird durch das Problem des Beibehaltens des Status zwischen Anforderungen erschwert. Zwei elegante und verwandte Lösungen dazu sind Fortsetzungen (wie in Scheme, Ruby und Smalltalk zu finden) und Koroutinen (wie in Python und Go).
Bruce Tate in seinem Jenseits Java (O'Reilly, 2005) sprach über Ruby on Rails und Seaside als spannende neue Entwicklungen in Web-Programmierung. Für mich war Seaside der eigentliche Durchbruch: Mit Smalltalk-Fortsetzungen machte es Seaside sehr einfach, komplexe Anfrage/Antwort-Sequenzen zu programmieren.
Ich weiß über Python-Coroutinen in Tornado und Twisted verwendet, um Callbacks zu reduzieren, aber das ist etwas Low-Level, im Vergleich zum Schreiben einer Ansicht/Controller in einer einzigen Coroutine für eine Sequenz von HTTP-Anfragen, um einen Online-Kauf abzuschließen , beispielsweise.
Ich frage mich, warum diese Ideen, die auf dem Papier so gut aussehen, in Python und Ruby nicht mehr weit verbreitet sind. Ist es nur eine kulturelle Angelegenheit? Einschränkungen in den Einrichtungen wie in diesen Sprachen implementiert? Oder gibt es einen grundlegenden Fehler in diesen Ansätzen im Kontext der Web-Entwicklung?
Wenn Sie schlau genug sind, warum nicht mitgehen? – mlvljr
mlvljr: Ich bin mir ziemlich sicher, dass die Leute klüger sind als ich es versucht habe und ich würde gerne von ihnen hören, bevor ich es selbst ausprobiere. –
Ich fürchte, diese Frage fällt in Konflikt mit der Klausel "Nicht fragen" (http://stackoverflow.com/faq#dontask). Sie haben mehrere Fragen und jeder kann eine ziemlich lange Diskussion sein. –