タグ

ブックマーク / blog-dry.com (2)

  • Scalaのtrait、Rustのtrait、そしてScalaのimplicit - Don't Repeat Yourself

    Scala の trait と Rust の trait は微妙に使い方が異なる、とよく質問を受けます。たしかに、使い心地は微妙に異なるかもしれません。Scala はオブジェクト指向を中心に設計された言語ですが、Rust はそれを中心に設計されているとは言えません*1。こういった言語設計の差が、trait の使い心地の違いを生み出していると私は思っています。 両者の trait には、共通した特徴もあります。共通した処理をまとめあげるという意味では同じ目的をもっているといえますし、また、「犬は動物である」「は動物である」の共通性を示すことで、共通したものをひとまとめに処理しきることもまた可能です。 Scala には implicit という強力な機能が存在します。これは柔軟でスケーラブルなソフトウェアデザインを可能にする Scala の特徴のひとつです。非常にすばらしい機能です。この機能

    Scalaのtrait、Rustのtrait、そしてScalaのimplicit - Don't Repeat Yourself
  • nix によるシステムプログラミング - Don't Repeat Yourself

    これは、Rustその2 Advent Calendar 2017 23日目の記事です。 Rust はシステムプログラミング言語なので当然ですが、システムプログラミングができます。が、この話題に関して探してみると思った以上に日語文献が少ないなと思ったので、今後の Rust の普及のためにもシステムプログラミング観点からの記事を残しておきます。[*1] ご存知の方も多いかとは思いますが、改めて、今回は nix というライブラリを使って、 システムコールの fork、 wait、 exec を呼び出す簡単なプログラムを書きます。 更新情報 2021-06-06: nix のバージョン 0.19.0 より fork は unsafe 関数となっていることを確認しました。せっかくなので、現時点のバージョンである 0.21.0 を使用し、改めて fork-exec のコード部分を書き換えておきました

    nix によるシステムプログラミング - Don't Repeat Yourself
    System
    System 2019/08/23
  • 1