Julia 事始め

Juliaとは

"Julia" とは?

John Lennon が母をモチーフにした曲名でもなければ、有名女優のファーストネーム でもありません。

本日のZDNet Japanの記事で「 Python」が初のトップ3入り、「Julia」上昇--TIOBE 」という記事が有りました。

TIOBEの「興味深い動き」として、あらためて「Julia」が挙げられている。Juliaは、8月の50位から9月は39位にランクをあげている。8月に初めて50位以内に入っていた。

ZDNet Japan「 Python」が初のトップ3入り、「Julia」上昇--TIOBE 」より

記事によると、C, Ruby, Python, R, Matlabのいいとこ取りをした言語で、公開から 6年目のこの8月にJulia 1.0 が発表されたところのようです。

早速試しみました。

Juliaのインストール

Macの場合は、Homebrew で公開されているのでコマンド一発でインストールできます。

$ brew cask install julia

起動させてみました。

Julia起動画面

Julia起動画面

なんとも可愛らしい起動画面です。

何はともあれ Hello World!

早速、見よう見まねでコードを書いてみました。

Hello! Worldと言いながら、いろいろと試してみました。 実行は、 $ julia hello.jl などとやれば実行できます。

まだ、ドキュメントを読み切れていませんが、以下のような印象を持ちました。

  • 今どきのスクリプト系言語の便利さと緩さが反映されている
  • リストや辞書だけでなく、行列などもそのまま扱えるのか
  • javadocのようなドキュメントの仕組みもちゃんと内蔵してる

詳しくはコードを見てください。

# Hello World

greeting = "Hello"
println("$(greeting) World!")

#=
方程式っぽいのも扱えるぞ
=#
x = 1 + 2
y = 2x + 4
z = (x - 1)y + 3

println(x)
println(y)
println(z)

#ありがちな if 構文
x = 3
if x == 3
    y = 1
else
    y = 2
end

# Julia らしい書き方
x = 3
x == 3 && println("3つです")
x == 4 || println("4つではありません")

#=
if ... else ... endif なんて構文を書かなくていいすてきな関数が有る
=#
x = 3
y = ifelse(x==3, 1, 2)
println(y)

"""
# これはサンプルプログラムです
## 複文
複数の構文を一つの式の中に押し込めることができます。

"""
total = begin
    unitPrice = 100
    quantity = 21
    tax      = 0.08
    unitPrice * quantity * (1 + tax)
end

println("単価:",unitPrice)
println("数量:",quantity)
println("合計金額:",total)

なかなかそそる言語です。vimのプラグインなども出ているようなので、いずれ環境を 整えてもう少し深堀したいと思います。

Comments !