«前の日記(2013年07月31日) 最新 次の日記(2019年05月31日)» 編集

Matzにっき


2014年12月22日 そろそろStreemについてひとこと言っとくか [長年日記]

久しぶりの更新

GitHubの <URL:http://github.com/matz/streem> を公開したら驚くべき反響の大きさなので、本人もびっくりしている。

ので、ここでちょっとまとめておく。

  • もともとは日経Linuxの自作言語入門の連載のネタ
  • 時系列的には2015年1月号で言語仕様を決めた(原稿提出は11月中旬)
  • 2015年2月号で実装について解説(原稿提出は12月初旬)
  • 2月号原稿には「github.com/matz/streemを参照のこと」と書いた
  • 提出したその日に1月号発売
  • 原稿提出後、原稿で解説した部分を実装し(300行程度)、githubにアップロード
  • だれかが見つける
  • hackernews, redditなどでバズる
  • github issues, pull requestなどいっぱいくる
  • 私が実装する前に Go で実装しちゃう人が出る (mattn/streeem)

自分でもなにを言っているのかと思うけど、雑誌という出版物と比較して、超スピードとかでは説明のつかないネットとOSSコミュニティのバズり方を見た思いがする。

一方、雑誌連載のサンプルであるStreemだが、言語仕様についてはパッとした思いつき、 というわけでもなくて、数カ月間、このような言語はあまりないし、実用的価値もありそうと思って作っている。

特徴

  • Streamモデルにより、高い抽象度でコンカレント処理が記述できる
  • マルチコアを活用できる(ように実装できたらいいなあ)
  • 関数型、オブジェクト指向、ストリームモデルの融合
  • 「Rubyとは違う言語設計アプローチ」の実践

雑誌の連載のネタだとはいえ、今後も開発をやめるつもりもないので、ほそぼそと進歩し続ける予定。

っていうか、現在 C でタスクスケジューリングを実装することの困難さに絶望しつつあるので、 マジで streeem を参考に Go で実装するかも。


«前の日記(2013年07月31日) 最新 次の日記(2019年05月31日)» 編集