Julia関連の書籍

8月 20, 2021·
山田 知明
山田 知明
· 3 分で読める

Webだけで十分?

  • JuliaはMatlabやPython、Rあたりと比べてかなり新しい言語なので、まだまだ情報が限られています。
  • 加えて開発速度が早いので、ほんの少し前の情報でも古くて役に立たない事がたまにあります(特にVersion 1.0以降かなり仕様が変更されたので、Version 1.0未満の情報にはかなり注意が必要)。
  • Juliaのヘビーユーザーの情報源は基本的にWebで、紙媒体の本(あるいは電子書籍)を読んでいる人はそこまで多くないのかもしれません。
  • 個人的には、ちょっとした調べ物はGoogle検索で十分ですが、やはり書籍の形で情報がまとまったものが手元に欲しくなります(古い人間かも…)。
  • 入門書から上級者向けまで充実しているPythonあたりと違ってJuliaの書籍媒体は限られています。
  • Julia特有の仕様(特にLLVM-JITまわり)は体系的に理解しておかないとJuliaの強みである速さが体感しにくいけど、知りたいときにググるスタイルだとそのあたりを理解する機会がない可能性があります。

実際に読んだ本:アルファベット順

  • Balbaert, Ivo (2015,Feb): “Getting Started with Julia,” PACT.
    • 自己完結的で読みやすいけど流石に情報が古すぎる
  • Balbaert, Ivo (2018,Sept): “Julia 1.0 Programming Second Edition,” PACT.
    • 上記の本のアップデート版:既に更に新しい版⬇が出ているのでこっちは不要
  • Balbaert, Ivo and Adrian Salceanu (2019,May): “Learning Path Julia 1.0 Programming Complete Reference Guide,” PACT.
    • アップデート版:その2
    • 著者が一人増えている:おそらく後半を追記した[?]
    • 後半も読みやすくはあるけど前半と重複したり先に説明すべきことが今更書かれていて書籍としての完成度はイマイチ
  • Kaminski, Bogumit and Przemystaw Szufel (2018,Nov): “Julia 1.0 Programming Codebook,” PACT.
    • 日本語版あり:日本語版の補遺がコンパクトにまとまっていて完成度が高い
  • Lauwens, Ben and Allen B. Downey (2019): “Think Julia: How to Think Like a Computer Scientist,” O’Reilly.
    • “Think Python"のJulia版
    • Juliaの言語仕様というよりJuliaを使ってプログラミングを勉強するための本
    • 実際に手を動かしてエクササイズを解きながら読むと力になる
    • 第4章(Case Study)で急にfor文が出てきたり、やや順番が気になる箇所がある
  • Root, George (2019): “The Julia Language Handbook”
    • Julia 1.0以降に対応したハンドブック
    • 一通り入門書を読んだ人が知りたいことがコンパクトにまとまっている:完全な初心者には読みにくいかも➔辞書的に使用
    • 個人的に「FortranからPythonに移行しようとしたけどインデックスが0スタートで苛ついた」に同意
  • Sengupta, Avik (2019,June): “Julia High Performance Second Edition,” PACT.
    • 著者はJulia computingのEngineering部門のVice President.
    • Juliaの仕組みから説明をしてくれるので理解が深まる
    • ただし、事前にJuliaの知識がある程度ないと読むのは厳しい
  • Sherrington, Malcolm (2015): “Mastering Julia,” PACT.
    • 古い本:当時としては貴重だったのかもしれないけど情報が古すぎる
    • Juliaのバージョンも古いので、今から読む必要はない
  • 進藤裕之・佐藤健太『1から始めるJulia』コロナ社
    • 全体的にコンパクトにまとまった良書
    • 短いけど初心者向けだけでなく進んだトピックも言及している
  • 石井一夫『基礎から学ぶJulia』SCC
    • 大きめの本だけど情報量は⬆と同程度

とりあえずのお勧め

  • Think Julia
    • プログラミング自体の初心者向けに書かれている(のでやや冗長)
    • プログラミング経験者であればスキップしても良い
  • Learning Path Julia
    • Julia自体の言語としての特徴を他の言語と比較していて、パフォーマンスのTipsなども説明してくれている
    • ある程度の知識がある人が読むと役に立つけど完全な初心者だと情報量が多すぎるかも
  • 進藤裕之・佐藤健太『1から始めるJulia』
    • 日本語で手元に一冊置くならこれ