---
# System prepended metadata

title: '**発表資料**'

---

# **発表資料**
Rust言語とは？
- 2015年にリリースされた静的型付け言語
⇨主にMozilla社によって開発
- Rustという名前はさび菌に因んで付けられた。 この命名の後、当時の開発チームメンバーの多くが自転車を愛好していたことから、自転車のチェーンリングの錆つきを元にしたデザインのロゴが考案された。
- C/C++の替わりとなる次世代システムプログラミング言語(ハードより)
- Webアプリケーションのバックエンド開発にも使える
　golang, Node.js より高速
- コンパイルして機械語を生成する　バイナリーファイル
- 開発者が好きな言語ランキング5年連続1位(stack overflow survey)
- Googleは、2021年4月、Android, linuxカーネルを開発するプログラミング言語にRustを採用していくことを発表
- Rust Foundation が設立2021年2月 例：google aws huawei microsoft 
　(https://foundation.rust-lang.org)


## Rustがよく言われること
この世のプログラミング言語で一番難しい

#### なんで難しいのか？
- メモリ管理が独特
- マルチパラダイムプログラミング言語であること
---
- メモリ管理が独特
・Rustのメモリ管理の仕組みである「所有権・借用・ライフタイム」の理解が難しい
　→話によると「所有権・借用・ライフタイム」の仕組み・ルールを理解できていないと、
 　　簡単な Todo アプリすら作るのが難しいらしい
 (https://snamiki1212.com/rust-first-impression)

- マルチパラダイムプログラミング言語であること
  ・ さまざまな言語の構文と概念を知る必要がある

## じゃあなぜRustを使うの？
1. **低級言語でメモリの安全性を確保できる**
2. **パフォーマンスが良すぎる**
3. **ドキュメントが豊富、エラーコードが的確など生産性が向上できる**

---

### 安全性
「所有権・借用・ライフタイム」の仕組みがあるため

### パフォーマンス
ガベージコレクション(GC)使用していないため、めっちゃ早い。
直接機械語にコンパイルされる。


![](https://i.imgur.com/rALw0Le.png)
- C++/C/Rustが同レベルで最速
- Go/Javaは約3倍遅い

### 生産性
↓1か月未満の利用で高い生産性を感じた人が4割近くいる
[Rustの学習曲線](https://blog.rust-lang.org/2020/04/17/Rust-survey-2019.html#learning-curve---a-closer-look)


## 次回
メモリ管理の概念を深掘り学習していく。

