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
roadmap to rust 2024
Search
Kentaro Matsumoto
May 14, 2022
Programming
0
2k
roadmap to rust 2024
Kentaro Matsumoto
May 14, 2022
Tweet
Share
More Decks by Kentaro Matsumoto
See All by Kentaro Matsumoto
Marpを使って登壇資料を作る
matsu7874
0
610
Generate a rust client code by OpenAPI Generator
matsu7874
0
350
ざっと理解するRust 2024 Edition
matsu7874
0
920
プリントデバッグを失敗させないテクニック
matsu7874
1
330
社外を巻き込んだ勉強会を定期開催するコツ
matsu7874
0
170
actix-webを使った開発のハマリポイントを避けたい
matsu7874
0
1k
our test strategy on actix-web app
matsu7874
0
1.5k
Rust tutorial for Pythonista
matsu7874
2
1.2k
Mock testing with mockall
matsu7874
0
350
Other Decks in Programming
See All in Programming
CDK開発におけるコーディング規約の運用
yamanashi_ren01
2
220
なぜイベント駆動が必要なのか - CQRS/ESで解く複雑系システムの課題 -
j5ik2o
14
4.5k
sappoRo.R #12 初心者セッション
kosugitti
0
270
苦しいTiDBへの移行を乗り越えて快適な運用を目指す
leveragestech
0
880
Pulsar2 を雰囲気で使ってみよう
anoken
0
250
Honoのおもしろいミドルウェアをみてみよう
yusukebe
1
220
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
620
楽しく向き合う例外対応
okutsu
0
570
Ça bouge du côté des animations CSS !
goetter
2
130
Honoをフロントエンドで使う 3つのやり方
yusukebe
7
3.5k
仕様変更に耐えるための"今の"DRY原則を考える
mkmk884
9
2.9k
Unity Android XR入門
sakutama_11
0
170
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
6
250
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
10
500
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Git: the NoSQL Database
bkeepers
PRO
427
65k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
Docker and Python
trallard
44
3.3k
Typedesign – Prime Four
hannesfritz
40
2.5k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.4k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Transcript
Rust 2024 に向けて Rust 2021 を理解しよう @matsu7874 1
2 • @matsu7874 • SWE@estie • オフィス不動産領域のSaaS • 新しいプロダクトをRustで開発しています •
『実践Rustプログラミング入門』共著 • TechFeed Official Expert(Rust) 自己紹介: @matsu7874
3 edition: 後方互換性を保ちつつ破壊的な変更を入れる仕組み rustc 1.60.0 (7737e0b5c 2022-04-04) Edition 2021 クレートMain
Edition 2015 クレートA Edition 2018 クレートB Edition 2021 クレートC どのeditionで書かれた クレートも参照可能 どのeditionで書かれたクレートも最新のコンパイラでコンパイル可能
4 • Rust 2015: 安定性 • 最初の安定版リリース • Rust 2018:
生産性 • dyn Trait構文の導入 • extern crateの削除 • Rust 2021: 一貫性 • TryInto, TryFrom, FromIteratorトレイトのPreludeへの追加 • 今はこれが最新 • Rust 2024: エンパワーメントの拡大(scaling empowerment) edition: テーマがある
5 1. 学習しやすくする: Flatten the (learning) curve 2. ライブラリ作成者を支援する: Help
users help each other 3. Rustに貢献しやすくする: Help the Rust project scale Rust2024の注力ポイント: エンパワーメントの拡大(scaling empowerment)とは?
6 1. より正確な分析を行い、ボイラーテンプレートを減らす 2. いくつかの糖衣構文を追加する 3. 非同期(async)周りの改善 4. dyn Traitを使いやすくする
1. 学習しやすくする: Flatten the (learning) curve
7 推論が強化されて省略できたり、新しいlet-else構文が追加されたりします https://github.com/rust-lang/rust/pull/93628
非同期周りの話は次のセッションをチェック! https://keens.github.io/pdf/tfcon.pdf
9 1. 機能のライフサイクルを管理しやすくする • RFC 3240: 標準化時の名前衝突を回避 2. より豊富な抽象化 3.
開発者体験のカスタム • エラーメッセージとかLinterのカスタマイズとか 4. 相互運用性 • エコシステム依存を減らすために存在型が拡張される予定 2. ライブラリ作成者を支援する: Help users help each other
10 より豊富な抽象化: impl Traitのtype aliasや非同期関数をtraitの中で定義できるようになる見通し
11 1. 文書化し、状態を一覧できるようにする 2. オーナーを明確にし、必要な部分で密なコミュニケーションをおこなう 3. オープンなプロセスをツールを効率的に使って改善 3. Rustに貢献しやすくする: Help
the Rust project scale
12 ダッシュボードを公開して見やすくしている
13 1. https://doc.rust-lang.org/edition-guide/editions/index.html 2. https://lang-team.rust-lang.org/roadmaps/roadmap- 2024.html 参考資料と宣伝 来週5/19開催 実務でRustを使うなかでのTipsを 紹介するイベントです。