『Rustプログラミング入門』を読んだ

Rust言語の評判はちょくちょく耳にしていて関心があって、業務でもRustを扱う機会が増えてきたので入門書を手に取った。 結果として、Rustの基礎的な概念や文法と実践的なアプリケーション開発の知識をざっくりとインストールできてよかった。

本書の感想

「Part 2 実践」の章では、アプリケーション開発の実例が細かいステップで解説されていて良かった。コマンドライン、Webアプリ、WebAssembly、GUI、組み込みシステムの実例が紹介されていて、それぞれのアプリケーションを実現するcrate(Rustのパッケージ)の使い方が紹介されているので、今すぐにアプリケーションを作りたい人にはよいscaffoldになりそう。一方で、Rustを取り巻くはまだまだ黎明期と言うことができ、デファクトとなるcrateも目まぐるしく変化しているようである。本書ではDBへの接続に使うcrateとしてdieselが紹介されていたが、これを書いてる時点ではsqlxが主流らしくて、RecentのDL数はsqlxが上回ってる。何らかの手段でRust開発コミュニティーの最新情報をキャッチアップしておくとよさそう。たまにZennのRustトピックでも眺めておくとか。

Rustについての感想

月並みな感想ではあるが、GC気にしなくていいのが嬉しい、matchの網羅性が保証されてるのが嬉しい、if/matchが式なのでコンパクトにかけて嬉しい、所有権のお陰でメモリ周りの事故が防げて良い、文字列型多すぎてわけわからん、Option型やResult型がコアライブラリに用意されてるのありがたいしHaskellっぽい、エラー処理複雑、anyhowとthiserrorは標準ライブラリになってほしい、cargo異常に気が利くじゃん、プロジェクト作ったらgitリポジトリを初期化してくれるし、テストフレームワークとかフォーマッターが実装されてるの何?𝓛𝓸𝓿𝓮...、という感じ。

これからのこと

グラフィックスプログラミングの勉強を兼ねてRustでレイトレーサーを実装してみたいと思っていて、とりあえずは積み本の『RustではじめるOpenGL』を読んで、RustでグラフィックスAPIを扱う方法を習得しようと思う。