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
なぜあの開発者はDevRelに伴走し続けるのか / Why Does That Developer Keep Running Alongside DevRel?
nrslib
3
410
他言語経験者が Golangci-lint を最初のコーディングメンターにした話 / How Golangci-lint Became My First Coding Mentor: A Story from a Polyglot Programmer
uma31
0
160
overlayPreferenceValue で実現する ピュア SwiftUI な AdMob ネイティブ広告
uhucream
0
180
Writing Better Go: Lessons from 10 Code Reviews
konradreiche
0
1.3k
あなたとKaigi on Rails / Kaigi on Rails + You
shimoju
0
160
デミカツ切り抜きで面倒くさいことはPythonにやらせよう
aokswork3
0
240
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
0
270
Introduce Hono CLI
yusukebe
0
320
Catch Up: Go Style Guide Update
andpad
0
230
いま中途半端なSwift 6対応をするより、Default ActorやApproachable Concurrencyを有効にしてからでいいんじゃない?
yimajo
2
430
Serena MCPのすすめ
wadakatu
4
1k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
130
Featured
See All Featured
Building Adaptive Systems
keathley
44
2.8k
Statistics for Hackers
jakevdp
799
220k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
Documentation Writing (for coders)
carmenintech
75
5.1k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Site-Speed That Sticks
csswizardry
12
900
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
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