[読書感想]Rustを学ぶために書籍を買って学習した時の話
この記事を書くにあたって
Rustを学ぶ際に書籍を購入し一通り読んだ後にアウトプットとして自作サイトで利用するバックエンドサーバーを作りました。その時に読んだ読書感想や学習の記録などを書き留めておきます。
ざっくりした内容や難易度や良かった点などを挙げるので書籍選びの際の参考になれば幸いです。
本選びの際に気にした点
自分がRustの本を買う時に心がけた点は、テストについて書かれている事とデスクトップアプリ制作が書かれている本を買うことです。一つ目を挙げた理由は、Rustを実務でも利用することを想定とした学習がしたかったこと、もう一つの理由は個人的にデスクトップアプリの作り方に対して無知だったためこれを機に作り方を知っておきたいと思ったからです。また、少なくとも2冊は読むように決めていました。
購入した本
大型書店まで出向き色々立ち読みして読み比べを行った結果、こちらの本を購入しました。
今回はこちらの本を紹介していきます。
上記の本とは別に、過去に下記の本も購入し読んだことがあるのでこちらも併せて載せておきます。
内容
実際に一通り読んでどんな内容になっているかの紹介です。
〇基礎的な文法
型や変数について、ifやforなどの制御フローについて、配列やタプルやベクタなどのコレクションなどありふれた内容に加えて、Rust特有の概念である所有権やトレイトや構造体についても丁寧に書かれていました。
読んでみて
変数定義や、ifやfor、配列などどの言語にあるような内容はさっと読み進めることができましたが、所有権などのRust特有の内容は最初は理解しづらかったので丁寧に読み進んだりサンプルをデモしたりしていきました。
一つ一つ丁寧に読んでいくことで自分にとって未知の内容でも最終的には理解でるようになりました。改めて書籍学習の良さを感じることができました。
〇一歩踏み込んだ高度な処理
より実務に近い内容もありました。主な内容はエラー処理、マルチスレッド、ファイルアクセス、モジュール作成といったことについてです。テストについての内容もこのパートで説明がありました。
特にマルチスレッドについての内容は自分にとってすごい分かりやすく書かれていて今でも印象に残っています。マルチスレッド処理に対するアレルギー的な嫌悪感が払拭されたような感じさえしました(笑)
読んでみて
テストについての内容やマルチスレッドについての内容など、より実務で利用する処理についての記載があることは自分にとって思わぬ収穫でした。
〇デスクトップアプリとWEBアプリ製作用のフレームワーク
デスクトップアプリ制作に必要なフレームワークeguiとWEBアプリ制作に必要なフレームワークaxumの内容について記載がありました。どの本にもあるようなサンプルをなぞれば動くものが出来上がるサンプルになってましたが本当に最低限のものが出来上がる程度でたいそうなものではありませんでした。
読んでみて
デスクトップアプリ制作パートでは画面の中にボタンや入力エリアなどの部品を組み込んだり、WEBアプリ制作パートでは簡単なWEBアプリを作成することができるので、自作アプリ制作の取っ掛かりとしてはよかったです。
自分はWEBアプリ制作を通してDBへの問い合わせ処理やコンパイルエラーや実行時エラーへの対処方法やなどを学んである程度自在にやりたいことを作ることができたのでいい機会になりました。
全体の感想
前パートでも書きましたが、基本の文法記法に加えスレッド処理やテストなどの最低限実務に必要になるであろう内容が記載されていたことが個人的にうれしい点でした。
また、ページも400弱となっており初学者でも抵抗なく学べる内容になっているように感じました。ただ、本当に最低限の内容の記載しかなかったので、サンプル通りに動かして終わりにするのではなく自分で考えたアプリを作るなどして実際に自分の手で作れるスキルを磨くことも必要に感じました。
(実際に自分も自作アプリを作っていて初めのうちは、自分のしたい事を上手くプログラムに落とし込めなくて苦戦しました(笑))
自分は何か新しいスキルを身に着ける時には、「本を読む→サンプル通りに動かす→何か自作アプリを作ってみる」という学習を心掛けているのですが、やはりこの本を読むだけではスキル習得としては物足りないように感じました。
ただ、こういう書籍は一度一通り読んでおくとChatGPTなどに質問する時に的確な質問を作ることができたり、後々業務などで分からないコーディングやワードが出てきた時に参照する身近な手引き書としても活用できると思っているので、そういう意味ではいい本なのではと思いました。自作アプリを作っている際も何度も読み返すことも多く大きな助けになりました。
Discussion