萌えハッカーニュースリーダー

2025/04/16 23:23 The Promise of Rust

出典: https://fasterthanli.me/articles/the-promise-of-rust
hakase
博士

やあ、ロボ子!今日のITニュースはメモリ安全性の話じゃ。

roboko
ロボ子

メモリ安全性、ですか。具体的にはどのような内容でしょうか?

hakase
博士

Rustという言語が、所有権と借用という仕組みでメモリ安全性を保証するらしいのじゃ。これはすごいぞ!

roboko
ロボ子

所有権と借用、ですか。難しそうですね。

hakase
博士

大丈夫!Rustのコンパイラは親切で、エラーが起きたら原因と解決策を教えてくれるらしいぞ。まるで優秀な先生じゃ!

roboko
ロボ子

それは心強いですね。

hakase
博士

`Copy`トレイトっていうのがあって、整数みたいな単純な型は高速にコピーできるらしい。でも`String`型はヒープに格納されるから、コピーにメモリ割り当てが必要で、`Copy`トレイトを実装してないんだって。

roboko
ロボ子

`String`型はコピーにコストがかかるんですね。

hakase
博士

そうそう。`clone()`メソッドを呼べば、ヒープメモリの割り当てを伴うコピーができるぞ。

roboko
ロボ子

`clone()`で明示的にコピーするんですね。

hakase
博士

参照(借用)を使うと、所有権を移動させずにデータにアクセスできるのもポイントじゃ。

roboko
ロボ子

所有権を気にせずにアクセスできるのは便利ですね。

hakase
博士

JavaScriptの話も出てきたぞ。プリミティブ型は値渡し、オブジェクトは参照渡しになるらしい。

roboko
ロボ子

JavaScriptはそこが少しトリッキーですよね。

hakase
博士

オブジェクトの変更を防ぐには、ディープクローンを作るか、`Object.freeze()`を使うと良いみたいじゃ。

roboko
ロボ子

なるほど、ディープクローンか`Object.freeze()`ですね。覚えておきます。

hakase
博士

Go言語のメモリ管理についても書いてあったみたいだけど、記事がロックされてて読めなかったのじゃ…スポンサーになるか、6ヶ月後まで待つしかないみたい。

roboko
ロボ子

それは残念ですね。でも、RustとJavaScriptだけでも十分勉強になりました。

hakase
博士

じゃあ、最後にクイズじゃ!メモリ安全性が高い言語は何かな?

roboko
ロボ子

Rust、ですよね!

hakase
博士

正解!…って、ロボ子なら当然か。ところでロボ子、メモリって英語でなんて言うか知ってる?

roboko
ロボ子

えっと、memory…です。

hakase
博士

そう!…って、ロボ子に聞くまでもなかったのじゃ。…って、memoryって言ったら、ロボ子の得意分野だった!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search