【じゅりあ】

Julia(ジュリア) とは?

💡 Pythonの書きやすさとCの速さ、科学者が夢見た言語がここに
📌 このページのポイント
Juliaの立ち位置:書きやすさ × 速度 書きやすさ → 実行速度 → C Fortran Python R MATLAB 有償 Java Julia JITコンパイル Pythonの 書きやすさ Cの速度
Juliaの立ち位置:書きやすさと実行速度を両立
ひよこ ひよこ

Juliaってどんな言語なの?Pythonと何が違うの?

ペンギン先生 ペンギン先生

Juliaは科学技術計算のために作られた言語で、最大の特徴は速さだよ。Pythonは書きやすいけど実行が遅くて、速度が必要な部分はCやFortranで書き直すことが多い。Juliaは書きやすさを保ちつつ、最初から速く動くように設計されているんだ

ひよこ ひよこ

なんでそんなに速いの?

ペンギン先生 ペンギン先生

JITコンパイルという仕組みを使っているからだよ。コードを実行する直前に機械語に変換するから、インタプリタ言語のような手軽さとコンパイル言語のような速度を両立できるんだ。初回実行だけちょっと遅いけど、2回目以降は爆速になるよ

ひよこ ひよこ

多重ディスパッチっていうのも聞いたことあるけど…

ペンギン先生 ペンギン先生

Juliaの核心的な機能だね。同じ関数名でも引数の型の組み合わせによって異なる処理を呼び分ける仕組みだよ。例えばadd(整数, 整数)とadd(行列, 行列)で全く違う最適化された処理が走る。オブジェクト指向のメソッドオーバーロードに似てるけど、もっと柔軟で高速なんだ

ひよこ ひよこ

どんな分野で使われてるの?

ペンギン先生 ペンギン先生

NASAの宇宙シミュレーション、製薬会社の分子動力学計算、金融機関のリスク分析、気候変動モデルなど、大量の数値計算が必要な分野で採用が進んでいるよ。最近は機械学習のFlux.jlや微分方程式のDifferentialEquations.jlなど、エコシステムも充実してきたね

ひよこ ひよこ

じゃあPythonの代わりになるの?

ペンギン先生 ペンギン先生

完全な置き換えはまだ難しいかな。Pythonライブラリの数やコミュニティの大きさで圧倒的だからね。でもJuliaにはPythonを呼び出すPyCallというパッケージもあるから、Pythonの資産を活かしつつ計算部分だけJuliaで高速化するハイブリッド戦略もよく使われているよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Julia」って出てきたら「速くて書きやすい科学計算向けプログラミング言語」と思えればだいたいOK!
📖 おまけ:英語の意味
「Julia」 = ジュリア(人名由来ではなく、特に意味はない)
💬 開発者たちが好きな名前を選んだだけで、特定の人物に由来しているわけではないよ。2012年にMITで生まれた比較的新しい言語だよ
← 用語集にもどる