スキップしてメイン コンテンツに移動

唐突に Rust を始めてみる【インストール編】

タイトル通り、唐突ですが Rust を始めてみようと思います。 最近のニュースでは Linux カーネルの開発言語にも採用されようとしているようですし、着実に利用シーンが増えていっている印象ですね。数年前からずっと触りたかった言語ではあるのですが、近頃ようやくそういった時間が取れるようになったのと、自宅に開発ができる PC を購入した(主にゲーム用ですが)のでリハビリも兼ねてブログに残しておこうと思います。

まずはインストールから。

Rust の言語特性を掴む

プログラミングをいきなり始めるのもいいですが、最短距離でサンプルコードに進んでしまうと文量が少なすぎて少し困るというこちらの事情がありますので、少しだけ Rust の言語特性みたいなものを掴んで動きを想像してみたいとおもいます。

コンパイル言語である

Rust はコンパイル言語です。
普段 JavaScript(Node.js) や Ruby 、 PHP 、 Python などのスクリプト言語の実装をされている方からすると少し奇妙な感じがします。

コンパイル言語は実行する前にコンパイルという作業を必要とします。
プログラムの規模が小さい場合は手順こそ面倒に感じはしますが、一瞬で終わるためそこまで気になりません。
規模が大きくなるにつれて、コンパイルにもそれなりの時間を要するようになります。
スクリプト言語のように、さっと書き換えてパッと動作確認、という訳にはいかなくなり、デバッガを有効に使った効率的なデバッグというものが必要になります。

それと引き換えに、というわけではありませんがコンパイルしたバイナリファイルはスクリプト言語とは違う次元の速さで動作するでしょう。

パッケージマネージャも存在する

Rust には Cargo というパッケージマネージャが存在します。
というか、21世紀のプログラミング言語でパッケージマネージャがないのはもはや致命的ですよね。

私も絶賛勉強中なのであまり大層な事は言えませんが、 Rust のパッケージは他の言語のパッケージよりもコンパクトに実装されているようで、できる限り組み合わせて汎用的に使っていけるくらいの粒度で開発されているのだとか。

そろそろインストールしていきましょう。

Linux VM 上にインストールしていく

PC ゲームをするために買ったような PC なので、もちろん Windows 機です。
Windows 上で開発してもいいんですが、あまり Windows 上で開発をすることはないので、vagrant で簡単な CentOS の VM を作り、その中で開発をしていこうと思います。

vagrant で VM を構築する手順については割愛します。
が、リクエストがあれば記事にまとめるのも吝かではないなと思っていますのでコメントなどでリクエストしていただければ。

Linux 上に Rust の実行環境を用意するのは非常に簡単です。


# インストール用のシェルスクリプトをダウンロードして実行
$ curl https://sh.rustup.rs -sSf | sh
これだけで実行環境は整います。
以降は cargo コマンドを使って作業を進めていきます。

まずはプロジェクトを作っていきます。


すると、プロジェクト名のディレクトリが生成され、その中に必要なファイルが幾つか作成されます。


できたてのプロジェクトは以下のような感じです。
$ ls -al
total 8
drwxrwxr-x. 4 vagrant vagrant  65 Aug 15 03:17 .
drwx------. 8 vagrant vagrant 199 Aug 15 03:17 ..
-rw-rw-r--. 1 vagrant vagrant 202 Aug 15 03:17 Cargo.toml
drwxrwxr-x. 6 vagrant vagrant 103 Aug 15 03:17 .git
-rw-rw-r--. 1 vagrant vagrant   8 Aug 15 03:17 .gitignore
drwxrwxr-x. 2 vagrant vagrant  21 Aug 15 03:17 src
中に src というディレクトリがあるので、その中を見てみます。

$ cd src
$ ls -al
total 4
drwxrwxr-x. 2 vagrant vagrant 21 Aug 15 03:17 .
drwxrwxr-x. 4 vagrant vagrant 65 Aug 15 03:17 ..
-rw-rw-r--. 1 vagrant vagrant 45 Aug 15 03:17 main.rs
main.rs というファイルがありますね。
これが Rust のプログラムが始まる最初の部分になります。

この中にある main という関数がプログラムの始まり(エントリポイント)になります。

まとめ
  • 開発環境は VM などの上に作ったほうがいい
  • Rust の開発環境はシェルスクリプトを1つ動かすだけで整えられる
  • src/main.rs の main 関数がエントリポイントになる
cargo の事についてはあまり触れられなかったので次回は cargo について調べていこうと思います。
リハビリなので少し短いですが、今日のところはこれまで。

続きます!

コメント

このブログの人気の投稿

[VB.NET]オレオレ証明書でSSL通信するための短絡的な解決法

VB.NETソフトウェアでサーバーと通信することはよくある事だと思いますが、最近はHTTPを使って明けっ広げに刺しに行くよりHTTPSを使って暗号化してこそこそやった方が時代の流れに即した感じですよね(違うか)。 いちいちテスト環境でSSL証明書を用意するのも面倒だということで、セキュリティ的には全くよろしくない方法で迂回できるので紹介します。

[JS]Canvasでよく使う描画テクまとめ

HTMLで画像をいじくりたい時は、canvasを利用して編集するのは一般的ですが、WindowsストアアプリではHTML+CSS+JSでのアプリ開発ができる事もあって、簡単な画像編集であれば、C#やVBを使うより分かりやすいし資料が多く、C++でDirectXをガリガリ書くよりお手軽。入出力もファイルピッカーを使えば簡単に実装できます。今回は、Windowsのコードではなく、Canvasを利用する時のJavaScriptを使いどきに合わせてまとめていきます。

curl の基本的な使い方 -設定編-

今回のcurl TIPSは、curlをより日常的に使っていくためのHow toです。curlには、数多くのオプションが用意されていて、それらを組み合わせる事で様々な事が楽になるでしょう。サービス監視の自動化などにはまさにcurlの得意分野です。 今回は、curlを更に自分のものにしていくために大事なカスタマイズの部分を解説します。