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

From Wikipedia, the free encyclopedia

登場時期 2012年8月23日 (13年前) (2012-08-23)
開発者 Jeff Bezanson、Stefan Karpinski、Alan Edelman、Viral B. Shah ウィキデータを編集
最新リリース 1.12.5/ 2026年2月9日 (42日前) (2026-02-09)[1]
Julia
Julia
Juliaのロゴ
パラダイム オブジェクト指向プログラミング関数型プログラミング命令型プログラミング、マルチパラダイムプログラミング、ベクトル化メタプログラミング手続き型プログラミング並列計算多重ディスパッチ ウィキデータを編集
登場時期 2012年8月23日 (13年前) (2012-08-23)
開発者 Jeff Bezanson、Stefan Karpinski、Alan Edelman、Viral B. Shah ウィキデータを編集
最新リリース 1.12.5/ 2026年2月9日 (42日前) (2026-02-09)[1]
型付け 付随型アノテーション及び型推論動的プログラミング言語
影響を受けた言語 MATLABPythonLISPC言語FORTRANNumPyLuaR言語SchemePerlRuby ウィキデータを編集
プラットフォーム LinuxMicrosoft WindowsmacOS ウィキデータを編集
ライセンス MITライセンス
ウェブサイト
拡張子 jl ウィキデータを編集
テンプレートを表示

Julia(ジュリア)は、科学技術計算および数値解析を主な用途として設計された汎用プログラミング言語である[2][3][4]。2012年にMITの研究者らによって公開された。動的型付けを採用し、LLVMを基盤とするJITコンパイル方式により実行時にネイティブコードを生成する[5]

高水準言語の記述性とコンパイル言語に匹敵する性能を志向して設計されており[5]並列計算分散処理C言語およびFortranとの相互運用性を備えるオープンソースソフトウェアである。

相互運用性

Juliaには、@ccall マクロを使用してC言語Fortranのライブラリを呼び出すための組み込みサポートがある。外部ライブラリを使用し、Python[6]R言語[7]C++[8]Java[9]SQL[10][11][12][13]などと相互運用し、関数を呼び出したり呼び出されたりすることもできる。

C言語の printf を呼び出す例。

@ccall printf("Hello, World!\n"::Cstring)::Cvoid

Python とは同じ動的型付けのプログラミング言語であり類似点が多いため、相互運用がしやすい。ただし、NumPyはC言語と同じくrow-majorで配列の添え字は0から始まるが、JuliaはFortranと同じくcolumn-majorで配列の添え字は1から始まる[14]。下記は Julia の側から PythonCall を使用した例である。[15]

using PythonCall
np = pyimport("numpy")
print(np.array([1, 2, 3], dtype=np.float32))

同様に JuliaCall により、Python の側から Julia を呼び出すことも可能であり、Julia は計算が高速にできるので、計算量が多い部分だけを Julia により計算するということも可能である。下記は Python の側から JuliaCall を使用した例で、Julia の多次元配列と NumPy を組み合わせて使用している。[16]

from juliacall import Main as jl
import numpy as np
np.array(jl.rand(range(10), 3, 5))

コード例

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などと同様に、数学的な操作を簡潔に書けるうえに、行列積に関しては単にBLASのライブラリ(デフォルトはOpenBLAS[17])を呼び出しているだけだが、行列積を含めて多くの機能がC言語Fortranと同程度の速度で動作する[18]

沿革

  • 2009年に開発が始まり、2012年2月にオープンソースとして公表された[19][20]
  • 2018年8月8日にバージョン1.0がリリースされ、[21][22][23]2020年8月1日にバージョン1.5がリリースされた[24]
  • 2018年12月、開発者の3人がSIAM(アメリカ工業及び応用数学会)によるジェームズ・H・ウィルキンソン賞を受賞したことが発表された[25]
  • 2025年3月、Google Colabにおける公式サポートが開始した[26]

関連項目

脚注

参考文献

外部リンク

Related Articles

Wikiwand AI