Rustについてのちょっとした紹介

こんにちは! Aokami からバトンを受け取った B4 の Hayasaka です.
私は最近,研究で使う Rust と呼ばれるプログラミング言語について勉強しています.
教授から Rust についての話を受けるまで,私は存在自体知りませんでしたが,他の言語と比べてパフォーマンスと安全性が高いという話を聞きました.
したがって,これからますます人気が高くなると思われます.
今回は,その Rust の特徴を私の知る範囲で紹介しようと思います.
Rust は静的型付けの言語であるため,型についての定義をきちんとする必要があったり,変数が標準で不変となっています.
また,Rust 独自の所有権やライフタイムと呼ばれるものもあります.
C 言語との安全性の違いとして,私が安全性を感じたコードを見せたいと思います.
次の二つのソースコードは配列の中身を表示するコードです.
ソースコード 1 と 2 はうっかり配列の範囲外の要素にアクセスしています.
範囲外の要素は arr[4] です.
(Rust ではイテレータを使うほうが一般的かもしれないので,イテレータを使った方法をソースコード 3 に示します.)

C言語で配列の中身を表示する
Rustで配列の中身を表示する
Rust(イテレータ版)
ソースコード1の実行結果
ソースコード2の実行結果
ソースコード3の実行結果

C 言語は別のメモリに入っている-12816 という値を表示していますが,Rust は実行途中でパニックを起こして,index が範囲外であることを教えてくれます.
(イテレータを使ったソースコード 3 では正しく配列の要素にアクセスできています.)
また,パニックを起こすとプログラムが強制的に終了しますが,Result 型や Option 型によってエラー処理を明確に表現して安全性を高めることができます.(ソースコード 4)

RustでのOption型によるエラー処理
ソースコード4の実行結果

これは簡単な例ですが,他にも私の知らない Rust の安全性があると思われます.
今回は軽く,私の知る Rust の特徴を述べさせていただきましたが,次にブログを書く際には,より多くの特徴や強みをお伝えできるように勉強していきます!
次は,はまでぃ~です,お楽しみに!