Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Rustは厳しいが役に立つ Part1「Rustの概要」

Rustは厳しいが役に立つ Part1「Rustの概要」

More Decks by NearMeの技術発表資料です

Other Decks in Programming

Transcript

  1. 2 What is Rust? • 公式サイトより → 「効率的で信頼できるソフトウェアを誰もがつくれる言語」 • 細かい文法

    → 公式サイトで学びましょう。(手っ取り早くは...) → 私の会の2回目以降で、文法を随時扱います。 • Rustの3つの特徴 ◦ パフォーマンス ◦ 信頼性 ◦ 生産性 出典:https://rustacean.net/
  2. 3 パフォーマンス パフォーマンスのため”ランタイム”を軽量にしています。 • ガベージコレクション Garbage collectionがない → 直訳は「ゴミ拾い」 →

    動的に確保したメモリ領域で、不要になったものを自動的に解放する → メモリが不要かどうかを実行時に探すため、パフォーマンスに影響する • 非同期処理にはライブラリが必要 → 様々な非同期ランタイムのライブラリが存在
  3. 6 信頼性 -変数の所有者- スコープ内の変数は、スコープ外で利用することができません。 Ex) 変数 a に、数値を格納する(“{}”で囲まれた部分がスコープ) 1. 変数

    a をスコープ内で定義する。 2. スコープ外で a を標準出力させようとするが、 エラーが発生した。 → a はスコープ内で定義されているので、   スコープ外で利用するとエラーが発生します。 ※ for ループや if 文でも、同じようにスコープの   概念があります。
  4. 9 信頼性 -変数の借用と参照- • 変数 string2 が string1 を参照 →

    “&”を用いて、参照をおこないます。 • 参照自体は len や capacity の情報を もたない → 参照をしているだけであるので、実際に 参照されている変数が、詳細の情報をも   ちます。 以下の参考リンクを元に作成 https://doc.rust-jp.rs/book-ja/ch04-02-references-and- borrowing.html