いものやま。

雑多な知識の寄せ集め

asyncioやめてほしいというボヤき。

だいぶ経ってしまったけど、8/4(木)にラクスさんで『asyncioが地獄だった件』というLTをした。

以前のLT(『Pythonでリファクタリングできなかった話』をLTしてみた。 - いものやま。)を反省して、asyncioの詳細には踏み込まず、Requests-HTMLというライブラリが便利だよという話と、そのときにasyncioには気をつける必要があるよという話だけにした。 実際、このRequests-HTML自体はお手軽だし。

そのあと、『みんなのPython勉強会 #84』でもasyncioが取り上げられてたり、非同期処理に対する関心は高いのかなという感じがするけど、正直asyncioはやめてほしいよなぁという感じ。 この勉強会でWebアプリを非同期にする話が出てたけど、想像以上に変更が必要みたいで、かなり目眩がした。。。

「asyncio使うなっていうんなら、代わりにどうしろっていうんだ」っていう声も聞こえてきそうだけど、非同期処理をオブジェクト指向的に実現してるconcurrent.futuresを使うのがよさそう。 こちらの方が言語仕様に影響を与えてないし、使い方も簡単だし、呼び出し側が同期か非同期化を選べる。

concurrent.futuresについてはまたどこかでちゃんと取り上げたい。

それにしても、Pythonはどうしてこうも場当たり的に言語仕様を増やすのかなぁ。 本質が見えていなすぎでしょ。。。

今日はここまで!