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 2018とは? 〜安定した進化の真の意味〜
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
コン
August 01, 2018
Programming
2.2k
3
Share
Rust 2018とは? 〜安定した進化の真の意味〜
コン
August 01, 2018
More Decks by コン
See All by コン
Rust's secret sauce
golddranks
1
1.2k
Lifetime tricks for streaming & zero-allocation parsing!
golddranks
1
550
shinjuku.rs #2: ターミナル遊び
golddranks
1
1k
サーバーレスRust〜AWS LambdaとRustのマリアージュ〜
golddranks
0
2.2k
Other Decks in Programming
See All in Programming
Symfony + NelmioApiDocBundle を使った スキーマ駆動開発 / Schema Driven Development with NelmioApiDocBundle
okashoi
0
260
安いハードウェアでVulkan
fadis
1
870
存在論的プログラミング: 時間と存在を記述する
koriym
5
750
Mastering Event Sourcing: Your Parents Holidayed in Yugoslavia
super_marek
0
130
LM Linkで(非力な!)ノートPCでローカルLLM
seosoft
0
330
ロボットのための工場に灯りは要らない
watany
12
3.3k
PHPで TLSのプロトコルを実装してみるをもう一度しゃべりたい
higaki_program
0
140
Kubernetesでセルフホストが簡単なNewSQLを求めて / Seeking a NewSQL Database That's Simple to Self-Host on Kubernetes
nnaka2992
0
190
AI-DLC 入門 〜AIコーディングの本質は「コード」ではなく「構造」〜 / Introduction to AI-DLC: The Essence of AI Coding Is Not “Code” but “Structure”
seike460
PRO
0
170
脱 雰囲気実装!AgentCoreを良い感じにWEBアプリケーションに組み込むために
takuyay0ne
3
430
Nuxt Server Components
wattanx
0
230
Redox OS でのネームスペース管理と chroot の実現
isanethen
0
500
Featured
See All Featured
Being A Developer After 40
akosma
91
590k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
290
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
How to Think Like a Performance Engineer
csswizardry
28
2.5k
How to Talk to Developers About Accessibility
jct
2
170
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
140
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
190
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
250
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
Transcript
RUST 2018とは? 〜 安定した進化の真の意味 〜 コンティオ プル @GolDDranks
Rustのブログのバズワードを解読しよう!
「Stability as a Deliverable」 商品化された安定性? パッケージされた安定性? 保証された安定性?
「Stability as a Deliverable」 安定性も我々が提供している機能の内の一つ
「Stability without Stagnation」 マンネリ化をせずに! とどまらずに! 常に進化していく! でも、安定性を保つ
コンパイラの更新をさり気なく ◦更新が無難なほど、 みんなが新しいバージョンに移動してくれる ◦みんなが早く新しいバージョンに 移動してくれたら新規機能を早く ◦開発していける ◦エコシステムで導入できる
どうやって? ◦一ヶ月半ごとに、新リリース! → 新機能を焦らずに。(また次があるから) ◦機能を追加しても交換性を絶対に保証する! ◦Craterというツールで全エコシステムを検査
このやり方だと、限りがある ① tryというキーワードを追加するとしよう → tryという変数名や関数名が壊れてしまう ② 言語がだんだん進化していっても、 全体像がわかりにくい
交換性を守りながら、なんとかしたい! ◦じゃー、言語の基礎的な仕組みを変えなくても、 表面的にシンタックスだけ変えれば?
「RUST 2018」へ
Rust 2018(2018/12/6、v1.31) ◦Cargo.tomlで「edition = ‘2018’」設定すれば使える ◦一番重要なこととして、「Rust 2015」と交換性が100% ◦依存しても、依存されても、 Rust 2015と2018を混ぜてリンクすることが出来る
◦cargo fixで自動的なコードマイグレーション
何が違うのか? ◦https://rust-lang-nursery.github.io/edition-guide/ を参考に!
何が違うのか? ◦主な変更 ◦モジュールシステムの簡単化 ◦async / await(非同期IOのシンタックス) ◦ライフタイムの簡単化(Non lexical lifetimes) ◦Trait
objectとTraitを明示的に区別する(dyn Trait)
「Rustはこんなに進化してきたか!」 と人に気づかせるのもポイント!
進化していくからエキサイティング! でも交換性があるから実用的。
ご清聴ありがとうございました 詳細はhttps://rust-lang- nursery.github.io/edition-guide/まで Twitter: @GolDDranks