ノートの端の書き残し

UnityやらC#やら。設計が得意かもしれない。

実践Rustプログラミング入門読んだ(全部やったとは言ってない)

実践Rustプログラミング入門

https://www.amazon.co.jp/dp/4798061700

Rustに興味があって、ちまちま読んでいました。興味があった理由はやっぱり、「速くて安全らしい」というところですね。基本的に作るのがゲームということもあって、特に速さは興味を引きます。
というわけでRust初学者の「実践Rustプログラミング入門」の感想です。

入門???

まずちょっと誤解していたのですが、この本はRustという「プログラミング言語」の入門ではないです。 「Rustを使ったアプリケーション作成」の入門と言えます。
最初全体の1/4くらいのページでRustの言語仕様や基本となる思想を解説はしているのですが、必要最低限という感じです。それもかなり駆け足で、少なくとも、他のプログラミング言語を学んだことがない人は読んでも意味が分からないと思います。

表紙はこんな感じなのですが、
f:id:u_osusi:20220410122434p:plain
「実践」と「入門」の文字サイズは逆の方が良かったのでは?とは正直思いました。

解説の出来

「Rustを使ったアプリケーション作成」の入門ということを理解して読めば非常に高クオリティです。一旦シンプルながら動くものを作りつつ、その後どのようにして実力を伸ばしていくべきかの指針を与える、という流れを色々な方面(コンソールアプリ、WebサービスGUIなど)で解説しています。
ただ一点気になるのは、コードのミスがちょっとあり(動かない)、また掲載コードの全てを丁寧に解説しているわけではないため(この辺が、この本がRustという言語の入門ではないと言える所以)、それらが合わさると、初学者としてはどう直せば動くのかわからないので非常につらい思いをしてしまいました。

サンプルプログラムのgithubリポジトリが公開されており、こちらのコードは(多分)動くので、こちらを参考にすると良いと思います。

github.com

終わり

一旦読み終えはしたものの、抽象的な部分(根本的な思想や、どういうときに何故Rustが使えるかなど)がなんとなく知れたくらいで、Rustが書けるようになった、とは全く言えない状態です。一度プログラミング言語としてのRustの入門書籍を読んで、その後改めて読むことになるかなという感想です。
ところでRustがC、C++の代わりとなる、かは微妙ですね。プログラミング言語の人気って結局はフレームワークの人気、ライブラリの充実度だと思いますから、そこがまだ見えていないので「これからの時代はRust!」かはわかりません。言語仕様は、安全な設計や実行時パフォーマンスを心掛けているプログラマとしては「良い思想だなぁ」と思いますし、人気出てほしいと思える言語ではあります。