Julia Info JP
ここはJulia言語の情報をまとめた非公式ページです。 PRして情報を追記してください。
Juliaとは?
Julia は2018年にバージョン1が公開されたオープンソースの科学技術計算言語で、 Fortranの様に高速でかつPythonの様に生産性の高い言語です。 Julia は様々な分野において活用が始まっています。
よくある誤解
- Q. インタプリタ言語なら遅いのでは?
A. Julia はコンパイル言語で、C/C++ のコンパイラClangと同じ技術(LLVM)で実行時コンパイルされます。 - Q. 初心者には難しい?
A. 文法はシンプルで、REPL・Pluto・VS Code 拡張など学習環境も充実しています。最初は Python のように書けますが、高速化のコツ(関数化・グローバル変数を避ける・型安定)を少しずつ覚えると実力を発揮し、C言語レベルの速度も出ます。 - Q. マイナーな言語ではないの?
A. まだ若い言語ですが、科学技術計算・データサイエンス・最適化・HPC で採用が広がっています。パッケージエコシステムも成熟が進み、他言語資産(C/Fortran/Python)とも容易に連携できます。 - Q. 強い型付けなのか、動的型付けなのか。
A. Julia は「動的型付け」かつ「強い型付け」です。変数の型は実行時に決まり、暗黙の危険な型変換は行いません。一方で多重ディスパッチとパラメトリック型により、必要に応じて型注釈や制約を付けて安全かつ高性能に書けます(型安定なコードは JIT により高速化されます)。 - Q. パッケージが少なくて結局Pythonに戻るのでは?
A. 主要分野(数値解析・最適化・機械学習・可視化・データ処理など)は実用パッケージが揃っており、必要なら PyCall/PythonCall や ccall で Python や C/Fortran の資産もそのまま使えます。 - Q. GPU や HPC が苦手では?
A. マルチスレッド・分散計算に加え、CUDA/AMD/Intel/Apple など各GPU向けのエコシステムがあり、単一言語で高水準から低水準カーネルまで記述・最適化できます。既存の C/C++/Fortran カーネルとの連携も容易です。 - Q. 機械学習/数値計算/大規模並列化/数学が1つの言語でできるというのは信じがたい、(何か)だめなんじゃないの?嘘じゃない?
A. Julia は LLVM/JIT と多重ディスパッチにより、高水準のまま低レベル最適化まで一貫して書ける設計です。数値計算(LinearAlgebra/SciML)、機械学習(Flux/Lux)、最適化(JuMP)、大規模並列・HPC(Threads/Distributed/MPI.jl、CUDA/AMDGPU/oneAPI/Metal)を単一言語でカバーできます。足りない所は C/Fortran/Python をオーバーヘッドなしで呼べるので、「1つで全部」は本当です。
はじめかた
-
Julia のインストール
- ↓ 公式サイトから OS 別インストーラをダウンロード
-
ターミナルで
juliaを起動julia> 1 + 2 3 -
パッケージを試す
julia> using Pkg; Pkg.add("Plots") julia> using Plots; plot(sin, 0, 2π) - VS Code 拡張機能 Julia を入れると REPL・Lint・デバッグが快適。
- Pluto.jl でノートブック環境 →
julia> import Pluto; Pluto.run() - GoogleColab/Jupyter でもJulia が使えます。
🔗 もっと詳しく: Julia Documentation → Getting Started
公式サイト
マニュアル
年間行事(国際)
- JuliaCon Global
全世界のJuliaユーザーが集う国際研究会 - JuliaHEP
高エネルギー物理の全世界のJuliaユーザーの集まり、研究会もある。
日本での国内イベント
アカデミック系
エンジニア系
団体
ワーキンググループ
- ワーキンググループ, HPC系では月に一回のオンラインミーティングあり。
スパコンにいれるためのマニュアル
日本語の教科書等
- Juliaデータサイエンス ~Juliaを使って自分でゼロから作るデータサイエンス世界の探索~ 2017/10 Anshul Joshi (著), 石井一夫 ほか (翻訳)
- 1から始める Juliaプログラミング – 2020/3/26 進藤 裕之 (著), 佐藤 建太 (著)
- Juliaではじめる数値計算入門 – 2024/5/13 永井 佑紀 (著)
- Juliaプログラミング大全 (KS情報科学専門書) 佐藤建太 (著)
- 実践Julia入門 後藤 俊介 (著)
- 1週間で学べる!Julia数値計算プログラミング (KS情報科学専門書) 永井佑紀 (著)
- 最適化アルゴリズム - 2022/12/23 Mykel J. Kochenderfer, Tim A. Wheeler (著) 岸本祥吾 ほか (翻訳)
- Juliaによる数理最適化 単行本 – 2023/4/12 小林 和博 (著)
- モデルベース深層学習と深層展開 - 2023/06 和田山 正 (著)
- Juliaプログラミングクックブック ―言語仕様からデータ分析、機械学習、数値計算まで 単行本(ソフトカバー) – 2019/10/19 Bogumił Kamiński (著), Przemysław Szufel (著), 中田 秀基 (翻訳)
- Juliaによる数値計算とシミュレーション 単行本 – 2023/6/20 小高 知宏 (著)
- 基礎から学ぶJulia ~基本文法からデータサイエンスまで 単行本 – 2021/1/25 石井 一夫 (著)
- Juliaで作って学ぶベイズ統計学 2021/11 須山敦志 (著)
- 天才プログラマータンメイが教えるJulia超入門 Tanmay Bakshi (著), 菅原宏治 (翻訳)