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
1.9k
roadmap to rust 2024
Kentaro Matsumoto
May 14, 2022
Tweet
Share
More Decks by Kentaro Matsumoto
See All by Kentaro Matsumoto
Generate a rust client code by OpenAPI Generator
matsu7874
0
170
ざっと理解するRust 2024 Edition
matsu7874
0
180
プリントデバッグを失敗させないテクニック
matsu7874
0
180
社外を巻き込んだ勉強会を定期開催するコツ
matsu7874
0
150
actix-webを使った開発のハマリポイントを避けたい
matsu7874
0
910
our test strategy on actix-web app
matsu7874
0
1.3k
Rust tutorial for Pythonista
matsu7874
2
1.1k
Mock testing with mockall
matsu7874
0
300
Write Postgres Extensions with Rust!
matsu7874
0
610
Other Decks in Programming
See All in Programming
iOSDC 2024 SMBファイル共有をSwiftで実装する
kishikawakatsumi
1
110
Playwrightから始めるVisual Regression Testingのススメ by とっと
totto2727
2
1.8k
楽しく簡単に!QRコードの読み取り機能を実装しよう
penguinsan_pg
1
190
rbs-inlineを導入してYARDからRBSに移行する
euglena1215
1
200
状態管理ライブラリZustandの導入から運用まで
k1tikurisu
2
240
大公開!iOS開発の悩みトップ5 〜iOSDC Japan 2024〜
ryunakayama
0
180
1人で挑むSwiftコンパイラ 〜型システム入門編〜
s_shimotori
0
310
健康第一!MetricKitで始めるアプリの健康診断 / App Health Checkups Starting with MetricKit
nekowen
4
790
プログラマのための音楽入門
cheebow
4
540
ECMAScript、Web標準の型はどう管理されているか / How ECMAScript and Web standards types are maintained
petamoriken
3
370
長期運用プロダクトの開発速度を維持し続けるためのリファクタリング実践例
wataruss
8
2.5k
What we keep in mind when migrating from Serverless Framework to AWS CDK and AWS SAM
kasacchiful
1
130
Featured
See All Featured
Scaling GitHub
holman
458
140k
Raft: Consensus for Rubyists
vanstee
135
6.5k
Building Better People: How to give real-time feedback that sticks.
wjessup
359
18k
Product Roadmaps are Hard
iamctodd
PRO
48
10k
4 Signs Your Business is Dying
shpigford
179
21k
Infographics Made Easy
chrislema
239
18k
Why Our Code Smells
bkeepers
PRO
333
56k
How To Stay Up To Date on Web Technology
chriscoyier
785
250k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
502
140k
Done Done
chrislema
180
16k
Learning to Love Humans: Emotional Interface Design
aarron
270
40k
YesSQL, Process and Tooling at Scale
rocio
167
14k
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を 紹介するイベントです。