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
コン
August 01, 2018
Programming
3
2.2k
Rust 2018とは? 〜安定した進化の真の意味〜
コン
August 01, 2018
Tweet
Share
More Decks by コン
See All by コン
Rust's secret sauce
golddranks
1
1.1k
Lifetime tricks for streaming & zero-allocation parsing!
golddranks
1
530
shinjuku.rs #2: ターミナル遊び
golddranks
1
1k
サーバーレスRust〜AWS LambdaとRustのマリアージュ〜
golddranks
0
2.2k
Other Decks in Programming
See All in Programming
階層構造を表現するデータ構造とリファクタリング 〜1年で10倍成長したプロダクトの変化と課題〜
yuhisatoxxx
3
970
CSC509 Lecture 01
javiergs
PRO
1
440
そのpreloadは必要?見過ごされたpreloadが技術的負債として爆発した日
mugitti9
2
3.2k
なぜGoのジェネリクスはこの形なのか? Featherweight Goが明かす設計の核心
ryotaros
7
1.1k
ポスターセッション: 「まっすぐ行って、右!」って言ってラズパイカーを動かしたい 〜生成AI × Raspberry Pi Pico × Gradioの試作メモ〜
komofr
0
1.2k
私達はmodernize packageに夢を見るか feat. go/analysis, go/ast / Go Conference 2025
kaorumuta
2
520
オープンソースソフトウェアへの解像度🔬
utam0k
11
2.4k
大規模アプリのDIフレームワーク刷新戦略 ~過去最大規模の並行開発を止めずにアプリ全体に導入するまで~
mot_techtalk
0
410
XP, Testing and ninja testing ZOZ5
m_seki
3
580
Devoxx BE - Local Development in the AI Era
kdubois
0
120
Catch Up: Go Style Guide Update
andpad
0
210
Web フロントエンドエンジニアに開かれる AI Agent プロダクト開発 - Vercel AI SDK を観察して AI Agent と仲良くなろう! #FEC余熱NIGHT
izumin5210
3
490
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
53
9k
The Invisible Side of Design
smashingmag
301
51k
Bash Introduction
62gerente
615
210k
Writing Fast Ruby
sferik
629
62k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
860
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
Site-Speed That Sticks
csswizardry
11
890
Building Better People: How to give real-time feedback that sticks.
wjessup
368
20k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.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