プログラミング言語「Rust」とは?インストール方法やメリット・おすすめの書籍まで徹底解説
プログラミングを学ぼうとするときに、まず選ぶのが「プログラミング言語」です。
「どのプログラミング言語を学ぼうかな?」と迷いますよね。
世界にはプログラミング言語が200以上もあり、特に使われているのはおよそ20ほどです。
そのなかでも、最近人気が高まっている「Rust」という言語をご存知でしょうか。
Rustは、2020年6月の最も人気がある言語トップ20にランクインし、注目を集めています。
(出典:InfoQ)
「Rustって聞き慣れないけど、どんな言語なの?」
「Rustのインストール方法や学び方は?」
そんな疑問を持つ方もいるでしょう。
そこで今回は、
- Rustの特徴
- Rustのメリット・デメリット
- Rustのインストール方法
- Rustを学ぶのにおすすめの書籍
などについてご紹介します。
「人気の言語Rustについて詳しく知りたい!」という方は、ぜひ最後まで読み進めてくださいね。
プログラミング言語「Rust」とは?
「Rust」はFirefoxの開発元であるMozillaが支援するオープンソースのプログラミング言語です。
「安全性・速度・並行性」の3つに焦点をあて、定期的に新しいバージョンがリリースされています。
プログラミング言語には、コンパイル(コンピュータが理解できる言語への翻訳)が必要な言語と、コンパイルを必要としないスクリプト言語の2種類があり、Rustはコンパイル言語です。
同じコンパイル言語であるC++と同等の処理速度を持ちながら、C++と比べて極めて安全な声質を持ちます。
そのため、C言語やC++に代わるプログラミング言語としても最有力とされていますよ。
ブラウザシェアの2〜3位にランクインしている「Firefox」に採用されている言語で、Microsoftも注目している言語です。
「Rust」の人気は今後もさらに高まっていくでしょう。
この記事を読んでいるあなたがプログラミング学習に興味があるのならば、我々が運営するDMM WEBCAMPの説明動画を見てみませんか?
こちらのページから、DMM WEBCAMP SKILLSの詳細へ行っていただき、【説明動画を見る】ボタンを押すことで説明動画を視聴できます。
Rustの特徴3つ
プログラミング言語Rustの概要をお伝えしました。
なかでも「安全性・速度・並行性」が大きな特徴として挙げられます。
Rustの3つの特徴について、詳しく見ていきましょう。
1.安全性
Rustは極めて安全性の高い言語です。
Rustのコードは、メモリの使い方に危険性があるとコンパイルが通りません。
変数に「寿命」を与えることで、メモリリークやリソースリークのバグの多くをコンパイル時に発見できるためです。
また、変数に「所有権」を与え、複数箇所から同時にメモリを書き換えることもコンパイル時に防ぎます。
一般的なプログラムのメモリエラーは、実行時に表面化するケースが多いもの。
しかし、Rustならメモリの問題をプログラムの実行段階まで持ち越さずに済みます。
コンパイラが問題を検出し、対処を促して、コードが修正されるまでプログラムは動かない仕組みです。
そのため、極めて高い安全性を保持することができます。
2.速度
Rustはネイティブに近い環境で実行されるプログラミング言語のため、高速に動作します。
その速度はC言語やC++に匹敵するほどです。
Rustのコードは、複数のプラットフォームに対して、それぞれのネイティブコードにコンパイルできます。
そのため、動作の高速性を保つことができるのです。
3.並行性
Rustはマルチスレッドでも安全に実行できる平行性があります。
その理由は、変数に「所有権」を与える仕組みがあるためです。
複数箇所から同時にメモリを書き換えられないため、安全に操作できます。
Rustのメリット3つ
Rustの3つの特徴についてご説明しました。
C言語やC++に代わる、大きな可能性を持つ言語であることがわかりますね。
Rustには3つの特徴のほかにも、優れたメリットがあります。
ここでは、Rustの3つのメリットをご紹介します。
- インストールが簡単
- 公式チュートリアルが日本語に翻訳されている
- メモリ管理の所有権
それぞれ見ていきましょう。
1.インストールが簡単
Rustはとても簡単にインストールができます。
初心者でも使い始めやすく、導入のハードルの低い言語です。
Windowsの場合は、インストーラの実行だけでできます。
MacやLunuxの場合は、ターミナルにコマンドをコピー&ペーストで入力するだけです。
基本的には、Rustの公式サイトの手順に従うだけですぐにできますよ。
2.公式チュートリアルが日本語に翻訳されている
Rustは公式チュートリアルが日本語に翻訳されています。
プログラミング言語によっては英語しかない場合も少なくないので、嬉しいポイントですね。
ほぼすべての機能が日本で説明されています。
Rustの基本情報はチュートリアルで把握できるでしょう。
日本語の公式チュートリアルはこちらから見ることができます。
少々読みにくい部分はあるものの、十分に理解できる程度です。
さらに、Rustの日本コミュニティのSlackもありますよ。
Rustを使いこなすエンジニアがたくさん参加しているので、わからないことを質問できます。
3.メモリ管理の所有権
Rustはメモリ管理の所有権があります。
変数をコピーするときにはいくつかの制限がかかりますが、その制限の1つが所有権です。
つまり、所有権を持つ変数をコピーしても、コピーした変数には所有権がなくアクセスできないため、「変数をむやみにコピーしない」という考え方をコンパイラがサポートしてくれます。
C++などは、メモリの管理が開発者に依存しているため、安全性が低くなりやすいです。
Rustは所有権というシステムを導入することで、メモリの安全性を保証しています。
プログラミング学習を本気でしたい方へ…
経産省認定のプログラミングスクール【DMM WEBCAMP】
受講者の97%が初心者!独自開発の教材で徹底サポート!
受講内容に満足できない場合は全額返金!
\生活スタイルに合わせた3パターン/
Rustのデメリット2つ
Rustのメリットをお伝えしました。
インストールが簡単で日本語のチュートリアルもあり、始めやすい言語ですね。
しかし、メリットばかりではありません。
Rustはまだまだ認知度が低く、利用人口の少ないプログラミング言語です。
現時点のRustのデメリットも知っておきましょう。
- 学習コストが高い
- 利用人口が少ないので情報も少ない
それぞれご説明します。
1.学習コストが高い
Rustは言語仕様が複雑で難しく、学習コストが高いというデメリットがあります。
プログラミング初心者にとっては、C++と同様に習得難易度の高い言語です。
特に、次のような独自の概念が複数導入されていることが、学習コストが高い理由となります。
- ライフタイム
- オーナーシップ
- 静的ディスパッチ
- 動的ディスパッチ
また、プログラミング経験者でほかの言語を学んだことのある方でも、Rustの使い方に戸惑うかもしれません。
しかし、Rustを学習するとほかのプログラミング言語を扱うときにも新たな視点を得られるため、学習価値は高いと言えます。
2.利用人口が少ないので情報も少ない
Rustはまだ利用人口が少ないので、情報が少ないことがデメリットとして挙げられます。
日本でもRustの認知度は低く、数年エンジニアをしている人でも知らない、あるいは名前を聞いたことがある程度です。
環境構築や文法といった基本的な情報は問題なくとも、バグの解消や応用的な利用について情報が少なく困ることがあるでしょう。
ただし、アメリカをはじめとする海外では利用人口が増加しており、日本語の情報は少ないものの、英語ならかなりの情報を得ることが可能です。
日本での普及がこれからであることを考えると、いまから学んでおくことでRustの需要が増えたときに活躍できるでしょう。
Rustのインストール方法
Rustのメリットとデメリットについてご紹介しました。
プログラミング初心者には難易度が高いものの、将来性のある言語ですね。
メリットのなかで、Rustはインストールが非常に簡単とお伝えしました。
ここからは、Rustのインストール方法について見ていきましょう。
次の3つの手順でRustの使い方をご紹介します。
- インストール
- プログラムの作成
- プログラムの実行
順番にご説明しましょう。
1.インストール
まずは、Rustの公式サイトからコンパイラをインストールします。
公式サイトにアクセスすると、専用ページが表示されるので「Get Started」をクリックしましょう。
コンパイラのダウンロードが開始されます。
ダウンロードが完了したら、インストーラを起動し、画面の指示に従ってインストールを進めましょう。
デフォルトの状態でインストールすると、次のツールの準備が完了します。
- rustc(コンパイラ)
- cargo(ビルドツール)
これでインストールは完了です。
2.プログラムの作成
次に、プログラムの作成をしてみましょう。
メモ帳アプリなどのテキストエディタを開き、「hello_world.rs」を作成します。
Rustの拡張子は「rs」です。
任意の場所に「hello_world」というフォルダを作成し、「hello_world.rs」を保存しましょう。
3.プログラムの実行
作成したプログラムを実行します。
コマンドプロンプトを起動して「hello_world」フォルダへ移動した後、「hello_world.rs」をコンパイルしましょう。
そのまま続けて「hello_world.exe」と入力すれば実行できます。
画面に「Hello, world!」と出力されていれば成功です。
Rustを学べるおすすめの書籍4選
Rustのインストール方法についてご紹介しました。
これでRustを使えるようになりますよ。
「もっと詳しくRustについて知りたい!」という方は、書籍で学ぶのがおすすめです。
日本語の情報が少ないとは言え、Rustについて書かれた書籍はいくつか存在します。
ここでは、Rustを学べるおすすめの書籍4選をご紹介します。
- プログラミング言語Rust入門
- 実践Rustプログラミング入門
- プログラミングRust
- 実践Rust入門[言語仕様から開発手法まで
それぞれ見ていきましょう。
1.プログラミング言語Rust入門 増田 智明
最初にご紹介するのは、増田智明著の『プログラミング言語Rust入門』です。
本書では、Rustがまだ新しいプログラミング言語であることを踏まえ、前半で実務に必要な詳しい文法を解説しています。
文法や具体例は、簡単なRustのコードを動かし、確認しながら学べますよ。
後半では、具体的な利用法を中心に説明し、実践的な内容が理解できるようになっています。
プログラミング初心者よりも、すでにC++やJavaなどほかの言語を学んだ経験のある開発者を対象とした1冊です。
2.実践Rustプログラミング入門 初田 直也
次にご紹介するのは初田直也著『実践Rustプログラミング入門』です。
この1冊でRustの良さを存分に理解できると言えるでしょう。
サンプルコードは、順を追ってRustの使い方を学べる内容となっています。
基本を理解しながら機能を充実させ、次第に複雑なアプリを作れるようになるのが魅力です。
パソコン上で動かすソフトウェアやWebアプリケーションの作り方を、手を動かしながら体系的に学べます。
本書もプログラミング初心者向けではなく、あくまでRustという言語の入門書です。
3.プログラミングRust Jim Blandy
Rustについてより詳細に説明されているのが、Jim Blandy著『プログラミングRust』です。
本書では、Rust特有の「所有権」「移動」「借用」といった概念にとどまらず、生産性と柔軟性を向上させる高度な機能について説明しています。
Rustの言語仕様から高度なプログラミング技術まで網羅した内容です。
Rustというプログラミング言語を深く理解したい方におすすめします。
4.実践Rust入門 言語仕様から開発手法まで κeen
最後にご紹介するのは、κeen著『実践Rust入門 言語 κeen仕様から開発手法まで』です。
本書はRustの言語仕様から開発現場で必要な知識まで、丁寧に解説しています。
Rustの特徴である「所有権」「借用」「ライフタイム」の概念について、詳細な図を活用して解説しているため、理解しやすいです。
Rustの公式サイトには学習向けにThe Rust Programming Language(The Book)が推奨されていますが、それと同じくらいわかりやすい内容となっています。
The Bookの最新版は英語ですが、日本語で学びたい方にはこの本がおすすめです。
まとめ:Rustは学習コストが高いが魅力的なプログラミング言語
今回は、プログラミング言語のRustについてご紹介しました。
Rustは今後C++に代わる可能性があると言われる優れた言語です。
日本ではまだあまり認知されていませんが、海外では高い人気を集めています。
将来的には日本でもRustが使われる場面が増えると予想できるでしょう。
概念の理解が難しく、学習コストは高いものの、魅力あるプログラミング言語です。
Rustに興味があれば、ぜひインストールして学んでみてはいかがでしょうか。
また、プログラミング学習を本気でやろうと思った際には、DMM WEBCAMPでお会いしましょう!!