Open1

Rustについて - 1-

a-cafea-cafe

Rustはグレイドン・ホワレ(Mozilla)によって始められたオープンソースのプログラミング言語。2006年に開発がスタート、2015年にVersion1がリリースされる。
Rustの名前は、さび菌(Rust fungi)に由来する。さび菌はとても丈夫な菌類であることからこの名前を取ったとしている。

C \C++はベアメタル(OSを介さず直接ハードウエアを操作する)なコードを書くために使われてきている。OSのカーネルはC言語で書かれている。
C \C++の長所は、プログラムが高速に動作すること。C \C++の短所はメモリにデータを書き込む、データを消去してそのメモリ領域を解放するタイミングをプログラマーが判断する必要がある。消し忘れやタイミングを間違えると、クラッシュすることがある。また、メモリ管理が適切に行われていないと、攻撃者の入り口を用意することになる。

Reference:
世界で最も愛されるプログラミング言語Rust誕生秘話
https://www.technologyreview.jp/s/306125/how-rust-went-from-a-side-project-to-the-worlds-most-loved-programming-language/

特徴
・メモリ安全性
・リソースと所有者は所有者は1対1の関係
・GC不要
  ・オブジェクトを所有する変数は1つ、変数が消滅するとオブジェクトも消滅する
  ・「オブジェクトの破棄タイミングが分からない、コントロールできない」問題はないことになる)
・コンパイラ: ネイティブコンパイル<=LLVM向け中間コード→CPUが直接実行可能なバイナリーへ
・標準でマルチスレッド対応=>スレッドセーフを保証
・自動テスト
・モジュールシステム プロジェクトの階層化、分割管理
・パッケージマネージャーCargo
・マルチパラダイムなプログラミング言語

用語
・ダングリングポインタ
・メモリリーク
・ボローチェッカー メモリなどのリソースの所有者とリソースの生存機関の静的解析をする仕組み

cargo-script

Polonius