Rubyのモジュールを足したり掛けたりするライブラリ、RubyTraits。
RubyTraitsはRubyのモジュールをTraitsのように振る舞うことができるようにするライブラリ。 +演算子によるモジュールの合成や、モジュールから特定のメソッドを取り除くことが 簡単にできる。
Ruby2.0に向けて、モジュールの働きを見直そうと考えているので、 このような試みとその与える影響については注意深く観察していきたい。
LispとEmacsの開発についての(Stallmanの)歴史。
なかなか直接昔話を聞く機会はないので、 このような一次資料は大変貴重である。 まだざっとしか読んでいないので、あとで一生懸命読むことにしたい。
プログラミング言語分類論。
プログラミング言語は大きく分けると3つに分割されるように思われる。
この場合の「緩い制御」とは、GCなどによっていちいち細かい制御をする必要がないと言うこと。 理論的には「強い制御」と「動的な型」という組み合わせもありえるが、 この二つはやや矛盾しそうなので除いている。
さて、このように分類すると各領域で成功できる言語はいくつかに限られるのではないだろうか。 ある言語が、同じ領域ですでに成功している言語を押しのけるのは難しい。
最近流行(?)の関数型言語であるが、 結局(2)の分野に分類されるので(筆者の意見では)成功しないかもしれない。
また、こういう観点から見るとGoogleがその使用する言語を C++, Java, Pythonに限定していることは、各領域から一つずつということで、 実は非常に合理的であることがわかる、という話。
This work is licensed under a Creative Commons License.
SQLやPrologではなく、アセンブラでもなく、<br>このあたりの言語に落ち着くのには、<br>何か秘密があるのでしょうね
エリック・レイモンドが「ハッカーになろう」の中で<br>最初にPython、次にJava、それからC/C++(とPerlとLisp)<br>と言語を上げているのも、そういった理由があったのかも?
「強い制御」と「動的な型」の言語ってどんなのがあるかなぁと、考えてみたところ、Objective-Cが思い当たりました。<br>まぁ、成功してるとは言えない言語ではありますけど。<br>でも、今度の2.0仕様だとGCが入ったらしいので、「緩い制御」に降格(?)ですかね。
降格だか昇格だかわかりませんが、その通りですね。<br>とはいえ、あれはあれでなかなか大変そうですが(GCの中身が)。