『実践Rust入門[言語仕様から開発手法まで]』を読んで

はじめに
Rustのイベントを主催していることがキッカケで、この度本書を献本いただきました。
著者の皆様、本当にありがとうございます!!
どんな人にお勧めなのか
- とにかくRustでコードを書きたい人
- Rustで開発するときにどう書くのがベストか自信がない人
著者(敬称略)
- κeen
- 河野 達也
- 小松 礼人
全体の構成
大きく分けると2部構成になっています。
構成は下記です。
- 1–8章が1部基礎編
- 9–12章が2部実践編
1部 基礎編
基本的に前から順に読み進めていくことをオススメしますが、既に何らかの形でRustに触れたことがある方は、1部は一旦飛ばしてしまう読み方もあるかもしれません。
ただ、経験者の方でも以下の項目はチェックすることをオススメします。
2章 はじめてのRustプログラム
- VisualStudioCodeを利用した開発環境の構築
- エディション
7章 所有権システム
- ムーブセマンティクス
- コピーセマンティクス
中でも過去にRustを学習されたという方はエディションについて確認したほうが良いかと思います。
詳細な説明は書籍に譲りますが、Rustにはエディションという仕組みが存在しています。これまで2015エディションが多く利用されていましたが、昨年あらたに2018エディションが追加されました。
最新のcargoでは基本的に2018エディションが、cargo.tomlに指定されます。古いRustコードを2018エディションでビルドするとエラーになってしまうことがあるのですが、上記エディションを知らないと問題の解決に困ってしまうことが多いので一度目を通しておくことをオススメします。
私自身も、Rustのハンズオンを企画した際、イベント参加者の何人かがエディション問題で困っている場面に遭遇し、問題の解決までに多くの時間を消費してしまった苦い経験があります。
また、普段Javaなど自身でメモリを明示的に管理する必要がない言語をお触りの方は所有権システムに目を通した方が学習の効率が変わってくるのではと考えています。
2部実践編
実践編では大きく、コマンドラインツール、Webアプリケーションの作成を例に挙げています。
この例の中で、actix, diesel, clap, serde, reqwestといった有名なcrate(パッケージ)の利用方法を学習することができます。
Rustは、まだまだ日本語の文献が少なく、どのcrateが有用なのかといった情報を知ることが困難です。
そのため、上記のように一般的なcrateをまとめて利用できるexampleはとても貴重なのではないかと思います。
どのexampleも素晴らしいですが、取っ掛かりとしては「9章 パーサを作る」がエラーハンドリングやパターンマッチなどを学習できるのでオススメです。
そのほか
本書について、著者であるκeenさん、RustのLTでよく活躍されているyukiさんが記事を書かれているのでここに紹介します。
最後に
これからRustを入門される方に自信を持って勧められる一冊です。