TOPSoftware > JuliaとPython、それぞれの特長は(後)

Software

JuliaとPython、それぞれの特長は(後)

2019/08/01

Serdar Yegulalp InfoWorld

 数あるPythonの用途の中でも、現在特に重要なのはデータ分析かもしれない。Pythonのエコシステムには、科学技術計算やデータ分析を高速でこなすための便利なライブラリ、ツール、アプリケーションがたくさんある。

前回から続く)

JuliaとPythonの比較:Juliaの強み

Credit: Thinkstock

 Juliaはもともと、科学技術計算や数値計算などに狙いを定めて設計された。当然、その種の用途でさまざまな強みがある。

  • Juliaは高速:JITコンパイルや型宣言といった特徴から、最適化を施していない素のPythonの実行速度を桁違いで上回ることは普通にある。Pythonを高速化する手段としては、外部ライブラリ、サードパーティ製のJITコンパイラ(PyPy)、Cythonなどのツールでの最適化があるが、Juliaは素のままで高速化を達成できるように設計されている。
  • Juliaの構文は数学的:Juliaの主なターゲットユーザーは、Matlab、R言語、Mathematica、Octaveなど、科学技術計算向けの言語や環境を使っている人々だ。Juliaで数学的な演算を記述する時の構文は、現実世界で数式を扱う時の記法に近く、プログラマー以外にも理解しやすい。
  • Juliaは自動メモリー管理を備えている:Pythonと同じで、Juliaもメモリーの確保や解放といった処理にユーザーがわずらわされずに済む。また、ガベージコレクションを明示的に行う手段もある。したがって、Juliaに移っても、Pythonが通常備えている利便性の1つを失う心配はない。
  • Juliaの方が並列処理に優れている:数学や科学技術計算では、マルチコアを筆頭に、マシンのリソースをフル活用することが鍵となる。PythonもJuliaも並列処理に対応しているが、Pythonではスレッド間やノード間でデータのシリアライズやデシリアライズが必要になることが多い。一方、Juliaの並列処理は洗練されている。また、Juliaの並列処理の構文はPythonに比べて取っ付きやすい。

↑ページ先頭へ