typememo.jp

Rust を使って何か作ってみたいけど何にしようかな?

2021.01.24

#tech#rust
Takeru Yamada

Contents


はじめに

どうも,たける@typememo です.

2020年のことなのですが Rust という言語があると聞きまして,興味が湧きました.

wikipedia 曰く,Rust は C++ や C が抱えるメモリ関連のバグを抱えないメモリ安全性を謳っている言語らしいんですよ.

それ聞いて,

どういうこと? どうなってるの? どういうところで使えるの?

と気になりまして,少しずつ調べていくことにしました.

今回は,Rust を使って何を作ろうか検討してみました.

今年は Rust を使いながら Rust を知っていく年にしようと思います.

ゆくゆくは 実践Rustプログラミング入門 という本を買おうかなと検討中です.

それでは,参りましょう.


Rust のインストール

Install Rust に書いてあることを実行して使えるようにしましょう.

まずは sh 実行です.

$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

ついでに,PATH 環境変数に ~/.cargo/bin へのパスを追加しておきましょう.

rustc コマンドが有効になっていれば ok です.

$ rustc --version
rustc 1.47.0 (18bf6b4f0 2020-10-07)

ok のようです.


Rust の特徴

Rust の特徴は大きく分けて3つのようです.

  1. パフォーマンス
  2. 信頼性
  3. 生産性

パフォーマンス

Rust には ランタイム (実行時に必要なもの)ガベージコレクタ (使っていない不要なメモリを解放する機能) がないようです.

そのため,パフォーマンスが良く組込み機器上で実行することも容易いようです.

だから C++ や C の代替言語になり得ると言われているのですかねー?


信頼性

Rust のメモリ安全性とスレッド安全性は 型システム所有権モデル によって実現されているようです.

型システム所有権モデル がどういう機能なのかは追って調べたいと思います.

コンパイラも優秀だそうです.

コンパイル時にバグを見つけてくれて,事前にバグを排除できるようになっているそうです.


生産性

Rust はドキュメント,コンパイラ,パッケージマネージャ,ビルドツール, エディタ自動補完機能,型検査機能,自動フォーマッタなどが揃っているようです.

実際に Rust を使って開発したことがないのでなんとも言えませんが, これらが本当に十分に揃っているのなら,開発者は安心して Rust を使って開発できますね.

楽しみになってきました.


Rust が注力する4つの分野

Rust コミュニティが注力する分野は次の4つのようです.

  • コマンドライン
  • WebAssembly
  • ネットワーク
  • 組込み

なるほど,そうしたら自分は コマンドライン で何か作れないか検討してみます.

ということで,手始めに,普段 ShellScript を使って作業していた部分を Rust に置き換えていこうかなと思います.

まずは Rust CLI チュートリアル を読み進めながら手を動かして,Rust に慣れたいと思います.


おわりに

Rust を使って CLI ツールを作ろうと思います.

まずはチュートリアルをこなして,Rust に慣れるところからです.

続報をお持ちください!

最後までお読みいただきありがとうございました.


執筆機材


関連記事

    なし