「Python」成長の持続可能性に疑問--“存在の危機”に直面
コメント
注目のコメント
発言の内容は、こちら。
Russell Keith-Magee: Python On Other Platforms
https://pyfound.blogspot.com/2019/05/russell-keith-magee-python-on-other.html最近だとGolangの登場でサーバーサイドとしてのPythonが書き換えられてきているという記事もあったし、これからのPythonってAIだけなのかなあ、と感じています。
何所がミスリーディングなのかちょっと考えてみたのですが、記事で参照されている問題点などは言語の問題ではなく、言語「実装」の問題やライブラリの問題ですね。
特にモバイル対応についてCPythonのクロスコンパイルの問題に始まり、アプリ毎に必要最小限の実行系や標準ライブラリだけを組み込む方法(要するに実行系と標準ライブラリのモジュラー化ですが、JavaはProject Jigsawでこれを実現するのに9年かけました)、GUIのイベントモデルとの融合問題、Cで書かれた特に標準ライブラリのポータビリティー問題、云々。
確かにモバイルアプリの分野までカバーするとなると上記のポイントの改善は必要ですが、この分野は現状プラットフォーム毎の第一言語か、クロスプラットフォーム開発ならJavaScriptが圧倒的で、Pythonを選ぶメリットは少ない気がします。機械学習モデルの組み込みとかな。
サーバーサイドに関してはFlask等PythonのWebフレームワーク単体だと他言語のそれと比較してアドバンテージはあまり無いのも事実なのですが、それでも機械学習等を用いたサービス等をデプロイするときは多かれ少なかれPythonを使わざるを得ない。
その点で並列処理には基本マルチプロセスを使うPythonでのウェブサービス開発にJava等他の言語の経験者がやってくると最初の感想はおしなべて「面倒くせ!」です。実際私もそう思います。面倒だし効率も悪い。
記事にもある「マルチコアのタスク分散においてPythonの性能向上」は端的に言えばインタープリタ内のGILの制約をどう回避するかの問題ですが、他方でGILが存在するが故にその存在を前提としたかのような作法の悪いコードも数多く書かれているのも事実で、単に言語実装の改善に留まらない時間のかかる問題だと思います。