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の好きな3つの点
Search
senk
February 25, 2021
Programming
0
130
Rustの好きな3つの点
RustLT会において発表したRustの好きなポイントについて語るLT資料です。
senk
February 25, 2021
Tweet
Share
Other Decks in Programming
See All in Programming
Apache Hive 4 on Treasure Data
ryukobayashi
0
350
Fragment Composition of GraphQL
quramy
7
1k
Random\Randomizer クラスで日常のあれこれを解決しよう! / Random\Randomizer class solves familiar trouble
cocoeyes02
0
250
Elm 0.19.0 Changes
bkuhlmann
0
490
Java 22 Overview
kishida
1
180
Tailwind CSSを本気でカスタマイズする方法
fsubal
14
5.3k
新宿ダンジョンを可視化してみた
satoshi7190
2
270
ONE WEDGE_company_guide
1wedge_one
0
490
"config" ってなんだ? / What is "config"?
okashoi
0
240
PostmanでAPIの動作確認が楽になった話
h455h1
0
170
Compose-View Interop in Practice (mDevCamp 2024)
stewemetal
0
140
はてなにおける CSS Modules、及び CSS Modules に足りないもの / CSS Modules in Hatena, and CSS Modules missing parts
mizdra
7
940
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
60
5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
20
1.9k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
19
1.7k
What's new in Ruby 2.0
geeforr
337
31k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.1k
Code Reviewing Like a Champion
maltzj
514
39k
10 Git Anti Patterns You Should be Aware of
lemiorhan
648
58k
jQuery: Nuts, Bolts and Bling
dougneiner
59
7.1k
Designing Experiences People Love
moore
136
23k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
7
1k
Robots, Beer and Maslow
schacon
PRO
155
7.9k
Fashionably flexible responsive web design (full day workshop)
malarkey
398
65k
Transcript
Rust LT3 senk
⾃⼰紹介 法政大学で暗号研究してるM1。 競技プログラミングや、Zenn・Qiitaで暗号関 連の記事書いています。 プログラミングの他、デザインとかイラストも 好きでやっている。 【Twitter】 @enkanakoi 【最近あったこと】 昨日、修論中間発表でした
Senk
テーマは… Rustを褒め称えるだけ
エラー処理 • とりあえず失敗する可能性があったら、 OptionやResultに包んでしまう。Nullを型レ ベルで扱えるのが強力すぎる。 配列外参照とオーバーフローを絶対に許せなくなった累積和 パーサーでand_thenとmapと…でメソッドチェーンする例 ポジティブに書ける!
cargo サブコマンドと組合わせることで • ビルド • 実⾏ • パッケージ管理 • ユニットテスト
が⾏えるのが凄すぎる…のにrustfixや cargo-edit、clippyで拡張できる贅沢さ。
とりあえず 全⾔語欲し い機能 cargo fmt 魔法のようにコードが整形される。 cargo add & rm
クレートが容易に管理できる。
トレイト implで追加していく書き方が好き(語彙力) その 多すぎる出来ることの例 • 型エイリアスにimpl出来る • 関連定数や関連関数をimpl出来る • トレイトオブジェクトによるポリモーフィズ
ム メソッドチェーン
その他 • 型の暗黙の変換がない • Sizedトレイトを実装していないと渡せ ない&返せない&束縛できない • 式ベース⾔語 • デフォルトで不変
• #[test]とcargo testで⼿軽にテスト!
まとめ • Cargo • エラー処理 • トレイト • テスト、パターンマッチ、 型変換、
etc …. パフォーマンスやスマートポインタによる メモリ管理もある最高の言語!!