interface

なんだか話が変な方向に。
しかし、Java の interface ってそんなに特別か?概念としては既存のもので機能的に優れていただけだと思うけどなぁ。ていうか、みずしまさんがポインタを示しているように、遅くとも Sather が 1993 年にはその概念を実装、文書化していたという話でいいんでないの?歴史や設計思想云々というより、単にどういう概念だったかという話だと思うのだが。
適当なことを書くと、もともと C++ などでは継承は互換インターフェースの宣言という意味での型継承(インターフェース継承)と、実装をまるまる引き継いで差分プログラミングを行う実装継承が一緒くたになっていたわけね。で、多重継承を行うと継承された実装が衝突する場合があってその場合にいろいろややこしかったりするから Java では実装を多重継承することを禁止して、純粋なインターフェースの実装宣言を行うための interface を導入したというのが歴史じゃないかなぁ。
要するに、機能としてはいいものだけど概念としては別に新しいものなんてなにも無かった、というのが適切なオチではないかと。