Rustの学習におすすめの本を5つ紹介しています。
Rustについて簡単に説明して、その後におすすめの本を紹介しました。
最後にRustを「どの本で学ぶのが良いか」の考察をまとめていますので、確認してみてください。
※Amazonのお試し読みでひとつずつ確認して、良さそうな本を選んでいます。
Rustとは?本が必要?
Rustは「処理速度が速い」・「安全性が高い」などの特徴を持つ、プログラミング言語。
Mozillaが主体となってオープンソースで開発され、2015年に正式リリースされました。
下記のようなものに使われているとのことです。(wiki調べ)
・Android
・Linux
CやC++と同じように、システムの基礎的なところで使われることが多いプログラミング言語とのこと。
また、Web開発にも使用できるとのことです。
本があることで、体系的に学べるかと思います。
Rustの学習におすすめの本5選
Rustの学習におすすめな本を5つピックアップしました。
Rustは学習コストが高い言語ということで、どの本でも紹介されているようでした。
そのため、初めてプログラミング言語を学んでいく時には、JavaScriptやPythonなどから始めると良いかもしれません。
プログラミング言語Rust入門
「プログラミング言語Rust入門」を確認しました。
増田 智明さんが書かれていて、日経BPから2020年3月に出版されています。
「はじめに」を確認して
最初にRustについての説明が書いています。
2019年のStack Overflow Developer Surveyで「最も愛されているプログラミング言語」1位を獲得したことや、大手IT企業もRustを使い始めていること。
また、学習コストが高い言語ということなどを解説されています。
この本では、Rustを学ぶためにC言語の知識を前提としないように努めているとのこと。
C言語の知識があった方がスムーズに理解が進むとのことですが、他の言語を学んだり、プログラミング言語を初めて学ぶ読者にも受け入れられるように前提知識を少なくしているとのことです。
詳しい内容の解説は減らして、必要な文法解説だけを集めているとのこと。
これにより学習コストを低くして、読者にRustで何かを達成できるというエンパワーメントを感じてほしいとのことです。
「目次」を確認して
1章から19章までで、構成されています。
1章ではRustの特徴を知って、2章で開発環境の構築を行います。
3章では型・変数・スコープなどを学び、4章で文字列、5章で式や演算子、関数などを学びます。
6章からifやforなどの制御文・パターンマッチ・配列・構造体・ジェネリクス・所有権と学んでいきます。
11章ではパッケージ作成、12章でファイル入出力・13章でマクロを学びます。
Web APIの呼び出しやデータベースアクセス、C言語ライブラリとの連携などについても記載されています。
しっかりとRustの機能について書かれている印象を受けました。
実践Rustプログラミング入門
「実践Rustプログラミング入門」を確認しました。
初田 直也さんを含めて、7名で書かれていて、フォルシア株式会社が監修しています。
秀和システムから2020年8月に出版されています。
「はじめに」を確認して
この本はRustへの入門書とのこと、エンジニアがRustに入門する際に、水先案内人となるような本を目指したとのことです。
Rustは比較的に新しい言語のため、多くのモダンな言語機能を参考にしているため、とてもプログラマーフレンドリーな言語とのことです。
ちょっとしたツールを書くようなケースでもおすすめとのことです。
著者はShinjuku.rsというRustの勉強会で知り合った7人のエンジニアとのこと。
普段幅広い領域で業務を行っている7人がそれぞれの得意分野で、サンプルを交えながら執筆したとのことです。
対象読者は下記の方です。
・プロジェクトにRustを導入すべきか検討中
・Rustを趣味の開発で使ってみたい
「目次」を確認して
1章から11章までで、構成されています。
1章でRustの魅力やツール、利用事例などの概要を確認します。
2章で環境構築を行い、3章でRustの文法を学びます。
4章では実際にプログラムを作成してみるようです。
5章からWebアプリケーション・WebAssembly・GUIアプリケーション、組み込みシステム、開発ツールと学んでいきます。
10章でプロダクトのリリースについてで、11章でRustの発展的なトピックスについて学べるようです。
WebアプリやGUIアプリ、組み込みなど、幅広いトピックスについて触れられていますね。
Webアプリ開発で学ぶ Rust言語入門
「Webアプリ開発で学ぶ Rust言語入門」を確認しました。
佐藤 昭文さんが書かれていて、秀和システムから2022年9月に出版されています。
「はじめに」を確認して
最初にRustの概要やWeb開発者から注目されていることについて書かれています。
RustでWebアプリケーションを作ることもでき、下記のようなフレームワークを使うことが可能とのことです。
・Rocket
・warp
・axum
Rustの特徴や学習コストの高さにも触れられています。
この本の前提としては「他のプログラミング言語によるWeb開発経験があること」です。
できる限り基本的なところは解説しているとのことですが、何かしらWeb開発経験があることを前提としているとのことです。
この本は「Web開発を生業としている開発者がRustを学ぶための取り掛かりになること」を目指しているとのことです。
Web開発経験があり、Rustをやってみたい人が対象になるようです。
筆者にもぴったりハマりそうです。
「目次」を確認して
1章から6章まで、構成されています。
1章でRustでの開発準備を行って、2章でRustの基礎知識(変数・関数・制御構文・所有権・データ構造)などを学びます。
3章ではaxumを使って、HTTPリクエストを処理してみるようです。
4章ではRustのSQLライブラリsqlxを使って、CRUDを実装するようです。
5章で書籍内で作っていく、Todoアプリの体裁をReactと連携して整えるようです。
最後の6章ではTodoにラベルをつけるとのことです。
3章あたりからTodoアプリを作りながら、学んでいく内容となっているようです。
Web開発者の人はこちらの書籍から入るとスムーズに学習していけそうだなと感じました。
実践Rust入門
「実践Rust入門」を確認しました。
κeenさん、河野 達也さん、小松 礼人さんが書かれていて、技術評論社から2019年5月に出版されています。
「はじめに」を確認して
最初に主流になっているプログラミング言語とC/C++を比較して、ガベージコレクタやメモリ管理による脆弱性などが紹介されています。
次にRustが紹介されていて、モダンな機能を持っていたり、速度が速く安全性が高いことについて書かれています。
この本はRustの入門書ですが、実践的であるとのことです。
言語仕様を網羅的に解説するのではなく、筆者の経験をもとに重要なものを選択して、サンプルプログラムで学習できるように工夫されているとのことです。
前提知識としては、「すでになんらかのプログラミング言語を経験している人」とのことです。
「目次」を確認して
1章から11章までで、構成されています。
1章でRustの特徴を確認します。2章で環境構築を行い、HelloWorldプログラムを書いてみるようです。
3章ではクイックツアーということで、並列ソートや初歩的な実装などを紹介されているようです。
4章から型・基本構文・所有権・トレイト、ポリモーフィズムと学んでいきます。
11章でWebアプリケーションを作成し、データベースへ接続してみるようです。
最後の12章でFFIを通じて、C言語と連携する方法について学ぶようです。
プログラミングRust 第2版
「プログラミングRust 第2版」を確認しました。
Jim Blandyさん、Jason Orendorffさん、Leonora F. S. Tindallさんが書かれていて、中田 秀基さんが翻訳されています。
オライリージャパンから2022年1月に出版されています。
「まえがき」を確認して
Rustはシステムプログラミングのための言語ということで紹介されています。
OSやデバイスドライバ・ファイルシステム、データベースなどに使われるとのこと。
システムプログラミングは資源制約のあるプログラムとのことです。
対象読者としては「システムプログラマでC++の代わりを求めている人」や「Java/C#/Pythonなど、何らかの言語の経験豊かな開発者」とのことです。
また、本書を読むのと並行して、何らかのシステムプログラムをRustで書いてみることを推奨されています。
「目次」を確認して
1章から23章までで、構成されています。
1章でRustの概要について書かれていて、2章でRustの機能についてサッと紹介されているようです。
3章から型・所有権・参照・式・エラー処理、クレートとモジュール・構造体・列挙型と学んでいきます。
オライリーらしく、23章までしっかりとRustの機能について記載されているようでした。
Rustのおすすめ本のまとめ
今回紹介した本をまとめました。
タイトル | 出版社 | 価格(Kindle) | ページ数 | 難易度 |
---|---|---|---|---|
プログラミング言語Rust入門 | 日経BP | 3,564円 | 360ページ | 初心者 |
実践Rustプログラミング入門 | 秀和システム | 3,208円 | 508ページ | 中・上級者 |
Webアプリ開発で学ぶ Rust言語入門 | 秀和システム | 1,604円 | 324ページ | 初心者 |
実践Rust入門 | 技術評論社 | 4,159円 | 576ページ | 中・上級者 |
プログラミングRust 第2版 | オライリージャパン | 5,280円(紙のみ) | 680ページ | 上級者 |
Rustの本はどれが良い?(紹介した本の総括)
今回はRustの学習におすすめの本を紹介しました。
最後に今回おすすめした本を、筆者の独断と偏見でどれが良いか考えてみます。
Rustは学習コストも高いとのことなので、初めてプログラミングを学ぶ人はJavaScriptやPythonから始めた方がいいかもしれません。
まず「プログラミング言語Rust入門」は前提知識が少なくても学習できるように努めているとのことでした。
目次からも最初の1冊に選ぶのに良さそうだなと感じました。
Web開発を学びたい場合には「Webアプリ開発で学ぶ Rust言語入門」を確認すると良さそうです。
Web開発に特化して、Rustを学んでいくことができそうでした。
他の言語を学んだ方は「実践Rustプログラミング入門」や「実践Rust入門」で学んでいくと良さそうです。
「実践Rustプログラミング入門」は幅広い項目について書かれていて、「実践Rust入門」はしっかりとRustの機能について書いているようでした。
Rustをすでに始めている方や、深い内容まで触れていきたい人は「プログラミングRust 第2版」が良さそうだなと感じました。
Rustの細かい機能や内容まで、しっかりとおさえられているように感じます。
いろいろ書きましたが、人によって「読みやすい・読みにくい」と感じることがあるかと思います。
Amazon試し読みや書店で、一度確認してみてください。
コメント