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
noharu36
December 01, 2025
Programming
26
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Rustを布教したい
noharu36
December 01, 2025
More Decks by noharu36
See All by noharu36
皆さんはHaskellをご存知です_しかし皆さんはHaskellが読めません_.pdf
noharu36
0
39
検証!会津は本当に地盤が硬いのか?
noharu36
0
27
自作オブジェクトストレージをRustで
noharu36
0
61
ファミコンに思いを馳せる〜エミュレータ自作を添えて〜
noharu36
0
33
shell自作した話
noharu36
0
27
neofetchよ、永遠に
noharu36
0
32
ISSの軌道計算をRustで
noharu36
0
26
Other Decks in Programming
See All in Programming
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
540
依存関係から依存物へ―Dependencyという言葉の歴史をひも解く
j_lee
0
120
CSC307 Lecture 17
javiergs
PRO
0
320
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
200
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2.1k
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
540
Mujeres en SEO Summit 2026 - Greatest Disaster Hits en Web Performance
guaca
0
180
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
21
6.6k
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
250
New "Type" system on PicoRuby
pocke
1
920
A2UI という光を覗いてみる
satohjohn
1
130
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
160
Featured
See All Featured
Game over? The fight for quality and originality in the time of robots
wayneb77
1
200
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
180
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
730
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
300
The Language of Interfaces
destraynor
162
27k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
360
Test your architecture with Archunit
thirion
1
2.3k
Rails Girls Zürich Keynote
gr2m
96
14k
Color Theory Basics | Prateek | Gurzu
gurzu
0
360
30 Presentation Tips
portentint
PRO
1
320
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
Transcript
Rustを布教したい (来年も)学部2年 harukun
自己紹介 { name: 能島明希 handle: harukun origin: 広島->岡山->大阪->東京->会津 tech: {
front-end: React+TS backend: Rust, Go etc: Rust, Haskell Rust: Rust } favorites: Game, Tobacco, BoyScout, Rust, Neovim Twitter(x): https://twitter.com/pieceofharuki Blog: https://zenn.dev/haru_blog }
Rust書いたこと、ありますよね???
簡単な説明 Rustとは Rustは、Mozillaが開発したオープンソースのプログラミング言語です。 • 安全性: Rustは、メモリ安全性を保証する独自のメモリモデルを持っています。これにより、セグメンテーション フォルトやバッファオーバーフローなどのメモリ関連のバグを防ぐことができます。 • 高速性: Rustは、ゼロコスト抽象化と呼ばれる手法により、高性能なコードを生成することができます。
• 並行性: Rustは、並行プログラミングをサポートする機能が充実しています。これにより、マルチコアプロセッサを フル活用することができます。 By Gemini ※補足 静的型付け、式ベース、手続型・関数型(オブジェクト指向)、Cよりも安全でCと同じくらい早い
いいところ • 所有権 • 型システム • パターンマッチ • エコシステム(Cargo)
所有権 メモリの安全性を保証するための Rustの大きな特徴の一つ • 各値は所有者と呼ばれる変数と対応する (値を束縛する、という) • 一度に存在できる所有者は一つだけ( let s2
= s1で、メモリを2倍消費することがない) • 所有者がスコープを外れると値は破棄される • 所有権を移動させずに値にアクセスするために参照・借用を使う(関数の引数に参照をとることを借用と いう) • 可変参照はスコープ内で一つだけという制約がある
None
型システム • 強い静的型付け(制約が強い) さっきの参照も全て別の型として区別される (self, &self, mut self, &mut self
…) • 豊富な型 ex. enum, Option Result, • 強力な型推論 • Trait
Trait • Haskellでいう型クラス • 型に対して共通の振る舞いを定義できる • ジェネリクスに対して指定できる • ジェネリクスに対して実装できる(プリミティブ型含む)
None
パターンマッチ
Cargo べんり
Rustのキショいコードをみてニヤニヤしようの会
aの型はユニット ()←これ => 式ベースなので、{let b = 1}というブロックも()という値を返す c = 1という代入も式なので、aと同じ型(ユニット)になる aにc=1を代入できる
aの型はなんでしょう?
実行結果はどうなるでしょう? 結果 1, 11, 2, 12, 3, 13, 4, 14,
5, 15 mapが内部で処理の中間状態を表すMap構造体を作成して いる Mapを生成する時にMap::new(self, f)のようにselfを巻き込む ため、mapを2回呼び出すと再起的な構造になる ちなみにmapはイテレータを生成するだけなので計算は collect()を読んだ時に行われる(遅延評価)
このコード、動くかな? 関数(クロージャ)にも型があるよ でもそれはコンパイル時に内部的に作られるものだから人間には扱えないよ だからクロージャを扱うための Traitが生えてるよ! …なら、ジェネリクスな型にTraitを実装する時に制約として使えるはずだよ ね???
さらに進化させてみたよ 任意の数値型を受け取って2倍する関数 double 定義したTraitは、任意の数値型を受け取って implで実装す るOutputを返すよ 型パズルをコネコネすると、任意の数値型を受け取って2倍 する関数が作れたよ(なお実用性)
結論 みんなRustかこう!!!!!!! Traitを極めるとこんなコードをかけるよ