Rubyのモジュールを足したり掛けたりするライブラリ、RubyTraits。
RubyTraitsはRubyのモジュールをTraitsのように振る舞うことができるようにするライブラリ。 +演算子によるモジュールの合成や、モジュールから特定のメソッドを取り除くことが 簡単にできる。
Ruby2.0に向けて、モジュールの働きを見直そうと考えているので、 このような試みとその与える影響については注意深く観察していきたい。
LispとEmacsの開発についての(Stallmanの)歴史。
なかなか直接昔話を聞く機会はないので、 このような一次資料は大変貴重である。 まだざっとしか読んでいないので、あとで一生懸命読むことにしたい。
プログラミング言語分類論。
プログラミング言語は大きく分けると3つに分割されるように思われる。
この場合の「緩い制御」とは、GCなどによっていちいち細かい制御をする必要がないと言うこと。 理論的には「強い制御」と「動的な型」という組み合わせもありえるが、 この二つはやや矛盾しそうなので除いている。
さて、このように分類すると各領域で成功できる言語はいくつかに限られるのではないだろうか。 ある言語が、同じ領域ですでに成功している言語を押しのけるのは難しい。
最近流行(?)の関数型言語であるが、 結局(2)の分野に分類されるので(筆者の意見では)成功しないかもしれない。
また、こういう観点から見るとGoogleがその使用する言語を C++, Java, Pythonに限定していることは、各領域から一つずつということで、 実は非常に合理的であることがわかる、という話。