H

開発におけるPythonの位置づけ

 開発現場においてPythonは忌み嫌われる言語、といっても差し支えありません。実際の所Pythonがここまで人気なのは、Python自体の能力というよりGoogle colaboratoryといった手軽に開発できる環境と、NumPyやScipy、scikit-learn等の外部ライブラリの充実さにあります。
 Pythonはその特性(手軽さ)の影響もあり、動作は基本的に遅いです。ではPythonをどのような位置づけにすべきでしょうか。

 結論から言うと私としては、ハブ的な用途が一番だと考えています。
 先述の通り、Pythonは外部ライブラリが充実しています。この外部ライブラリは、多くの場合C++といった別言語で書かれている事が多いです。少なくともPythonフルスクラッチなんてライブラリは私は見たことがないですね。
 一般的に、Pythonは純粋なものよりもライブラリを駆使したほうが高速といわれています。それを裏付けるかのように、有名なNumPyはC、scikit-learnもC++とCで書かれています。(一ミリぐらいはPythonが使われてたりしますが)なので、基本的なPythonの開発指針は、フルスクラッチで書く、というよりも外部ライブラリを使っていく、という風になります。

 そしてライブラリは、何もスーパーハカーのみが作れる、というわけでもありません。一般人もライブラリやモジュールを自作できます。
 さらにPythonは有能な事に、多くの言語との呼び出しの関係を作れます。つまりC言語で作ったモジュールをPythonで呼び出したり、あるいはGoやRustでもなんでも、そういう言語に主要な処理をまかせて、管理はPythonを駆使し、便利なPythonのライブラリと組み合わせて開発していく。そういう事ができるわけです。
 
 まあまとめると、Pythonは高速化と開発速度の向上に役立つので、ハブ的に使うべきだということですね。