科学技術処理用の動的プログラミング言語「Julia 0.4」リリース

 プログラミング言語Juliaの開発チームは10月9日、「Julia 0.4」リリースを発表した。性能やパッケージ開発関連機能などが強化されている。

 Juliaは高性能、ハイレベルな技術コンピューティングをサポートする動的プログラミング言語。LLVMベースの高度なコンパイラ、分散型の並行処理、高い数値解析精度などの特徴を備える。対応OSはWindowsおよびMac OS X、Linux、FreeBSDで、ライセンスはMIT License。

 Julia 0.4は、2014年に公開されたバージョン0.3に続く最新版となる。パッケージ向けにインクリメンタルなコードキャッシュ機構が導入された。モジュールがコンパイル可能であることを明示することで自動的にコンパイルが行われるようになり、大規模なパッケージの読み込み時間を大幅に短縮できるという。また、関数呼び出し構文のオーバーロードも導入した。

 世代別ガベージコレクタのサポートも行われた。これにより、共通したワークロードでのガベージコレクションのオーバーヘッドを短縮できるという。平行して実行するタスク間でのやりとりを高速化するタスク間チャネルの導入による性能強化、多次元抽出アレイの柔軟性強化、SubArrayや多次元イテレータ、タプル型の改良なども行われている。

 Generated Functionという関数を新たに導入、コンパイル時間の特殊化をさらに綿密に制御できるようになった。また、ドキュメント機能も強化し、ユーザー関数などのドキュメント作成が可能になったほか、ヘルプシステムからドキュメンテーションを検索できるようになった。コマンドラインREPL(対話的実行環境)ではタブ補完と絵文字をサポートした。

 「null」が「nullspace」となり、「start_timer」と「stop_timer」がそれぞれ「Timer」と「close」になるといった名称変更も行われた。「randbool」「push!(A)」などは非推奨となり、Cライブラリのローレベル関数が「Libc」、ダイナミックリンカーが「libdl」の各モジュールに移行した。

 JuliaはプロジェクトのWebサイトより入手できる。同時に、すでに700以上のJulia向けパッケージが登録されていることも報告している。

Julia
http://julialang.org/