詳解 Rust プログラミング(ショウカイラストシプログラミング)
- 著者:
- Tim McNamara/吉川 邦夫(ティム マクナマラ/ヨシカワ クニオ)
- 出版社:
- 翔泳社
- 出版日:
- 2021年11月17日頃
- ISBN:
- 9784798160221
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
さまざまな CUI アプリケーションを通して
システム言語としての Rust を徹底詳解
本書は、
Tim McNamara, "Rust in Action: Systems programming concepts and techniques"
Manning Publications,
の翻訳書です。
【本書の内容】
ダイレクトにメモリを操作し、 OS のシステムコールを活用することで高速性を維持しつつ、コンパイラの進化によって安全性も確保した開発言語・ Rust 。
本書は、ファイル I/O を使った入出力プログラムから、キーバリュー型の DB 操作やメモリ操作、生の TCP を使うネットワークプログラム。そしてプロセスやスレッド、割り込みや例外処理などの低レイヤからカーネルそのものまで扱うためのノウハウを、 Rust 固有のテクニカルタームとともに解説します。
著者の Tim McNamara は、 15 年以上の時間をかけて、テキストマイニング、自然言語処理、データ工学のエキスパートになりました。彼は Rust Wellington のオーガナイザであり、 Rust プログラミングのチュートリアルを、オフラインでも、 Twitch と YouTube を介したオンラインでも、定期的に開催しています。
【本書で取り上げるジャンル】
・メモリ操作
・ファイルとストレージ
・ネットワーク
・時間管理
・プロセスとスレッド
・カーネル
・割り込みと例外処理
【読者が得られること】
・システムプログラミングの勘所
・コンピュータサイエンスの知識
目次
第 1 章:はじめに
第 1 部:Rust 言語の独自機能
第 2 章:言語の基礎
第 3 章:複合データ型
第 4 章:ライフタイムと所有権と借用
第 2 部:システムプログラミングの謎を解き明かす
第 5 章:データの詳細
第 6 章:メモリ
第 7 章:ファイルとストレージ
第 8 章:ネットワーク
第 9 章:時間とタイムキーピング
第 10 章:プロセスとスレッドとコンテナ
第 11 章:カーネル
第 12 章:シグナルと割り込みと例外
技書の森解説
原著 "Rust in Action" の邦訳です。 Rust の文法リファレンスではなく、システムプログラミングの実践課題を Rust で解いていくことで言語の力を体感する、プロジェクト駆動型の構成をとっています。仮想 CPU の実装、 NTP クライアントの構築、簡易データベースの設計など、章ごとに異なるドメインの課題に取り組む中で、所有権、ライフタイム、トレイトといった Rust 固有の概念が自然に必要になる流れです。
読者層としては、 C/C++ や他の言語でシステム寄りの開発経験がある人が Rust へ移行する際に適しています。所有権の概念だけを座学で理解するのではなく、メモリレイアウトやネットワーク I/O を自分で扱う中で「なぜコンパイラがここで怒るのか」を腑に落としていく設計です。原著の英語レビューでも「他の Rust 本とは補完関係にある」と評価されており、公式の The Rust Programming Language (通称 The Book) を一度読んだ後に手を動かす段階で威力を発揮します。
ただし、課題優先で進むため章の途中で複数の新概念が同時に登場する箇所があり、 Rust 完全未経験だと消化不良を起こしやすい点には注意が必要です。先に文法の基礎だけ押さえてから本書に進むと、得られるものが格段に増えます。
言及 Qiita 記事 (3 件)
この本に興味がある方におすすめ
この本に関連
関連記事
OS・低レイヤー本ガイド - コンピュータの仕組みを学ぶ技術書の選び方
OS、コンパイラ、ネットワークなど低レイヤーを学べる技術書の 4 ジャンルと、どこから始めるべきかの指針、賞味期限の見極め方を紹介します。
有名プログラマの読書習慣 - 天才たちは何を読んできたのか
リーナス・トーバルズ、まつもとゆきひろ、ビル・ゲイツなど、著名なプログラマたちの読書習慣と愛読書を紹介します。天才たちの読書スタイルから学べることとは。
機械学習・AI 本ガイド - エンジニアが読むべき技術書の選び方
機械学習の基礎から実践まで学べる技術書の選び方を紹介。「Python ではじめる機械学習」などのハンズオン本を軸に、数学が苦手な人向けの学習ルートと ML 本の賞味期限の見極め方を解説します。