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
0
560
プログラミング言語Rustの紹介
eyener3
April 27, 2019
Tweet
Share
More Decks by eyener3
See All by eyener3
やさしい共同開発で自己組織化を目指したい..!!
eyener3
0
460
マクドナルドのマネージャーから学べたこと
eyener3
0
1.4k
日本酒をちょっとだけ 好きになって欲しい
eyener3
0
490
機械学習案件について
eyener3
0
560
はじまりの挨拶@あいなー
eyener3
0
360
Other Decks in Programming
See All in Programming
Protocol Buffersの型を超えて拡張性を得る / Beyond Protocol Buffers Types Achieving Extensibility
linyows
0
110
CSC305 Summer Lecture 12
javiergs
PRO
0
140
Ruby Parser progress report 2025
yui_knk
1
300
Kiroで始めるAI-DLC
kaonash
2
570
Zendeskのチケットを Amazon Bedrockで 解析した
ryokosuge
3
280
MLH State of the League: 2026 Season
theycallmeswift
0
230
旅行プランAIエージェント開発の裏側
ippo012
2
870
TDD 実践ミニトーク
contour_gara
1
290
ファインディ株式会社におけるMCP活用とサービス開発
starfish719
0
210
Claude Codeで挑むOSSコントリビュート
eycjur
0
200
Introducing ReActionView: A new ActionView-compatible ERB Engine @ Rails World 2025, Amsterdam
marcoroth
0
570
ProxyによるWindow間RPC機構の構築
syumai
3
1.1k
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.2k
Designing Experiences People Love
moore
142
24k
A better future with KSS
kneath
239
17k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Facilitating Awesome Meetings
lara
55
6.5k
Embracing the Ebb and Flow
colly
87
4.8k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
187
54k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Docker and Python
trallard
45
3.5k
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