実践 Rust プログラミング入門

ジッセン ラスト プログラミング ニュウモン

実践 Rust プログラミング入門の表紙
プログラミング
著者:
初田 直也 / 山口 聖弘 / 吉川 哲史 / 豊田 優貴 / 松本 健太郎 / 原 将己(ハッタ ナオヤ / ヤマグチ トシヒロ / ヨシカワ サトシ / トヨダ ユウキ / マツモト ケンタロウ / ハラ マサキ)
出版社:
秀和システム
出版日:
2020年08月22日頃
ISBN:
9784798061702
在庫:
在庫あり
4(4 件 / 楽天ブックス)
初級者向け
プログラミング入門プログラミングRust安全性ゼロコスト抽象化所有権借用ライフタイムトレイト組み込み

なぜ注目されているか

言及数
253位
総合503位 ↑ 4 ランクアップ 言及 12 件・うち記事 11 件を掲載
02320222023202420252026

書籍紹介

■■C/C++ の代わりとなるべき最新言語 ■■
■■その独特な仕様をわかりやすく解説。 ■■

■■これから Rust をはじめるすべての人へ■■

●いますぐ使いはじめるべき Rust の 5 つ魅力
・とにかく実行速度が速い

・モダンな言語機能が一通り入っている

・OS から Web アプリケーションまで幅広く実装できる

・ツール群がとても充実している

・「安全性」が強力に担保されている

●Rust ならではの言語仕様を完全理解
・Google、Microsoft、Amazon が いま注目する最新言語。その先進的考え方を体験する。

・バグを出させないための仕組みを知り、Rust の深淵に踏み込む。

・本書に載っているいろんな領域のサンプルで、組み込み開発から Web アプリケーションまで幅広く使われる Rust を学ぶ。

・特徴的な Rust の概念を完全理解する。

「ゼロコスト抽象化」「ムーブセマンティクス」「クレート」

「スレッド安全性」「パニック」「unsafe」「エディション」

「所有権」「借用」「ライフタイム」「トレイト」……

"安心安全の 爆速言語 Rust 入門"
edtion 2018 対応。

技書の森解説

Java や Python など、ほかの言語に慣れたエンジニアが Rust の独特な仕様と開発のノウハウを 1 冊で学ぶための入門書です。『実践 Rust プログラミング入門』は初田 直也、山口 聖弘、吉川 哲史、豊田 優貴、松本 健太郎、原 将己、中村 謙弘の 7 名による共著で、フォルシア株式会社が監修し、秀和システムから 2020 年 8 月 22 日に発売されました。版元の紹介文は、実行速度の速さ、モダンな言語機能、OS から Web アプリケーションまでの実装範囲、充実したツール群、強力に担保された安全性を Rust の魅力として挙げ、C/C++ の代わりとなる言語と位置づけています。書店向けの紹介文によれば、本書は Rust 2018 エディションに対応しています。

入門、実践、Tips の 3 部 11 章、CLI から組み込みまで

目次は 3 部 11 章です。Part 1 入門では、Chapter1 で Rust の特徴と利用事例、Chapter2 で rustup による環境構築、Chapter3 で基本的な文法、ゼロコスト抽象化、所有権と借用、スレッド安全性、非同期処理、クレートとモジュール、Cargo、テストを扱います。Part 2 実践の前半は作りながら学ぶ章で、Chapter4 では逆ポーランド記法の計算機をコマンドラインのプログラムとして作り、テストとエラーハンドリングを加えて実行パスへのインストールまで進めます。Chapter5 は Web フレームワークとテンプレートエンジン、SQLite を使った Todo アプリと Docker イメージの作成、Chapter6 は WebAssembly によるマンデルブロ集合の描画とナンバープレースの解法、Chapter7 は Iced を使った GUI アプリケーション、Chapter8 は QEMU とクロスコンパイルを使った組み込みシステムでの L チカと embedded-hal です。Chapter9 と Chapter10 は作る対象を離れ、Cargo の実践的な使い方、rustfmt と clippy、コードカバレッジ、ベンチマーク、CI、ビルドの再現性、バイナリサイズの最適化、クレートの信頼性の確認、ファジングといった、プロダクトを仕上げて出すまでの道具を扱います。Part 3 Tips の Chapter11 は、マクロ、FFI による他言語との連携、パニック、unsafe、エディション、Rust 製の OSS、コミュニティ、競技プログラミング、仕事での使い方を集めた章です。

ガベージコレクションなしで安全性を保つ Rust の考え方

C や C++ では、メモリの確保と解放をプログラマが管理するため、解放のし忘れや解放した後の参照が不具合や脆弱性の原因になってきました。Java や Python は、実行中に 不要になったメモリを自動で回収する仕組み によってこの問題を避けますが、回収の処理が動く分だけ実行時の負担と待ち時間が生じます。Rust は、値ごとに持ち主となる変数を 1 つに決め、ほかの箇所からは期限付きで借りる形でしか触れさせない 所有権と借用 の規則をコンパイラーが検査することで、実行時の回収に頼らずにメモリの安全性を確かめます。同じ規則によって、複数のスレッドが同じデータを同時に書き換える競合もコンパイルの段階で防げます。その代わり、ほかの言語なら通る書き方がコンパイルエラーになる場面が増え、ほかの言語から移ってきた人が最初につまずくのはこの点です。大きなランタイムを持たないため、OS に近い組み込みの領域から、ブラウザーで動く WebAssembly の形式への出力まで、同じ言語で書ける範囲が広いことも Rust の特徴です。

ほかの言語の経験者に向く理由と、エディションの確認

版元は対象読者を、Java や Python などほかの言語に習熟しているエンジニアとしています。環境構築と基本の文法から始まるので Rust に触れるのが初めてでも読み始められますが、プログラミングそのものの基礎は前提です。プログラミングが初めての人は、先に別の言語の入門書で変数や関数、制御構文に慣れておく方が無理なく進めます。また本書は 2020 年 8 月の刊行で、Rust 2018 エディションを前提にしています。Rust 公式のエディションガイドによれば、その後 Rust 2021 エディションが 1.56.0 で、Rust 2024 エディションが 1.85.0 で導入されました。エディションはプロジェクトごとに選ぶ仕組みなので、本書のコードを手元で試す時は、Chapter11 で扱うエディションの設定を先に確かめておくと違いに戸惑う場面が減ります。

文法を一通り押さえるだけでなく、コマンドラインのツール、Web アプリケーション、ブラウザー、デスクトップ、マイコンと、Rust で何が作れるのかを 1 冊で一通り試し、リリースまでの道具の使い方も確かめたい人にとって、本書は自分の仕事に Rust を持ち込めるかを見極める材料になります。まずは Part 1 で所有権の規則に慣れ、Part 2 で自分の関心に近い章から手を動かしてみてください。

言及した記事 (11 件)

この本は技書デッキのカードです (攻撃 14) 図鑑でこの本を見る

この本に興味がある方におすすめ

関連する本

関連記事

関連用語

共有: