Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
プログラミング言語Rustの紹介
Search
eyener3
April 27, 2019
Programming
580
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
プログラミング言語Rustの紹介
eyener3
April 27, 2019
More Decks by eyener3
See All by eyener3
やさしい共同開発で自己組織化を目指したい..!!
eyener3
0
480
マクドナルドのマネージャーから学べたこと
eyener3
0
1.5k
日本酒をちょっとだけ 好きになって欲しい
eyener3
0
520
機械学習案件について
eyener3
0
590
はじまりの挨拶@あいなー
eyener3
0
380
Other Decks in Programming
See All in Programming
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
220
Jindong: Introducing Declarative Haptics in Compose Multiplatform
l2hyunwoo
0
100
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
3
770
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
210
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
2
260
What's New in Android 2026
veronikapj
0
250
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
210
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
130
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
590
そこに3びきプロダクトがいるじゃろう——生成AI時代における“価値が届かない理由”の構造
kosuket
0
450
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
210
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
540
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
3.1k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
430
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Mind Mapping
helmedeiros
PRO
1
300
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
280
[SF Ruby Conf 2025] Rails X
palkan
2
1.3k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
200
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
930
We Are The Robots
honzajavorek
0
290
30 Presentation Tips
portentint
PRO
1
360
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.7k
Transcript
プログラミング言語Rust の紹介 すとまと
自己紹介 • 学習院大学理学部数学科2019年卒業 • 休職中 • github.com/stmtk1 • qiita.com/stmtk •
機械学習 / シミュレーション / ゲーム開発 /自作プログラミング 言語に興味あり
Rustとは • 2015年1月に正式リリース • 組み込み系、自作OS、プログラミング言語、ゲーム制作など で使われる • Better than C++になる予定
• 関数型
Rustの何がいいか • 誰もが読みやすいソースコードになる • コンパイラが優秀 • 書きやすい • メモリを消費しにくいようになっている
とりまHello World • brew install rust でインストール • cargo new
hello_worldでプロジェクト作成 • cd hello_world でプロジェクト内のフォルダへ移動 • cargo run で”hello world”という文字列が出てくる
Fizz Buzz プロジェクトを作成して、プロジェクト内のsrc/main.rsを次のように変更し実 行
三項演算子が使えない
代入に返り値がない
マクロはただの置換じゃない
マクロはただの置換じゃない
所有権とライフタイムとは
所有権によって解決する問題 • ガベージコレクションをする必要がなくなる • スマートポインタを使う必要がなくなる インスタンスを一つの変数だけに持たせて使い捨てにする
• 所有権の借用 • インスタンスのクローン 1つの変数を使いまわしたい
コンパイラについて • オプションで設定しなくても使われていない変数/関数があると 警告が出る • 変数名を間違えても、似た名前の変数を教えてくれる • LLVMを使っている
まとめ • 所有権とライフタイムがメモリの消費を抑える • マクロが優秀 • 可読性が高い • 束縛分配などが使えて書きやすい •
コンパイラ
Tutorial https://doc.rust-jp.rs/the-rust-programming-language-ja/1.6/book/ https://doc.rust-lang.org/1.3.0/book/hello-cargo.html https://doc.rust-jp.rs/book/second-edition/foreword.html