WindowsにJuliaの環境構築をしてみた
最近話題になっている、Juliaを触ってみたいと思い環境の構築をしてみた。
Juliaとは
Juliaは、汎用プログラミング言語水準から高度の計算科学や数値解析水準まで対処するよう設計された高水準言語かつ仕様記述言語、及び動的プログラミング言語である。
Juliaは、初めから高性能を目指して設計され、プログラムは、LLVM(Low Level Virtual Machine : 低水準仮想機械)を用いて実装された型推論と実行時(JIT : Just In Time)コンパイルを使用して、複数のプラットフォーム用の効率的なネイティブコードにコンパイルされる。
CやJavaのような、静的コンパイル言語に匹敵するパフォーマンスで、科学的数値計算や機械学習、データマイニング、線形代数演算などに適した柔軟な動的型付け言語である。
JuliaはMIT Licenseの下で配布されており、Windows、Mac OS、Linux、FreeBSDに対応している。
■ Julia公式Webページ
The Julia Programming Language https://julialang.org/
■ GitHub Julia github.com
環境
自分のPC環境は以下の通りである。
環境 | |
---|---|
PC | 富士通 LIFEBOOK SH90/X |
OS | Windows10 Pro 64bit version 1709 |
Install | Julia 1.0.0 Windows 64bit |
インストール
以下の公式Webページの、Current stable releaseのWindows Self-Extracting Archive (.exe) 64bitバージョンをダウンロードした。2018.08.18現在で、最新版の julia-1.0.0-win64.exe
を実行し、Juliaをインストールした。インストールはウィンドウの指示通り進めるだけで終わる。
■ Download Julia https://julialang.org/downloads/
自分はインストール先をデフォルトではなく C:\Dev\Julia
内とした。
バージョンの確認
インストールしたディレクトリ内に生成されたショートカットの julia
か、Julia\bin\julia.exe
を実行する。
以下は実行し、起動したウィンドウである。
パス通し
Juliaをどこからでも起動できるように、パス通しをした。Juliaは C:\Dev\Julia
内に保存したため、環境変数のPathには C:\Dev\Julia\bin
を追加した。パスが正常に通っている場合は、コマンドプロンプトなどで julia
と実行することで、上記の画像と同様の表示がされる。
実行
Julia を使う場合は、対話モード(インタプリタ)とプログラムファイル(JLファイル)を作成し実行する方式がある。
対話モードは、プロンプトの julia>
と表示されている部分にプログラムを入力し実行する。
また、Juliaのプログラムファイルを作成し実行する方式でのファイル拡張子は .jl
(数字の1ではなく小文字のL)である。
SublimeTextのビルドシステム
普段使いのテキストエディタがSublimeText3なので、SublimeTextのビルドシステムを簡単に作成した。よくあるビルドシステムのテンプレートをJuliaに対応させた。SublimeTextのコンソールで実行する場合と、コマンドプロンプトで実行する場合に対応する。
以下を Julia.sublime-build
として保存した。
{ "selector": "source.julia", "file_regex": "^(.*?):([0-9]*):?([0-9]*):? (.*)", "cmd": ["julia", "$file"], "variants": [ { "name": "Run with Terminal", "shell": true, "windows": { "cmd": ["start", "cmd", "/c", "julia $file_name & pause"] } } ] }
参考
■ Julia 1.0 Documentation https://docs.julialang.org/en/stable/
■ Why We Created Julia https://julialang.org/blog/2012/02/why-we-created-julia
■ 丸井綜研 なぜ僕らはJuliaを作ったか(翻訳)http://marui.hatenablog.com/entry/20120221/1329823079