タグ

2017年3月1日のブックマーク (2件)

  • Rustは何が新しいのか(基本的な言語機能の紹介) - いもす研

    Rust は、Firefox を開発する Mozilla が開発し、次世代ブラウザの開発に使っているプログラミング言語です。借用検査という概念を導入することによりメモリ安全およびデータ競合安全をコンパイラが保証する言語であり、2015年中頃の安定版のリリースあたりから次第に注目を集めるようになりました。 メモリ安全とは、メモリの範囲外アクセスや二重解放、ヌル参照、未初期化領域へのアクセスがない状態を表します。ただし、Rust の言うメモリ安全とは、メモリリークをしないことを保証するものではありません。 データ競合安全とは、あるひとつのオブジェクトに対しての読み込みおよび書き込みのが同時に起き結果が不定になる状態にならないことを表します。競合状態とは異なります。 無名関数という概念を様々な言語が次々と導入したように、プログラミング言語は相互に影響を及ぼし徐々に変化しています。Rust は「寿

    hiroyukim
    hiroyukim 2017/03/01
  • Rustのモジュールの使い方 | κeenのHappy Hacκing Blog

    κeenです。たまにRustのモジュールが分かりづらいとの声を聞くので解説しますね。 ※ 2018版 も書きました。恐らくこちらの方が求める情報と思います。 とりあえずサンプルプロジェクトを作ります。 $ cargo new module エラいのは lib.rs と main.rs モジュールの話をする前にクレートの話をしないといけません。 クレートはRustのプログラムの一番大きな単位です。 大きく分けてライブラリを作るlibクレートと実行可能ファイルを作るbinクレートがあります。 libクレートならばlib.rsが、binクレートならばmain.rsがルートにあたるファイルです。ここから辿れるモジュールが全てです。プロジェクトにファイルが存在していてもこれらから辿れなかったらコンパイルされません。 モジュールの作り方は3種類 ファイルの中にインラインで作る 1ファイルで作る 1ディ

    Rustのモジュールの使い方 | κeenのHappy Hacκing Blog