Julia (プログラミング言語)
提供: miniwiki
Julia | |
---|---|
Official Julia logo | |
拡張子 | .jl |
パラダイム | 手続き型プログラミング, 多重ディスパッチ, 関数型言語, メタプログラミング |
登場時期 | 2012年 |
設計者 | Jeff Bezanson, Stefan Karpinski, Viral B. Shah, Alan Edelman (MIT Group Leader) |
最新リリース | 1.0/ 2018年8月8日 |
型付け | 付随型アノテーション及び型推論の動的プログラミング言語 |
影響を受けた言語 | MATLAB, Scheme, Common Lisp, Lisp, C言語, Python, Perl, Ruby |
プラットフォーム | Linux, macOS, FreeBSD, Windows |
ライセンス | MIT License |
ウェブサイト | julialang.org |
Julia(ジュリア)は、汎用プログラミング言語水準から高度の計算科学や数値解析水準まで対処するよう設計された高水準言語かつ仕様記述言語、及び動的プログラミング言語である。[1][2][3] 並行計算、並列計算、分散コンピューティング、及びAdapter パターン不要でC言語やFORTRANへのForeign function interfaceに対応している。ガベージコレクション[4]を行い先行評価を用いるほか、浮動小数点数計算、線型代数学、高速フーリエ変換、正規表現照合のライブラリを利用できる。
LLVMコンパイラフレームワークを用いてC言語、C++、Schemeで組まれており、標準ライブラリの殆どは独自に実装した。[5] 2009年に開発が始まり、2012年2月にオープンソースとして公表された。[6][7] 実装の最も注目すべき特徴は速度であり、完全に最適化したC言語(PythonやR言語よりも桁違いに速い場合が多い)に比べて2倍速ほどしか計算パフォーマンスが悪化しないことが知られている[5]。2018年8月8日にバージョン1.0がリリースされた[8][9]。
特徴
- 多重ディスパッチ[1]
- 動的型付け
- C言語などの静的型付け言語に迫る速い実行速度
- パッケージマネージャが組み込まれている
- Lispのようなマクロやその他のメタプログラミング機能
- Pythonの関数を呼び出す機能
- CとFortranのコードの呼び出し[2]
関連項目
脚注
- ↑ “The Julia Language”. . 2014閲覧.
- ↑ Bryant, Avi (2012年10月). “Matlab, R, and Julia: Languages for data analysis”. O'Reilly Strata. . 7 February 2013閲覧.
- ↑ Krill, Paul. “New Julia language seeks to be the C for scientists”. InfoWorld. . 7 February 2013閲覧.
- ↑ “Suspending Garbage Collection for Performance...good idea or bad idea?”. . 2017閲覧.
- ↑ 5.0 5.1 “Julia: A Fast Dynamic Language for Technical Computing (PDF)” (2012年). . 2014閲覧.
- ↑ “Why We Created Julia” (2012年2月). . 7 February 2013閲覧.
- ↑ Gibbs, Mark (2013年1月9日). “Gear head”. Network World. . 7 February 2013閲覧.
- ↑ “Julia 1.0”. The Julia Language (2018年8月8日). . 2018閲覧.
- ↑ “プログラミング言語「Julia 1.0」リリース”. OSDNマガジン (2018年8月8日). . 2018閲覧.