ジェネレータとジェネリクス

プロパティ構文なんていらないから、中途半端なJavaジェネリクスをなんとかしてほしいな。

私は恥ずかしながら.NETで初めてジェネリクスを使ったのだが、最初はパラメタライズされた型というのがなんとも解らなかったが、慣れるとこれほど便利なものもない。

型パラメタが違うだけの型がそれぞれが全く違う型だというのも便利だ。前にも書いたが型パラメタが違うだけのジェネリクス型が違う型ということは、引数として与える型とジェネリクスを使って動的に別な型を作れるということなのだ。

Javaフレームワークでは型を動的に生成する手段としてcgiibjavassist等のコードジェネレータを使うことが多いが、.NETの場合、そのうちのいくつかのケースはジェネリクスで実現できる。
同じ目的でジェネレータとジェネリクスのどちらを選ぶかを考えれば、私は可読性の点でジェネリクスに軍配を上げるだろう。