SlideShare une entreprise Scribd logo
1  sur  11
Rustの最初の難関を
超えるための第一の技改メ型
Moonmile Solutions 増田 智明
Microsoft MVP for Development Technologies
アジェンダ
1. Rustの立ち位置
2. 束縛
3. ムーブセマンティック
4. コンパイルエラーは友達
5. 発展
Rustの立ち位置
 C++の後継
 CPUに近い位置にある
 たぶん、class よりも trait
 struct/impl を使う
 PHP に trait がある
Rustの立ち位置
C++ Rust
束縛(bind)
 関数型プログラミングの特徴
 できるだけ変数を固定化する
 並列、複数スレッドに有利
束縛(bind)
ムーブセマンティック(move,所有権)
 「ポインタ」の所有権を持つ
 メモリを複製しない
 同じものを複数持たない
ムーブセマンティック(move,所有権)
コンパイルエラーは友達
 Rustは「正しく書く」のが難しい
 必ずコンパイルエラーになる
 所有権の問題がバックにあるので、これがコードで見え
ないため
 動き(メモリ配置)を想像しないといけない。
 よって「平易な書き方」に努める。実直な書き方がベター
 複雑なコンパイルエラーを取り除くよりも、1手ずつ進んで
 簡単なコンパイルエラーを取り除く方が効率がよい
発展
 Cライブラリを呼び出すときの壁
既存ライブラリはポインタから逃れられない
ライフタイム
 クレートの壁
バージョンが v0.x から逃れられない
参考文献
 The Rust Programming Language
https://doc.rust-jp.rs/book/second-edition/
 std – Rust(リファレンス)
https://doc.rust-lang.org/std/
 Rust By Example 日本語版
https://doc.rust-jp.rs/rust-by-example-ja/
 日経 Rust 入門サンプルプログラム
https://github.com/moonmile/rust-sample

Contenu connexe

Similaire à Rustの最初の難関を超えるための第一の技

Rubyとプログラミング言語の潮流
Rubyとプログラミング言語の潮流Rubyとプログラミング言語の潮流
Rubyとプログラミング言語の潮流Kazuhiko Kato
 
Start!! Ruby
Start!! RubyStart!! Ruby
Start!! Rubymitim
 
Metasploitでペネトレーションテスト
MetasploitでペネトレーションテストMetasploitでペネトレーションテスト
Metasploitでペネトレーションテストsuper_a1ice
 
括弧への異常な愛情 または私は如何にして心配するのを止めてCommon Lispを愛するようになったか
括弧への異常な愛情 または私は如何にして心配するのを止めてCommon Lispを愛するようになったか括弧への異常な愛情 または私は如何にして心配するのを止めてCommon Lispを愛するようになったか
括弧への異常な愛情 または私は如何にして心配するのを止めてCommon Lispを愛するようになったかm2ym
 
Web技術勉強会 第33回
Web技術勉強会 第33回Web技術勉強会 第33回
Web技術勉強会 第33回龍一 田中
 
第一回 社内勉強会 PHP Application Security Checklist に学ぶ PHP セキュリティ (Excerpt)
第一回 社内勉強会 PHP Application Security Checklist に学ぶ PHP セキュリティ (Excerpt)第一回 社内勉強会 PHP Application Security Checklist に学ぶ PHP セキュリティ (Excerpt)
第一回 社内勉強会 PHP Application Security Checklist に学ぶ PHP セキュリティ (Excerpt)Yuya Takeyama
 
Realmについて
RealmについてRealmについて
RealmについてYuki Asano
 
JavaScript.Next Returns
JavaScript.Next ReturnsJavaScript.Next Returns
JavaScript.Next Returnsdynamis
 
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~Preferred Networks
 

Similaire à Rustの最初の難関を超えるための第一の技 (10)

Rubyとプログラミング言語の潮流
Rubyとプログラミング言語の潮流Rubyとプログラミング言語の潮流
Rubyとプログラミング言語の潮流
 
Start!! Ruby
Start!! RubyStart!! Ruby
Start!! Ruby
 
Metasploitでペネトレーションテスト
MetasploitでペネトレーションテストMetasploitでペネトレーションテスト
Metasploitでペネトレーションテスト
 
括弧への異常な愛情 または私は如何にして心配するのを止めてCommon Lispを愛するようになったか
括弧への異常な愛情 または私は如何にして心配するのを止めてCommon Lispを愛するようになったか括弧への異常な愛情 または私は如何にして心配するのを止めてCommon Lispを愛するようになったか
括弧への異常な愛情 または私は如何にして心配するのを止めてCommon Lispを愛するようになったか
 
Web技術勉強会 第33回
Web技術勉強会 第33回Web技術勉強会 第33回
Web技術勉強会 第33回
 
第一回 社内勉強会 PHP Application Security Checklist に学ぶ PHP セキュリティ (Excerpt)
第一回 社内勉強会 PHP Application Security Checklist に学ぶ PHP セキュリティ (Excerpt)第一回 社内勉強会 PHP Application Security Checklist に学ぶ PHP セキュリティ (Excerpt)
第一回 社内勉強会 PHP Application Security Checklist に学ぶ PHP セキュリティ (Excerpt)
 
Debian emdebian 20100817
Debian emdebian 20100817Debian emdebian 20100817
Debian emdebian 20100817
 
Realmについて
RealmについてRealmについて
Realmについて
 
JavaScript.Next Returns
JavaScript.Next ReturnsJavaScript.Next Returns
JavaScript.Next Returns
 
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~
PFIセミナーH271022 ~コマンドを叩いて遊ぶ コンテナ仮想、その裏側~
 

Rustの最初の難関を超えるための第一の技