コメントについて詳しく説明します。
科学計算でのPythonの使用に影響を与えた要因はいくつかあると思いますが、「はい、それがPythonがRuby /その他で使用されている理由である」と言える明確な歴史的ポイントはないと思います」
初期の歴史
PythonとRubyの年齢はほぼ同じです-ウィキペディアによると、Pythonは1991年に正式にリリースされ、1995年にRubyが正式にリリースされました。
ただし、GoogleはすでにPythonを使用しており、ミレニアムの変わり目にPython開発者を探していたため、PythonはRubyよりも早く登場しました。プログラミング言語の使用とそれらを使用する人々への影響のキュレーションされた歴史があるわけではないので、GoogleによるPythonの早期の採用は、Matlab、C ++、 Fortran、Stata、Mathematicaなど
つまり、Googleは、数千台のマシン(並列化とスケール)を備えたシステムでPythonを使用し、数百万のデータポイント(繰り返し)を絶えず処理していました。
イベントコンフルエンス
サイエンティフィックコンピューティングは、SGIやCraysなどの特殊なマシンで実行されていました(覚えていますか?)
過去10年ほどで、コモディティハードウェア(あなたや私が億万長者でなくても買うことができるもの)が科学的で大規模なコンピューティングの領域に引き継がれました。現在の上位500位のランキングをご覧ください。世界の上位ランクの「スーパーコンピューター」の多くは、通常のIntel / AMDハードウェアで構築されています。
Pythonは、GoogleがPythonを宣伝し、Googleが汎用ハードウェアを使用しており、数千台のマシンがあったので、良い時期にやって来ました。
さらに、いくつかの古い科学計算の記事を掘り下げると、2000年ごろにそれらが出現し始めました。
以前のサポート
2000年に書かれた天文データ解析ソフトウェアおよびシステム向けに書かれた記事で、 Pythonを科学計算の言語として提案しています。
この記事には、Pythonに関する次の引用があります。
Pythonは、解釈されたオブジェクト指向プログラミング言語であり、科学アプリケーションでかなりの注目を集め始めています(Python、1999)。これは、Pythonおよび一般的なスクリプト言語が、多くの科学プロジェクトの次の論理的ステップを表しているためです(Dubois 1994)。最初に、Pythonはインタープリター型プログラミング言語を提供します。これは、科学プログラムで既に使用されている単純なコマンド言語の拡張として見ることができます
第二に、Pythonは他の言語で書かれたソフトウェアと簡単に統合できます。その結果、既存のプログラムを駆動するための制御言語としてだけでなく、異なるシステムを一緒に結合するためのグルー言語としても機能します。最後に、Pythonは、サードパーティモジュールの大規模なコレクション、確立されたユーザーベース、および書籍やオンラインリファレンスの形でさまざまなドキュメントを提供します。このため、科学者が独自のコマンドインタープリターを作成する際に達成しようとすることが多いものの、高度に洗練され拡張されたバージョンと考えるかもしれません。
そのため、Pythonは、当時の既存のシステムと機能的に類似していたため、またPythonをCや既存のプログラムなどと簡単に統合できるため、90年代後半にすでに牽引力があったことがわかります。この記事の内容に基づいて、Pythonは1995年から1996年まで遡ってすでに科学的に使用されていました。
人気の伸びの違い
Rubyの人気は、2004年に最初に登場したRuby On Railsの台頭とともに爆発しました。Rubyについての話題を初めて耳にしたのは2005年から2006年のことでした。django for Pythonは同じ時期にリリースされました(Wikiによると2005年7月)が、Rubyコミュニティの焦点はWebアプリケーションでの使用の促進に非常に集中しているように見えました。
一方、Pythonには既に科学計算に適したライブラリがありました。
NumPy -NumPyは2005年に正式に開始されましたが、NumPyが構築された2つのライブラリは以前にリリースされました:Numeric(1995)およびNumarray(2001?)
BioPython-少なくとも2001年に遡るPython用の生物学的コンピューティングライブラリ
SAGE -2005年初頭の最初の公開リリースを含む数学パッケージ
さらに、タイムラインの多くはわかりませんが(ダウンロードサイトを閲覧するだけでなく)、PythonにはSciPy(2006年にリリースされたNumPy上に構築)もあり、R(統計言語)とのバインディングがありました2000年代初頭、MatPlotLibを取得し、ipythonで非常に強力なシェル環境も取得しました。
ipythonは2000年代初頭に初めてリリースされ、統合されたmatplotlibのグラフ化や計算クラスタの管理など、科学計算に非常に役立つ多くの機能が追加されました。
上記の記事から:
Pythonに関連する他の多くの科学計算プロジェクトにも注目する価値があります。数値Python拡張機能は、Pythonに高速な配列と行列の操作を追加し(Dubois 1996)、MMTKは分子モデリング用のPythonベースのツールキット(Hinsen 1999)、Biopythonプロジェクトは生命科学研究用のPythonベースのツールを開発しています(Biopython 1999)、 Visualization Toolkit(VTK)は、Pythonバインディングを備えた高度な視覚化パッケージです(VTK、1999)。さらに、Pythonコミュニティで進行中のプロジェクトは、画像処理とプロットの拡張機能を開発しています。最後に、(Greenfield、2000)で発表された研究では、STScIのプロジェクトでのPythonの使用について説明しています。
Python用の科学および数値パッケージの良いリスト。
したがって、その多くはおそらく初期の歴史と、2000年代までのRubyの相対的なあいまいさによるものでしたが、PythonはGoogleの伝道のおかげで牽引力を得ていました。
1995年から2000年の期間にスクリプト言語を評価していた場合、実際に何を見ていましたか?Perlはおそらく人々が使いたくないほど十分に構文的に異なっていて、それからPythonがあり、それはより明確な構文と読みやすさを持っていました。
そして、はい、おそらく多くの自己強化があります-Pythonには科学計算用の素晴らしい便利なライブラリがすでにありますが、Rubyには科学での使用を主張する少数の声があり、SciRubyのようないくつかのライブラリがありますが、 Pythonのツールは過去10年で成熟しました。
Rubyのコミュニティ全体は、RubyをWeb言語としてさらに普及させることに非常に大きな関心を持っているようです。