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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
コン
August 01, 2018
Programming
2.3k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
560
shinjuku.rs #2: ターミナル遊び
golddranks
1
1.1k
サーバーレスRust〜AWS LambdaとRustのマリアージュ〜
golddranks
0
2.3k
Other Decks in Programming
See All in Programming
ソフトウェアラスタライザ
fadis
0
160
引き算の組織 ― アウトカムとAIに全振りするために辞めたこと ― / Organization by Subtraction
hirokiyamamoto14
PRO
0
260
【デモ】Kiroで体験する仕様駆動開発|設計からコーディングまでAIと進める開発フロー
cmkudo
0
280
MySQLとPostgreSQLって何が違うの?
akagami
0
120
ここ半年くらいでAIに作らせたR用ツール
eitsupi
0
390
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
440
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
210
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
220
Dockerfile CMD for Node.js
grazie1999
0
110
まずはプロンプトガイドを読もう、話はそれからだ
kiakiraki
1
160
【QA Test Talk Vol.8】AI-DLC による Whole Team Approach の加速
pkshadeck
PRO
0
220
20260722_microCMSで考える、AI時代のコンテンツ運用設計
yosh1
0
440
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
250
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Un-Boring Meetings
codingconduct
0
390
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
430
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
57k
Paper Plane (Part 1)
katiecoart
PRO
1
10k
Optimising Largest Contentful Paint
csswizardry
37
3.9k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.7k
Amusing Abliteration
ianozsvald
1
260
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
280
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