タグ

ブックマーク / lethevert.hatenadiary.org (3)

  • 結論:結局、Javaはクロージャを使えるの? - lethevert is a programmer

    【追記 2008/7/2】とても昔のClosureについて書いた記事が注目を集めてしまったみたいですが、ぜひ、もっと後で書いた次の記事とその関連スレッドの方も確認してみてください。このときよりも、もう少し事情が分かってから書いたものなので、より正確に状況を理解できると思います。それに、私自身、この言葉にはまだ混乱しています・・・ http://d.hatena.ne.jp/lethevert/20070524/p2 - という問いに対して、そろそろ私の結論を整理しておきます。 これは、将来の自分に対する参照の便のための整理です。 前提知識 前提知識として、こちらの内容を読んで理解しておきます。 Closure (computer programming) - Wikipedia [id:lethevert:20060119:p1] [id:lethevert:20060121:p2] また

    結論:結局、Javaはクロージャを使えるの? - lethevert is a programmer
  • Java: ダイナミックプロキシ - lethevert is a programmer

    スクリプト言語の方面からは不評なJavaですが、その1つにはリフレクションが使いにくいとかいうのがあるそうです。 そういうことは、ダイナミックプロキシのことを知ってから言うのも悪くないと思うので、簡単な紹介を。 http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/reflection/proxy.html この機能を使えば、smalltalkの#doesNotUnderstandやrubyのmethod_missingのような機能が(インターフェースを宣言しなければならないという制限はあるものの)実現できます。 たとえば、次のようにすることで、インターフェースを引数に渡すと、呼び出されたメソッドのメソッド名を標準出力に出力するだけのオブジェクトを生成して返します。この例では、java.sql.Connectionのオブジェクトを作って、適当にメソ

    Java: ダイナミックプロキシ - lethevert is a programmer
    twainy
    twainy 2007/08/26
    ダイナミックプロキシについて。Javaにmethod_missingがあっても動的にメソッドが追加されないから意味ないような?
  • 純粋関数型言語とO/R mapper - lethevert is a programmer

    DBアクセスをサポートする現代的なプログラミング言語には、O/R mapperが欠かせないような気がするのだけれど、当にそうでしょうか? なんて書く以上は、そうではないことを考えているのですけれど。 そもそも、何故O/R mapperというものが存在するかといえば、SQLとオブジェクト指向言語の親和性があまりにも低くて、SQLの構造に依存したドライバの類がことごとく使いにくいために、言語の特性に近いインターフェースのライブラリで、その部分を上手く隠してやりたいという欲求から出たものではないかと思っているのですが。。。(もうちょっと考えると、オブジェクト指向言語の手続き型的な側面が、SQLとの親和性を低くしているので、言語のオブジェクト指向的なところを上手く使って宣言的な記述に近づけたライブラリが、O/R mapperの意味なのではないかという風な仮説を立ててみたりしているのですが) で、

    純粋関数型言語とO/R mapper - lethevert is a programmer
    twainy
    twainy 2006/09/02
    レコードの遅延リストが得られるライブラリがあれば関数型言語ならORマッピング不要。
  • 1