たなしょのメモ

日々勉強していることをつらつらと

プログラミング言語Rust公式ガイドをよんだので感想

TRPL読みました

ようやくRustの学習を初めてTRPLの本を読み切ることができました。
インターネットでTRPLで無料で読めるのですが、
今まで何度も挫折してきたため本を買うことで読みきれるかなと思い、購入しました。
結果として読み切ることができたので本を買って大正解でした。

実際TRPLを読んでみて学べた知識も多くありました。
特にmatchアームとイテレータの説明がわかりやすく、TRPLを読んでいなかったら
今頃Rustを使って競技プログラミングをやっていないと思います。
Rustでバグが少ない理由の一つにmatchアームの存在があることも知ることができました。
(よく最後に「-」のパターンを使うのを忘れてコンパイルに怒られます汗)

またRustはイテレータも優秀でイテレータのトレイトを見ると本当に多様な使い方ができることにびっくりしました。
C++にもイテレータがあり競技プログラミングでお世話になっているのですが、
C++イテレータを更に拡張したような形で色々な機能がRustのイテレータにはあることがわかりました。

他に参考になったのはジェネリック型の使い方です。
Javaや最近のGoでも使われていますがRustでその使い方や強力な機能を知ることができました。
どんな型でも受け入れてくれるというのは関数を作成する上で大変強力な武器になり、
ソースコードを短く簡潔に書くことができるようになりました。

反面後半のスマートポインタ、並行性、ライフタイムは正直理解できませんでした。
翻訳されている本なので書き方も日本語が難しかったのも要因かもしれません。
最後にWebサーバーを自作するのですが半分も理解ができず写経していて挫折するところでした。
理解できない点はこのサイトがわかりやすそうだったので取り組んでみて理解していきたいと思います。

正直難易度は割と高い本だと思うのでRust初心者がいきなり読むのは難しいかもしれませんが、
入門書を一冊読み終えた人が読んでみると新しい発見があるかもしれません。

TRPLを読んでRustのことが少しだけ理解できてRustに対するモチベーションが上がりました!
今後もなにかツールを作成したり競技プログラミングをやる際は積極的にRustを書いていこうと思います。