2012-05-04

ADLはKoenigの発明ではなかった

A Personal Note About Argument-Dependent Lookup | Dr Dobb's

先週の記事のコメントで、C++のArgument Dependent Lookupはよく、"Koenig lookup"と呼ばれていると書いてあった。実際、現時点(2012年5月1日)でのWikipediaでも、私が発明したと書いてある。私は発明していない。残念ながら、誰が発明したのか私は知らない。だから、誰が名誉を受けるべきなのか、あるいは非難されるべきなのかもわからない。私の名前がArgument Dependent lookupに関連付けられているのは、私が発明したわけではないものの、私は当時、名前空間の導入が、ADLか何かの機能を必要とする問題を持ち込むだろうと認識していたからだ。

[中略:ADLが必要な問題例についての解説]

だが、記事の冒頭でいったように、この問題を解決したのは私ではない。他の誰かだ。誰だったのかは覚えていない。おそらく、Usenetのcomp.lang.c++ニュースグループでの議論の中だったと思う。私が考えたのは、この問題例である。これにより、名前空間の導入は問題を起こす、これはC++標準規格が制定されるまでに、何らかの方法で解決しなければならないと、標準委員会を説得できた。当時、時間がおしていて、ある解決方法があった。そして誰も、より良い解決方法を思いつかなかったのだ。

後の話は、よく言われるように、昔の話さ。

なんと、D&EにすらKoenig lookupと書かれているのにも関わらず、Koenigの発明ではなかったのか。

No comments: