投稿元:
レビューを見る
むずかしい。再読が必要であろう。Objectという言葉が余り出てこず代わりに値という言葉が頻繁に出てくる。
Someという関数?が頻繁にでてきたが?だった。
1章 なぜRustなのか
Rustはシステム記述言語でC/C++の代替可能な言語を目指している。安全でありマルチスレッドが簡単に安全に書くことができる。
2章 Rustツアー
Rustの機能を広く浅く紹介している
インストール
トレイト
ジェネリクス
所有権
借用
並列プログラム
3章 基本的な型
変数の型の紹介(たくさんある)
整数型
浮動小数点
真偽値型
文字(UniCodeがベース)、文字列型
タプル
ポインタ型、参照
配列、ベクタ、スライス
4章 所有権
Rust固有の所有権について説明、所有権の移動について説明。ざっくりとはわかったが使いこなせるかは疑問
5章 参照
所有権のないポインタ型(借用)
共有参照
可変参照
6章 式
Rustは式言語、文がない
7章 エラー処理
Rustには例外がないようだ。エラーが起こりそうな関数からの返り値にはResultを持たせてエラー伝播を行わせる。あとPanicがある
8章 クレーとモジュール
クレートはPythonのモジュールのようなもの?
モジュールは名前空間?
9章 構造体
他の言語と大きく変わらない。タプル型構造体?、ユニット型構造体?
Rustにはクラスがない。よく似た機能を構造体が担っている。クラスのようにクラス内部にメソッドを記述するのではなくimplキーワードを使ってメソッドを定義する。ジェネリック構造体?
10章 列挙型とパターン
C/C++の列挙型とは違うが良く分かたなかった。
パターンも同様
11章 トレイトとジェネリクス
Rustでポリモルフィズムを実現しているのがトレイトとジェネリクスである。他の言語の抽象基底クラスに相当するらしい。
12章 演算子オーバーロード
トレイトにて実装されている
13章 ユーティリティトレイト
Drop
Sized
Clone
Copy
DerefとDereMut
Default
AsRefとAsMut
BorroWとBorrowMut
FromとInto
ToOwned
14章 クロージャ
無名関数である。
15章 イテレータ
最近ではどの言語でも実装してあるイテレータであるので違和感はない。foldは変わったループ。
16章 コレクション
VecやHashMapなど
17章 文字列とテキスト
文字コードに関することでどのようにRustに実装されているか説明がある。正規表現の説明もある。
18章 入出力
I/Oの取り扱い
19章 並列性
フォークジョイン並列
チャネル
排他ロック(Mutex)
条件変数
アトミック変数
20章 マクロ
C/C++のマクロより安全らしいがデバックが難しそう
21章 unsafeなコード
危険だけどRustではかけない処理をunsafeブロックかunsafe関数で記述できる。またRawポインタを使ってC/C++にリンクできる。
投稿元:
レビューを見る
http://public-errata.appspot.com/errata/book/9784873118550/
投稿元:
レビューを見る
これはとてもよかった。公式ドキュメントでは得られない、より実務っぽい例示や難易度が、さすがオライリー本という感じ。
正直読み切るにも体力のいる一冊で、また読み返さないと消化しきれてない箇所も多数だけど、習熟度を上げるには避けられない一冊だと思う。
投稿元:
レビューを見る
図書館で借りた。
プログラミング言語Rust。「Rustはシステムプログラミングのための言語だ」から本書ははじまる。安全性に特徴があり、今後Linux kernelなどのコアな領域にも使われるとされている言語。
私は組み込み系のエンジニアであるので、「C言語さえできれば、食いっぱぐれることは無いでしょ」と考えていた。これまでもRuby、Pythonなどなど、数々の新しい言語が出てきたと思えば、「組み込みでは使えない」なんて評価をされてきたが、どうやらその点では覆る可能性がある。そんな言語がRustだ。
Rustのオライリー本。"ザ"が付くほどオライリー本っぽい印象だ。分厚くて、簡単な言語仕様だけでも150ページを消費する。もちろんそこには所有権やトレイトといったRustの特徴も説明される。
中盤から構造体や列挙型などに併せ、クレート、ジェネリクスといったものが並んでくる。
クロージャ、イテレータ、コレクション…Rustを理解しきるには深い。まだまだお勉強だ。