Hello Ys world ?

技術的なことや何か役立つこと、日々の活動を記録する

WindowsにJuliaの環境構築をしてみた

最近話題になっている、Juliaを触ってみたいと思い環境の構築をしてみた。

Juliaとは

f:id:Ysss:20180925124503p:plain:w250

Juliaは、汎用プログラミング言語水準から高度の計算科学や数値解析水準まで対処するよう設計された高水準言語かつ仕様記述言語、及び動的プログラミング言語である。

Juliaは、初めから高性能を目指して設計され、プログラムは、LLVM(Low Level Virtual Machine : 低水準仮想機械)を用いて実装された型推論と実行時(JIT : Just In Time)コンパイルを使用して、複数のプラットフォーム用の効率的なネイティブコードにコンパイルされる。

CやJavaのような、静的コンパイル言語に匹敵するパフォーマンスで、科学的数値計算機械学習データマイニング線形代数演算などに適した柔軟な動的型付け言語である。

JuliaはMIT Licenseの下で配布されており、WindowsMac OSLinuxFreeBSDに対応している。

■ 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 内とした。 f:id:Ysss:20180818235128p:plain

f:id:Ysss:20180818235134p:plain

バージョンの確認

インストールしたディレクトリ内に生成されたショートカットの julia か、Julia\bin\julia.exe を実行する。

以下は実行し、起動したウィンドウである。 f:id:Ysss:20180818235520p:plain

パス通し

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