eyecatch thumbnail

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

Profile picture
ルッチ / Lucci
2021.01.24

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 に慣れるところからです.

続報をお持ちください!

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


執筆機材


関連記事

    なし

大学生へのお知らせ

ここまで記事を読んでくれて本当に嬉しいです、ありがとうございます。

プログラミングを始めたばかりの頃って「やるぞ!」という気持ちは強めですが、 実際に取り組み始めると「何からどうやってどこまでやればいんだ?」 という感じで羅針盤を失うことが多いような気がします。(実体験)

そんな勉強熱心で向上心高めなんだけど目指す姿が曖昧な大学生の方に感謝の意も込めて、就職活動までサポートするプログラミングスクール「レバテックカレッジ」を紹介します。↓

Levtech-college

「自走力」のあるエンジニアを最短3ヶ月で目指せるカリキュラムが月額30,000円で用意されていて、 現段階の「目指す姿が曖昧で何から手をつければいいかわからない状態」から脱却できます。

自分は実際にIT企業で働いていますが、「自走力」のあるエンジニアの方にはいつも助けられています。

なので、目指す姿が曖昧な人はとりあえずレバテックカレッジが導いてくれる 「自走力のあるエンジニア」を目指してみるのはスタートダッシュとしてはアリです。

レベルアップしてからジョブチェンするのはRPGでも常套手段ですし、 レバテックカレッジで一通りのスキルを習得してから自分の目指す姿を再定義するといいかもです。

「自走力のあるエンジニア」って実際どんなエンジニアなの? 何から手をつければいいかわからないから教えて欲しい、 という人は上のテキストリンク/画像リンクから「無料相談会」への申し込みをお願いします。

よきエンジニアライフを!