現代のテクノロジー界隈で「AI開発といえばPython」というのは、もはや常識です。
しかし、プログラミング言語の歴史や特徴を少し学んだことがある人なら、ある大きな矛盾に気づくはずです。
「Pythonって、実行速度がめちゃくちゃ遅い言語では……?」
C言語やJavaなどと比較すると、Pythonの処理速度は数倍から数十倍遅いと言われています。一方で、AI(機械学習やディープラーニング)の開発には、膨大なデータ計算が必要です。
「最も計算パワーが必要な分野」で、「最も計算が遅い言語」が覇権を握っている。
この一見すると矛盾した現象は、一体なぜ起きているのでしょうか?
今回は、「Pythonが誕生した背景」まで遡って、その謎を紐解いてみましょう。
- すべては「クリスマス休みの暇つぶし」から始まった
Pythonの歴史は、1989年のクリスマス休暇に遡ります。
オランダの研究機関で働いていたプログラマー、グイド・ヴァン・ロッサム氏は、オフィスが閉まっていて暇だったので、ある「趣味のプロジェクト」を始めました。それが新しいプログラミング言語の開発です。
当時、彼が不満に思っていたのは次のようなことでした。
「C言語は実行速度は速いけど、コードを書くのが難しすぎて時間がかかる」
「シェルスクリプトは簡単に書けるけど、複雑な処理には向いていない」
そこでグイド氏は、「書きやすくて、読みやすくて、そこそこ何でもできる言語」を作ろうと思い立ちます。
名前は、彼が大ファンだったイギリスのコメディ番組『空飛ぶモンティ・パイソン』から取って「Python」と名付けました(ヘビのニシキヘビが由来だと思われがちですが、実はコメディ番組が元ネタです)。
- コンピュータより「人間」を優先した言語デザイン
Pythonの設計思想の根底には、「コードは書かれるよりも、読まれる回数の方が圧倒的に多い」という考え方があります。
そのため、Pythonは誰が書いても同じような美しいコードになるように、インデント(字下げ)を強制するなど、徹底的に「人間の読みやすさ(可読性)」を追求しました。
この「コンピュータの処理速度よりも、人間の開発しやすさを優先する」という哲学が、のちのAI時代に奇跡を起こします。
- 種明かし:Pythonは「最強のリモコン」である
AI時代が到来し、Pythonが覇権を握った最大の理由は、「重い計算を自分ではやっていないから」です。
AI開発でよく使われる「NumPy」や「TensorFlow」といった有名なライブラリ。これらはPythonから呼び出して使いますが、中身のコアな計算部分は、爆速で動く「C言語」や「C++」などで書かれています。
つまり、Pythonは裏側で動いている筋肉達磨(C/C++)に「あれをやれ!」「次はこれをやれ!」と指示を出す優秀なリモコン(グルー言語=接着剤言語)として機能しているのです。
役割 言語 特徴
現場の作業員(処理) C / C++ 実行速度は爆速だが、コードを書くのが難しく時間がかかる。
現場監督(指示出し) Python 実行速度は遅いが、コードを書くのが圧倒的に簡単で早い。
この見事な分業体制により、「Pythonの書きやすさ」と「C言語の実行速度」のいいとこ取りができているのです。
- 「非エンジニア」の天才たちを惹きつけた
もう一つの理由は、AI研究の中心にいるのが純粋なソフトウェアエンジニアではなく、数学者や統計学者などの「研究者」だったという点です。
彼らがやりたいのは「複雑な数式やアルゴリズムを試すこと」であり、「プログラムのメモリ管理」ではありません。ここで、グイド氏が設計した「人間の読みやすさを極限まで高めたPython」がピタリとはまります。
英語を読むように直感的に書くことができるPythonは、データサイエンティストや研究者たちにとって最も学習コストが低い言語でした。
研究者が、書きやすいPythonを使う
便利なAIライブラリがたくさん作られる
それを使いたい人がさらにPythonに集まる
この最強のエコシステムが完成したことで、PythonはAI界の覇権を揺るぎないものにしました。
まとめ
PythonがAI界を制した理由は、決して「言語としての処理速度が速いから」ではありません。
暇つぶしから生まれた「人間の読み書きのしやすさ」を最優先する哲学
重い処理はC/C++に任せる「リモコン」としての優秀さ
その圧倒的な書きやすさが、数学者や研究者たちを惹きつけた
「機械の都合」よりも「人間の都合」を優先して設計された言語が、結果的に最も高度な機械学習の分野で天下を取った。プログラミングの歴史の中でも、非常に面白く、ドラマチックな逆転劇と言えるのではないでしょうか。