
Aus meiner Sicht gequilter Unsinn. asyncio is ein Nischenprodukt und alle Welt verwendet File-Deskriptoren. Wunschdenken sollte nicht mit der Realität verwechseln werden.
Dir ist schon klar, das Filedeskriptoren die Basis von asyncio sind?
Sockets sind meiner Meinung nach ein viel besseres Abstraktionsniveau als meinen Quellcode überall mit diesem dämlichen async und await zu spicken.
Das einzige, was hier fehlt, wäre ein spezieller Typ von File-Deskriptor, der entsprechend in der Lage ist HTTP zu sprechen.
Du moechtest also einen HTTP-Server in den Kernel verlagern? Wo wir dabei sind, gleich noch ne RDBMS-engine? Wenn du nochmal auf der Suche nach gequirltem Unsinn bist: das waere welcher.
*Kooperatives Multitasking ist einfach nur Schrott.* Ich habe mich neulich mit einem Mitt-Fünziger unterhalten, der asyncio in seinem neusten Projekt einsetzt, und habe ihn gefragt, wie er es findet und ob es sich irgendwie zu kooperativen Multitasking aus Mainframe-Zeiten (was bekanntlich aus der Mode gekommen ist) unterscheidet.
Er sagte folgendes:
naaa it’s the same thing .. like a loop u know .. marketing .. blah blah .. some technology went out from window .. and back from doors .. like something new *we call that progress* .. but is something like reinvent the wheel for sell something ;) ppl need “new” words, “new” languages .. to feel young :-)
“”” Alter Mann erklaert Technologie, die nach seiner eigenen Sturm-und-Drang-Phase entwickelt wurde, fuer ueberfluessig. Auch interessant fuer sie: Sack Reis in China umgefallen. “””
Selbst ich erinnere mich noch daran, wie ich im Kurs Betriebssysteme dieses Thema einfach nur zum Reihern fande. Um Scheduling soll sich gefälligst das Betriebssystem kümmern. Das können die Leute aus der Ecke eh viel besser als ich und ich befürchte die meisten, die asyncio einsetzen überschätzen ihre Fähigkeiten diesbzgl. total.
Und wo genau tut es das nicht? Ob du nun in einem blockierenden Call stehst, und das OS deinen Thread schlafen legt, bis was da ist, oder das gleiche OS dich wieder aufweckt, wenn auf besagtem FD Daten anliegen, dann ist das in beiden Faellen vom OS geplant. Und die gleichen Leute, die zur Selbstueberschaetzung neigen wenn sie asynchron programmieren sollen (und das dank syntaktischem Zucker ohne dabei in die Callback-Hoelle hinabzusteigen) sind ploetzlich befaehigt, Nebenlaeufigken Code mit seinem ganzen Sack Problemen zu meistern? Sicher. Ereignisbasierte Programmierung ist gang und gaebe, und jeder, der schon mal eine GUI erstellen musste, kann gar nicht anders, als damit zu arbeiten. Aber weil es statt “addListener” oder “signal/slot” async/await heisst, ist es ploetzlich eine schlechte Idee….
Sven
PS: der liebe Mitt-Fünfziger meinte am Ende noch er müsste jetzt nochmal schauen, warum sich in seiner Anwendung irgendwelche laufenden Coroutinen nicht beenden. Eigentlich sollte doch das die Programmiersprache für ihn tun... naja, ein selbst-gehäkeltes Betriebssystem ist halt doch nicht so einfach, wie manche hier auf den Python-Mailinglisten behaupten.
Gottlob erledigt die gleiche Programmiersprache nebenlaeufige Threads ja mit traumwandlerischer Sicherheit. ZB indem sie Module schon garbage-Collected, waehrend ein anderer Thread in einem Destruktor versucht, just jenes Modul zu nutzen, um irgendwelche Resourcen freizugeben. Was so alles behauptet wird auf Mailinglisten...
PPS: Übersetzung von oben
naaa es ist dasselbe .. eine Art Schleife du weißt schon .. Marketing .. bla bla .. manche Technologie wurde aus dem Fenster geworfen .. und kam postwendend durch die Tür wieder herein .. als etwas neues *wir nennen das dann Fortschritt* .. aber das ist wie Rad neu zu erfinden um etwas zu verkaufen ;) Leute brauchen "neue" Wörter, "neue" Sprachen .. um sich jung zu fühlen :-)
_______________________________________________ python-de maillist - python-de@python.org https://mail.python.org/mailman/listinfo/python-de