この記事では、科学計算とか数値計算を全くしない人間が、何故か気に入っているプログラミング言語であるJuliaについてちょこっと紹介します。
Juliaとは
Juliaは2012年に公開された、科学計算処理、数値計算向けのプログラミング言語で、MITの学生や教授によって作られました。
なぜJuliaを作ろうとしたか、ということについては公式ブログで語られています。
記述しやすさ、高速さがウリで、LLVMベースのコンパイラを搭載することで実現しています。
for文で単純な計算するだけでも速いです。感動します。
プログラミング環境について
Juliaのインストールについては割愛し、ツールなどを紹介します。
JuliaPro
JuliaProはJulia Computingが提供するIDEです。
JuliaのインストールとAtomのインターフェイスであるJuno IDE、デバッガ、その他グラフ描写などの有用なパッケージが同梱されています。
JuliaBOX
JuliaBOXは同じくJulia Computingが提供するツールです。Jupyter Notebookを利用しているのでブラウザ上でJuliaを試すことができます。
VSCode
Visual Studio Code上で公開されているJuliaの拡張機能をインストールすることで、Juno IDEのようなIDEとして利用することができます。補完も効きます。
#ちょっとした文法とか
文法については公式ドキュメントに詳しく書かれています。ここではほんのちょっとだけ紹介します。
###乗算記号がいらない
x=32
32
y=3x+1
97
z=2x^2+2x+1
2113
###行列は「'」で転置
a=[1 2 3;4 5 6;7 8 9]
3×3 Array{Int64,2}:
1 2 3
4 5 6
7 8 9
a=[1 2 3;4 5 6;7 8 9]
3×3 Array{Int64,2}:
1 4 7
2 5 8
3 6 9
###既約分数が求まる
t=2//4
1//2
パッケージについて
Webフレームワークや機械学習関連をサポートするパッケージなど、Juliaには現在1686のパッケージが公開されています。
ページではバージョンごとによってテストがpassしたかfailだったかが表示されていますが、半分くらいしかpassしていません…。
その他
- JuliaConと呼ばれるカンファレンスがあり、2018年はロンドンで開催されます。プレゼンテーションはYoutubeで公開されています。
- Julia公式ページで書籍やチュートリアルのサイトなどが紹介されています。
- 東北大学の某教授も使っています。
- どうすればPythonをJuliaと同じくらい速く動かせるのか? : 様々なやり方で計算の高速化を図るみたいな記事も読んで面白いと思います。(Pythonだけど)