2018年は私にとって衝撃でした。よくGUI FrameworkのKivyを使って遊んでいたのですがgeneratorを用いる事でcallback関数だらけの醜いcodeを驚くほど読みやすくできると知ったからです。そして色々と試している内にそれまで私にとって得体の知れない魔法であったasync/awaitによる非同期処理が理解できるようになり、ちょっとした非同期処理libraryを作れるようにもなりました。この記事では今更ですが generatorとそこから生まれたnative coroutineの素晴らしさに私が気付くまでの過程と それを用いてKivyとtkinterでasync/awaitを実現する過程を 書き綴りたいと思います。(文章量を減らすため、以後はgeneratorはgenと、coroutineはcoroと略す。) genの秘めたる力 値を生み出す物としてのgen 多くの入門