2章Rustツアー

Rustに関して本書のような本を書くのは難しい。Rustを特徴付けているのは、最初のページで見せびらかすことができるようなびっくりするような機能ではなく、しかるべく設計された個々の部品がなめらかに協調することで、1章で述べた安全で高性能なシステムプログラミングという目的を実現していることだからだ。言語の個々の部分は、その他すべての部分の存在によって正当化される。

そこで、個々の言語機能を1つずつ説明するのではなく、小さいが完結したプログラムをいくつか示すことにする。それぞれのプログラムは、いくつかの言語機能を利用方法とともに紹介する。

  • まずは手始めに、コマンドライン引数に対して、簡単な計算を行うプログラムを、ユニットテスト付きで書いてみる。このプログラムで、Rustのコアとなる型とトレイトを紹介する。
  • 次にWebサーバを作ってみる。HTTPの細部の処理には、サードパーティのライブラリを用いる。このプログラムで、文字列処理、クロージャ、エラー処理を紹介する。
  • 3つ目のプログラムは美しいフラクタルをプロットするもので、高速化のために計算を複数のスレッドに分散する。このプログラムでジェネリック関数の使用例を示す。さらに、ピクセルのバッファのようなものを扱う方法や、Rustで並列性を扱うための方法を紹介する。
  • 最後に、正規表現を用いてファイルを処理する、頑健なコマンドラインツールを作成する。このプログラムは、Rustの標準ライブラリのファイルを扱う機能と、最も広く使われているサードパーティの正規表現ライブラリについて紹介する。

Rustは性能への影響を最小限にしつつ未定義動作を防止することを約束している。このことが、ベクタや文字列のような標準のデータ構造からサードパーティライブラリの使い方にいたるまで、システムのすべての構成要素の設計に影響を与えている。その詳細については本書全体を通じて説明することになるが、ここではRustに十分な機能があり楽しくプログラミングできる言語だということを示す。 ...

Get プログラミングRust 第2版 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.