Java : Generics

昨日の記事(http://d.hatena.ne.jp/lethevert/20080505/p3)に反応が

とりあえず、自分の記事に補足ですが、単純な実装というのは、簡単な実装という意味ではなかったつもりです。あと、実装というのは理論を具体的なプログラミング言語として「実装」というニュアンスで、言語仕様を具体的なソフトウェアに「実装」というニュアンスではなかったつもりです。なんか、誤解を招きそう(招いても構わないですが)だったので。
erasureの結果が同じになるとオーバーロードできない件は、型パラメータはオーバーロードで区別されない(型名だけが区別される)と思えばそんなに変でもないというか。Cleanでも似たような制限が何かであったような。
型からプログラムを生成する」や「Finger Trees」のようなプログラムを書いた感じでも、JavaGenericsは非常に素直だという印象だったですよ。「Finger Trees(D言語での実装)」によれば、「Javaは便利」だという話ですし。

      • -

JavaGenericsが複雑と感じる人は、そもそもパラメータ多相という概念そのものを使いこなせていないだけなんじゃないかなー。
使いこなせていない人にとっては、なくてもいいものだし無駄に複雑にしているものだと思うけど、使いこなしている人にとっては、ないと落ち着かないものになるんじゃない?パラメータ多相に限らずね。