2022年4月17日
2022年4月18日
Rustにちょっと触れてみた
Rustとは何かに対しての記事は複数あると思いますので早速構築から開始していきます
MacにRustのインストール方法を調査
いつも通りhomebrewで入れようかなと思ったのですが、調べたところ下記のメリット/デメリットがあることがわかりました。
メリット
- brew upgrade でパッケージアップデートをした際に、併せてRustもアップデートされる
- 使い慣れているので便利
デメリット
- rustupを利用することを前提としたドキュメントが多いので、都度読み替えを行う必要がある。
- 公式のlinterである「clippy」がhomebrewにない(探せてないだけだったらすいません。)
- VSCodeで、Rustプラグインを入れると結局rustupを利用することになる。
Rustをインストール
前述したメリット/デメリットからhomebrewではなく、rustupでインストールすることにしました。
Rust本体
# 当記事作成時点
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# 下記実行を促されるので実行
source $HOME/.cargo/env
#それぞれバージョン確認
rustc -V
rustup -V
cargo -V
rust-analyzer
従来のrlsよりもレイテンシが小さいLanguage Serverとのことなので、こちらを採用しました。
# 下記ツール郡がない場合は、インストールが必要
rustup component add rls rust-analysis rust-src
VS Codeで下記プラグインを追加
rust-analyzer - Visual Studio Marketplace
拡張機能の設定で rust-client.engine
と検索し、でてきた項目を
rls
から rust-analyzer
に変更
(設定値の注釈にフルサポートでない旨の説明があるので、rlsのままでもOK)
rlsとrust-analyzerで比べると後者の方がコード補完がより丁寧だと思います。
cargo-edit
cargo add
update
rm
のコマンドが利用可能になるので、あるとクレート管理が楽になる
cargo install cargo-edit
CodeLLDB
デバッガー
CodeLLDB - Visual Studio Marketplace
Rust触ってみて
触って間もないので、今後意見は変わるかもしれませんが、現時点では以下の様に思いました。
書くのが楽しい
これはまあRustに限った話ではないのですが、特別楽しく感じました。
エラーメッセージも分かりやすいですし、コンパイルも早いのでさくっと試せるところもGoodです。
これはGoを学習した時にも感じたことなのですが、runしてから結果が出るまでの速度が早いのは非常に重要だなと感じます。
型指定はしたほうが好み
強力な型推論はありますが、型指定があったりなかったりだとなんとなくチグハグなので個人的には型指定をしていきたいと思いました。