«前の日記(2007-10-14) 最新 次の日記(2007-10-16)» 編集

Matzにっき

迷惑メール対策なら Dr.WEB
『Dr.WEB メールデーモン』、MTA 用迷惑メール対策製品です!


2007-10-15 [長年日記]

_ [Ruby] RubyForge: RubyTraits: Project Info

Rubyのモジュールを足したり掛けたりするライブラリ、RubyTraits。

RubyTraitsはRubyのモジュールをTraitsのように振る舞うことができるようにするライブラリ。 +演算子によるモジュールの合成や、モジュールから特定のメソッドを取り除くことが 簡単にできる。

Ruby2.0に向けて、モジュールの働きを見直そうと考えているので、 このような試みとその与える影響については注意深く観察していきたい。

_ [OSS] My Lisp Experiences and the Development of GNU Emacs - GNU Project - Free Software Foundation (FSF)

LispとEmacsの開発についての(Stallmanの)歴史。

なかなか直接昔話を聞く機会はないので、 このような一次資料は大変貴重である。 まだざっとしか読んでいないので、あとで一生懸命読むことにしたい。

_ [言語] Chris's Wiki :: blog/programming/LanguageNiches

プログラミング言語分類論。

プログラミング言語は大きく分けると3つに分割されるように思われる。

  1. 強い制御と静的な型。C, C++
  2. 緩い制御と静的な型。Java, C#
  3. 緩い制御と動的な型。Python, Ruby

この場合の「緩い制御」とは、GCなどによっていちいち細かい制御をする必要がないと言うこと。 理論的には「強い制御」と「動的な型」という組み合わせもありえるが、 この二つはやや矛盾しそうなので除いている。

さて、このように分類すると各領域で成功できる言語はいくつかに限られるのではないだろうか。 ある言語が、同じ領域ですでに成功している言語を押しのけるのは難しい。

最近流行(?)の関数型言語であるが、 結局(2)の分野に分類されるので(筆者の意見では)成功しないかもしれない。

また、こういう観点から見るとGoogleがその使用する言語を C++, Java, Pythonに限定していることは、各領域から一つずつということで、 実は非常に合理的であることがわかる、という話。

本日のツッコミ(全4件) [ツッコミを入れる]
_ t.y. (2007-11-05 06:20)

SQLやPrologではなく、アセンブラでもなく、<br>このあたりの言語に落ち着くのには、<br>何か秘密があるのでしょうね

_ mizuno (2007-11-05 10:13)

エリック・レイモンドが「ハッカーになろう」の中で<br>最初にPython、次にJava、それからC/C++(とPerlとLisp)<br>と言語を上げているのも、そういった理由があったのかも?

_ M.Suzuki (2007-11-05 16:29)

「強い制御」と「動的な型」の言語ってどんなのがあるかなぁと、考えてみたところ、Objective-Cが思い当たりました。<br>まぁ、成功してるとは言えない言語ではありますけど。<br>でも、今度の2.0仕様だとGCが入ったらしいので、「緩い制御」に降格(?)ですかね。

_ まつもと (2007-11-05 16:42)

降格だか昇格だかわかりませんが、その通りですね。<br>とはいえ、あれはあれでなかなか大変そうですが(GCの中身が)。

お名前:
E-mail:
コメント:
[]

«前の日記(2007-10-14) 最新 次の日記(2007-10-16)» 編集

track feed Matzにっき Creative Commons License This work is licensed under a Creative Commons License.