Julia (プログラミング言語)

Julia（ジュリア）は、汎用プログラミング言語水準から高度の計算科学や数値解析水準まで対処するよう設計された高水準言語かつ仕様記述言語、及び動的プログラミング言語である。並行計算、並列計算、分散コンピューティング、及びAdapter パターン不要でC言語やFORTRANへのForeign function interfaceに対応している。ガベージコレクションを行い先行評価を用いるほか、浮動小数点数計算、線型代数学、高速フーリエ変換、正規表現照合のライブラリを利用できる。

LLVMコンパイラフレームワークを用いてC言語、C++、Schemeで組まれており、標準ライブラリの殆どは独自に実装された。注目すべき特徴は速度であり、完全に最適化したC言語（PythonやR言語よりも桁違いに速い場合が多い）と比べて計算パフォーマンスの低下は半分程度であると知られている。
一方で実行時には、JITコンパイラによって処理されるため、表面的にはPythonの様にインタプリタとして動作する。

特徴 
 多重ディスパッチ
 動的型付け
 C言語などの静的型付け言語に迫る速い実行速度
 パッケージマネージャが組み込まれている
 Lispのようなマクロやその他のメタプログラミング機能
 Pythonの関数を呼び出す機能
 C言語とFortranのコードの呼び出し

コード例

Hello world 
JuliaではHello worldを次のように書く。println("Hello, World")

行列積 
次のコードはJuliaで書いた行列A、Bの行列積である。
A = randn(10, 10)
B = randn(10, 10)
C = A*B
このように、MATLABや、PythonのライブラリであるNumPyなどと同様に簡潔に数学的な操作を書くことができるうえに、行列積を含めて多くの機能がC言語やFortranと同程度の速度で動作する
。

歴史 

2009年に開発が始まり、2012年2月にオープンソースとして公表された。

2018年8月8日にバージョン1.0がリリースされ、2020年8月1日にバージョン1.5がリリースされた。

2018年12月、開発者の3人がSIAM（アメリカ工業及び応用数学会）によるJ.H.Wilkinson 賞を受賞したことが発表された。

関連項目 
 Fortran
 Mathematica
 NumPy
 SciPy
 R言語
 MATLAB
 GNU Octave

脚注

参考文献

洋書
 
 
 Ben Lauwens and Allen B. Downey: "Think Julia: How to Think Like a Computer Scientist", Oreilly & Associates Inc, ISBN 978-1492045038 (2019年5月). 
 Eric Darve and Mary Wootters: "Numerical Linear Algebra with Julia", SIAM, ISBN 978-1-611976-54-0 (2021).
 Tobin A Driscoll and Richard J. Braun: "Fundamentals of Numerical Computation: Julia Edition", SIAM, ISBN 978-1-611977-00-4 (2022年8月）.
 Noel Kalicharan: "Julia - Bit by Bit: Programming for Beginners", Springer, ISBN 978-3-030-73935-5 (2021).
 C. T. Kelley:　"Solving Nonlinear Equations with Iterative Methods: Solvers and Examples in Julia"，SIAM，ISBN 978-1-611977-26-4（2022年）.
 Clemens Heitzinger: "Algorithms with Julia", Springer, ISBN 978-3-031-16559-7 (2022).

和書
 
 
 進藤裕之, 佐藤建太:「1から始める Juliaプログラミング」、コロナ社、ISBN 978-4339029055（2020年3月26日）。
 石井一夫:「基礎から学ぶJulia 　基本文法からデータサイエンスまで」、SCC(エスシーシー）、ISBN 978-4886470225（2021年1月25日）。
 Tanmay Bakshi, 菅原 宏治 (訳):「Julia超入門」、東京化学同人、ISBN 978-4807920211（2021年2月14日）。 
 永井佑紀：「1週間で学べる! Julia数値計算プログラミング」、講談社 (KS情報科学専門書)、ISBN 978-4065282823（2022年6月23日）。
 後藤俊介：「実践Julia入門」、技術評論社、ISBN 978-4297133504（2023年3月15日）。
 佐藤建太：「Juliaプログラミング大全」、講談社、ISBN 978-4-06-531819-5　(2023年6月1日)。
 小高知宏：「Juliaによる数値計算とシミュレーション」、オーム社、ISBN 978-4274230493 （2023年6月20日）。

外部リンク
 
 The Julia Manual
 Tobin A. Driscoll and Richard J. Braun: "Fundamentals of Numerical Computation" ※ Julia version, 原著の第6章まで, 2020年夏版。
 
 Ben Lauwens and Allen Downey: "Think Julia: How to Think Like a Computer Scientist", (2018).
 永井佑紀:「物理で使う数値計算入門：Julia言語による簡単数値計算」
 Julia Computing Receives DARPA Award to Accelerate Electronics Simulation by 1,000x(HPCWire誌記事、2021年3月5日)
 Julia in physicsでのチュートリアル講演

オブジェクト指向言語
数値線形代数
数値解析
並列コンピューティング
プログラミング言語
Linux向け数値解析ソフトウェア