We want the speed of C with the dynamism of Ruby
(Did we mention it should be as fast as C?)
他にも
version | ttfl | ttfx |
---|---|---|
1.8.5 | 4.087831943 | 4.493850074 |
1.9.4 | 1.865882906 | 0.586155723 |
1.10.2 | 1.087610856 | 0.568768117 |
julia +1.8
, julia +1.9
, julia +1.10
で各々対応するバージョンの Julia REPL を起動後下記を実行する:
Windows ユーザ
winget install julia -s msstore
macOS, Linux, WSL2 ユーザ
curl -fsSL https://install.julialang.org | sh
julia
と juliaup
というコマンドが使用できる
Hello World を表示
$ julia
_
_ _ _(_)_ | Documentation: https://docs.julialang.org
(_) | (_) (_) |
_ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 1.10.2 (2024-03-01)
_/ |\__'_|_|_|\__'_| | Official https://julialang.org/ release
|__/ |
julia> println("Hello World")
Hello World
julia> println("Hello"); println("World")
Hello
World
julia> print("Hello"); print(" "); println("World")
Hello World
julia> # println は末尾に改行を挿入する.Python の print 相当
最低限の動作確認
動作環境の表示
julia> versioninfo()
Julia Version 1.10.2
Commit bd47eca2c8a (2024-03-01 10:14 UTC)
Build Info:
Official https://julialang.org/ release
Platform Info:
OS: macOS (x86_64-apple-darwin22.4.0)
CPU: 16 × Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-15.0.7 (ORCJIT, skylake)
Threads: 1 default, 0 interactive, 1 GC (on 16 virtual cores)
Environment:
JULIA_EDITOR = subl
JULIA_PROJECT = @.
julia>
1.10
系が現時点で最新安定版. 今後 1.11
がリリースされたらバージョンを上げていきましょう$ julia
The latest version of Julia in the `release` channel is 1.10.2+0.x64.apple.darwin14. You currently have `1.10.1+0.x64.apple.darwin14` installed. Run:
juliaup update
to install Julia 1.10.2+0.x64.apple.darwin14 and update the `release` channel to that version.
juliaup update
すればいい感じにセットアップしてくれる.juliaup update
でデフォルトで使用する Julia をアップデートしてくれるjuliaup add 1.8 && julia +1.8
で Julia 1.8 を使用できるリアクティブなのが特徴
クラウド環境で↑を実行すれば Julia のカーネルがインストールされる
$ pip3 install jupytext
$ jupytext --to ipynb sample.jl # jl から ipynb を作る
$ jupytext --to jl sample.ipynb # ipynb から jl に変換
--set-kernel
を使ってカーネルを指定できる
簡単なコードを動かしてみる
型安定 メモリアロケーション ベンチマーク
第 2 章 線形方程式の数値アルゴリズム
に出てくるグラム–シュミットの直交化法
と LU 分解
のアルゴリズムを Julia に移植している.DifferentialEquations.jl の例