🫡
Rustできる人が考えていること[YouTube抜粋]
YouTubeで語っている人がいたのを抜粋
Ruby出身の人はプログラミングを振る舞いの集合として捉えている傾向がある。「オブジェクトは振る舞いがあってデータはなんでもいい...」みたいな発送しがち。システムプログラミングではこの考え方はだめ。システムプログラミングではデータが大事。データを誰が持っているか、どこで初期化するか、どこでdropするかなどを中心に考えて、所有権を中心に設計を考える
振る舞いのことは忘れてデータに注目する。誰がものを管理するのか、どういうネスト関係にあるのか。
計算量も考慮する。ストラクトのフィールドに参照を持たない方がいいなど。基本的に参照をとるときは頑張りになることが多い(計算量が多くなる?)
RustのコードではMoveが視覚化されてるイメージ。Moveによって所有権がぴょんぴょんする。ブロックの中からオブジェクトがぴょんと出てくる、スレッドの方へオブジェクトが出てくる。そういうMoveの流れが見えてくる。
特許図面のような感じで考える。「Aという装置の中にはB,C,Dという装置があって、それぞれがどういう関係でデータ、メッセージをやり取りしていて」というネスト関係をはっきり書く
Discussion