Nerds N' Computers

ソフトウェア技術や思ったことについて書きます.

ソフトウェア技術や思ったことについていろいろと書きます.

Julia言語について

初めに

今回ブログを作ったと同時にJuliaという言語に興味があったので, 少しずつ勉強も兼ねてまとめていきたいと思います.(2018年10月にて)

この回ではJuliaという言語で, どういった背景をもとに作られたのか, ブログやドキュメントからまとめていきます.

背景

Juliaという言語は Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelmanなどによって作られた言語です.

プログラミング言語Fortranから始まり, 現在まで数多くのものが作られてきました. 例えば, C言語はその速さとコンパクトさが特徴であり, Rubyは他言語に比べダイナミックです.

このように, 各言語にはそれぞれメリット・デメリットがあり, あるものに秀でている分, それ以外は他言語に劣ることが多いです.

そこで, 全てに秀でている 'Greedy' な言語を作ったのが彼らであり, C, Ruby, Python, Lispなどの影響を受けJuliaが誕生しました.

インストール

インストールするには以下の4つの手段があります(macを用いた場合)(もしかしたら他にも方法はあると思います...) :

  • オフィシャルホームページからパッケージをインストール
  • brew
  • Github
  • Jupyter

オフィシャルホームページ

オフィシャルホームページからダウンロードができます: Julia Downloads

Brew

brew cask install julia

Github

Githubからフォークすることもできます: github.com

しかし, Githubからインストールする場合はパッケージを全てインストールすることに注意してください.

Jupyter

JuliaBox

基本的な使い方

インストールがうまくいくと julia というコマンドが使用できるようになります.

また, pythonと同様にコマンドラインjulia と打つとREPL (Read Eval Print Loop) が開かれます.

$ julia

   _       _ _(_)_     |  Documentation: https://docs.julialang.org
  (_)     | (_) (_)    |
   _ _   _| |_  __ _   |  Type "?" for help, "]?" for Pkg help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 1.0.1 (2018-09-29)
 _/ |\__'_|_|_|\__'_|  |  Official https://julialang.org/ release
|__/                   |

julia>

と表示されれば成功です.

ファイル端末子は .jlであり, ファイルの実行方法は以下の様です.

$ julia file.jl [arg1 arg2...]

簡単に Hello, World! を表示してみると,

println("Hello, World!")

となります.
pythonからの人はダブルクォーテーションで括ることに注意が必要そうです(自分がシングルクォーテーションだったので).

感想

触った感じ, pythonなどよりかはmatlablispの影響の方が大きいのかな, といった感じでした. 重たいコードを書いていないので速さの判定などはできなかったので今後に期待といったところでしょうか?

参考文献

https://julialang.org/blog/2012/02/why-we-created-julia

Introducing Julia/Getting started - Wikibooks, open books for an open world

Platform specific instructions for installing Julia

H