Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

Rustはトレイト(ScalaのトレイトやHaskellの型クラスのようなもの)に基づく安全で強力な型システム、並行計算、高速な実行などを売りにした新しい言語であるが、他のメジャーな言語にはない特徴として、メモリの管理を静的にチェックする機構を持っていて、デフォルトでデータをスタックに置くことでガベージコレクションを使わないプログラムを書ける。だがこの静的メモリ管理の仕組みがなかなか理解するのが難しい。(個人的な印象。以前に何回か挫折した。) 具体的には、所有権(ownership)、参照による借用(borrowing)、参照の寿命(lifetime)、可変性(mutability)といった概念で、Rustの鬼門だと思われる。 基本的には公式ドキュメントに書いてあることであるが、自分が理解するためという目的もあり、所有権、借用、可変性について以下にまとめてみる。 所有権(ownership
Rust(http://www.rust-lang.org/)というMozillaが開発している言語に興味を持っている。マルチコアを生かす次世代のブラウザエンジンであるServoの開発に使われている。 実行速度重視の、静的型付けのマルチパラダイム言語。 Actorモデルに基づいた並列計算。 Haskellの型クラスのようなオープンなtrait(Javaのインターフェイスのようなものだが、型を定義した後にtraitを外から足せる)に基づく簡潔なOOP。 バイナリ(構造体のメモリ配置、関数の呼び出し)がC互換。OOPも構造体のデータ定義とメソッドを定義が分離した形になっている。 安全性を保ちつつ、パフォーマンスを落とさないポインタ操作。ポインタに&@~と異なる修飾子をつけることで扱いが変わり、グローバルなGCに頼らず静的にヒープオブジェクトの寿命チェックができる(ここのところはちょっと難しいの
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く