Julia Advent calendar 2019 の 16 日目です。 投稿したは 12/24 です。
プログラミング未経験者向け Julia本を、いくつか紹介します。
Tanmay teaches Julia for beginners
11月末に刊行されたプログラミング未経験者向けの Julia 本(英語)の新刊を入手しました。これです。
- "Tanmay Teaches Julia for Beginners: A Springboard to Machine Learning for All Ages, Tanmay Bakshi
- [McGrawHill Higher education]
(htps://www.mheducation.co.uk/tanmay-teaches-julia-for-beginners-a-springboard-to-machine-learning-for-all-ages-9781260456639-emea) - amazon
- Youtube の CM → Tanmay Teaches Julia
- [McGrawHill Higher education]
タイトル冒頭の Tanmay は、著者の Tanmay Bakshi さんです。13歳のときに IBM Watson 上へ AskTanmay を実装したとして有名になりましたね。
書籍の裏表紙にある "Why should I learn Julia as my first programming language" の問いがよいですね。答えは、「プログラミングの考え方もコーディングも学べて、AI/MLに最も近い先進言語がJuliaです」。
前書きは、Julia Computing の共同創立者かつ CEO の Viral B. Shah さん(Julia のドキュメントに PR すると mergeしてくれる人です)が、計算性能と抽象的表現力を同時に実現するという Julia のコンセプトを強調しています。
この書籍は、プログラミングに全く未経験な人向け(”no prior experience required”)を謳っていて、プログラムを書くとは、デジタルとは、ファイルやインターネットとはなどの説明と、プログラミングが交差するような流れになっています。
目次の項目は、上の amazon のリンクを参照してください。キーボードから文字列を受け取って、数字に変換したり、条件分岐したり、繰り返したりなど、具体的な例でプログラムを解説します。簡単なデータベースを作るために、ベクトル(1次元配列)と辞書型(Dict)を導入するというのも、いい方法だと思いました。
最後の節は、副題の 「A Springboard to Machine Learning (機械学習入門への踏み台)」として、Flux を用いた顔認識 (Zygoteに収集済の)の実行例が紹介されます。実行方法と結果の画像があるだけですが、簡単に実行できそうな雰囲気を醸し出しています。
元気で明快な文章も気に入りました。YouTube の自信に満ちたプレゼンと好一対です。
四則演算以外の計算はありません。多重ディスパッチも型注釈もありません。200ページ弱の小ぶりな書籍ですが、プログラミングの導入本として推薦します。
(Youtube のリンクに、購入した書籍が写った顔写真を送ると、個人レッスンが受けられるみたいなリンクがあります。早速応募しました。楽しみです)
Think Julia: How to Think Like a Computer Scientist
さて、昨年 2018 年は Julia 1.0 がリリースされ、言語仕様が固まってきた印象があります。それまでの Julia 書籍のほとんどは、プログラミング経験者向けだったと思いますが、初めてのプログラミング言語としての Julia 解説も準備すべき好機でしょう。
本年 2019年 5月に刊行された↓の書籍は、その端緒でした。
- Think Julia: How to Think Like a Computer Scientist, Ben Lauwens, Allen Downey
- 英語原文 github io
- O'Reilly Media
こちらはネットで原文を読めます。多重ディスパッチ、パラメトリック型など、Julia の概念用語の解説を含めた大著です。ユニットテストなども扱っていて、ソフトウエア工学を志向する人向けの内容だと思います。(日本語訳も進行中と聞きました。)
Cookbook
今年刊行された Julia プログラミングクックブックもよい本と思います。
- Julia プログラミングクックブック、Bogumił Kamiński、Przemysław Szufel、中田 秀基 訳
プログラミング経験者向けと思います。howto 集なので、自分のやりたいことと合致するかどうかで満足度が変わるでしょうね。
終わりに
技術書典や技術書博でも、Julia 本が増えてきました。色々な側面から解説が増えるとよいですね。
12月24日 クリスマスイブも、あと1時間で終わります。