タグ

2023年9月17日のブックマーク (2件)

  • Rust の所有権システムが難しくて一度挫折したあの日の自分のためにわかりやすい読み物があるとよいと思ったのだ。 - Qiita

    はじめに Rust は良い言語です。 良い言語ですが学習コストが高いと言われており、実際に自分も適当にググりながら Rust を使ってみようとして一度挫折しました。 Rust の学習コストが高い理由は言語仕様で速度、並行性、安全性を保証していることに関係があります。 普通のプログラミング言語であれば適当に遅くて危険なコードを書いてもとりあえず実行することはできますが、Rust は遅かったり危険だったりする状態でコードが実行されないように厳しいルールを設けており適当に書いたコードはコンパイルすら通りません。 つまりは「他のプログラミング言語で安全で高速なコードを書けるようになるまでの学習コスト」と「Rust で普通のコードを書けるようになるまでの学習コスト」が同程度になるのではないかと個人的には感じており、適当にググって書くのは厳しいがオライリーの「プログラミング Rust」を読めば理解でき

    Rust の所有権システムが難しくて一度挫折したあの日の自分のためにわかりやすい読み物があるとよいと思ったのだ。 - Qiita
  • Rust はどのようにして安全な並列処理を提供するのか - Qiita

    はじめに 並列処理を安全かつ効率的に扱うことは、Rustの主な目標のひとつです。 並列処理といえば難しく不具合の起こりやすい危険なものというイメージがありますが、Rust はどのようにして安全な並列処理を提供しているのでしょうか。 (なお、ここでの安全とはデータ競合が発生しないことを指しています) 概要 Rust がどうやって安全な並列処理を提供しているのか、先に概要をまとめてみます。 Rust はスレッドをつかってコードを並列で実行します 所有権の制約によりスレッド間でのデータの共有が行われないことが保証されるためデータ競合が起こり得ず安全です スレッド同士のデータの共有をチャンネルというメッセージの送受信器を経由して行う場合、スレッド内のデータはそのスレッドからしか変更されることがないため安全です スレッド間で可変なオブジェクトを共有する場合、データ競合が発生しない仕組みを利用している

    Rust はどのようにして安全な並列処理を提供するのか - Qiita