路傍のプログラマ

只のプログラマが綴る愚痴と備忘録

Pythonにgenericsって何故

2007-09-30 11:41:19 | プログラミング
IronPythonについて調べていうるうちに、IronPythonが汎用型(genrics)をサポートしていることが分かりました。

いや、分かったとたん、目の前に「?」マークがざーっと並びましたとも。

CPythonにはなかったはず。
型チェックに無頓着なPythonになぜgenericsが?
Genericsを使うとパフォーマンスでも上がるのか?
デコレータ「@」との関係は?

いろいろサンプルを見るうちに、.NETのCLRのサポートのために必要らしい(つまり、ArrayList<String>を期待してるメソッドを呼び出すときに、それを作れるようにする)、というところまでは想像ついたのですが・・・

結局のところ、「?」たちには答えが出ず。

メーリングリストで中の人が書いた「[IronPython] Generics support in IronPython」
http://lists.ironpython.com/pipermail/users-ironpython.com/2005-April/000400.html
より。

「There are still many open design questions about how generics and a
dynamic language can best work together, but most of the obvious things
just work in IronPython today.」

というのが答えといえば答えらしい。

要は、「言語デザインとしては疑問もあるけど、とにかく動く」ということで、まあ正直、そんなところなのかも。