こんにちは、MSKです。
最近比較的新しいプログラミング言語であるRustの人気が出てきています。
仕事で使っているチップも今まではC言語のみ対応でしたが、近いうちにRustにも対応するといったアナウンスがでるなど組み込み系の仕事でも使用されるようになってきています。
今日はそのRustについて特徴を紹介し、定番の「Hello World」を表示したいと思います。
Rustって何?
Mozillaが支援するプログラミング言語です。
C/C++に匹敵する実行速度やメモリ管理を持つプログラミング言語で、C/C++の代わりとなることが期待されています。
Rustを採用している事例としてはDropBoxやドワンゴがあります。
2019年のStack Overflow Developer Surveyで「最も愛されているプログラミング言語」で1位を獲得するなど、今注目の言語になっています。
Rustの特徴は以下になります。
- 実行速度がトップクラス(C/C++と同じレベルの速度)
- 静的型付け言語
- NULL安全
- 型安全性の保障
- モダンな文法が取り入れられている
特徴を今回は簡単に紹介したいと思います。(別の記事で詳しく書きたいと思います)
実行速度がトップクラス(C/C++と同じレベルの速度)
上にも書いた通り、C/C++に匹敵する実行速度を持っています。
ある調査によるとRustはJavaの2倍以上、Pythonの約30倍速いことが分かっています。
静的型付け言語
Rustは静的型付け言語になります。
静的型付け言語とは変数や関数の引数などの型をコンパイル時に決定する言語です。
逆にPythonやRubyは動的型付け言語と呼ばれる言語になっています。
動的型付け言語は実行時に変数の型をチェックします。
静的型付け言語では実行時に型チェックをやる必要がないため、動的型付け言語に比べて処理が速くなりやすいという特徴を持っています。
NULL安全
NULL安全とは、「NULLが原因でプログラムがクラッシュしないための仕組み」です。
Rustでは値があるかどうか分からないことを表す型としてオプション型というものがあります。
オプション型は値があるかどうかが分からないという型なので、値を取り出すときに値があるかどうかのチェックを強要されます。
これにより値がないことのエラーを防ぐことができます。
型安全性の保障
Rustはコンパイル時に型付けに失敗した場合はエラーを出してくれます。
例えば、数値と文字列の加算を行うことや、返り値がある関数で返り値を返していない関数に対してエラーを出してくれます。
C言語では返り値がある関数で返り値を返していなくてもコンパイルエラーとはならずに、実行することができます。この場合は何が起こるか分からないので危険だと言えます。
Rustではこのような危険をコンパイル時点で防いでくれる仕組みがあります。
モダンな文法が取り入れられている
Rustは比較的新しい言語であり、今も開発が継続している言語ですので先行しているプログラミング言語の良いところを取り込んでいけるという強みがあります。
モダンな仕組みとして以下が含まれています。
- 型推論
- パターンマッチ
- NULL安全
- ジェネリクスとトレイト
- クロージャ
開発環境を整えよう
公式ページにインストールの方法が詳しく書かれていますので、その通りに進めるとインストールが完了します。
インストールが完了しましたら、次のコマンドをコマンドライン上から打ってください。
バージョンが返ってきましたら、インストール成功です。
rustup --version rustc --version cargo --version
最初のプログラム
プログラミング言語の最初の学習の定番である「Hello World」を表示するプログラムを作成します。
プロジェクトを作成するためにコマンドライン上で次のように打ちます。
cargo new hello_world
このコマンドによりプロジェクトのフォルダが作られていると思います。
hello_worldフォルダの中のsrcフォルダ内のmain.rsがソースコードを記述するファイルになります。
初期の段階で次のように表示されていると思います。
fn main() { println!("Hello, world!"); }
すでに「Hello, world!」と書かれているのでこれを使わせてもらいます。
コマンラインでhello_world直下まで移動して、次のようにコマンドラインで打ち込んでbuildを行います。
cargo build
1秒ほどでbuildが完了すると思います。
最後にbuildしたプログラムを実行します。
cargo run
「Hello, world!」と表示されたと思います。
まとめ
プログラミング言語Rustについての紹介をしてきました。
Rustの特徴としては「実行速度がトップクラス(C/C++と同じレベルの速度)、静的型付け言語、NULL安全、型安全性の保障、モダンな文法が取り入れられている」でした。
C/C++の代替言語として、人気も高くなってきている言語ですので、僕としても注目して学習しています。
人気も高く将来性もあるかなと思えるので、興味のある人はぜひRustを学習してみてください。
以上、「Rustをインストールして使ってみよう!」でした。
最後まで読んでいただき、ありがとうございます。