『例えばInterfaceなどというものはJava以前には,まず存在しなかった』の意味は何なのか
ありえねえだろ。
例えばInterfaceなどというものはJava以前には,まず存在しなかった.
「難しい言語」の補足 - カレーなる辛口Javaな転職日記
と言っておきながら、
そもそも私は「Java(の開発者)がインターフェース(の概念及び機能)を一から発明した」とか「Javaの開発者がインターフェース(のアイデアも実装も)をすべて実現した」とか「それ以前にはインターフェースは(その類似機能も含めて)全く存在しなかった」などとは言っていませんよ.
元ネタ != 発明 - カレーなる辛口Javaな転職日記
これですよ。じゃあinterfaceの何がJava以前に存在しなかったと言いたかったのか。まったくもって分からん。これがはっきりしないと、話にならん。
釣りか?壮大な釣りなのか?
続きを読むプロトコルとインターフェースの比較
- プロトコルとインターフェースの比較
http://d.hatena.ne.jp/carver/20071202#p1
やっぱり両方を使っている人の意見は参考になる。
ただ、ここで指摘されている「interfaceとprotocolの違い」は、正確には「JavaとObjective-Cの違い」ではないだろうか。また指摘されている違いは、「interfaceとprotocolの本質的な違い」と言えるだろうか。
以下、詳細。
続きを読むInterface != Protocolという話
この方はちゃんとJavaとObjective-Cの両方を使っているようだ。だから言っていることにも頷ける。
そういう意味で、ProtocolとInterfaceは両方を使ってるプログラマとして「違う」と言わざるを得ない。ProtocolはObjective-Cという言語上は脇役で便宜上必要となった存在っぽいけど、Interfaceは「便宜上」ではなく言語としての思想にまで関連して導入されている感じがする。InterfaceはProtocolの考え方を主役にまで格上げした存在と言ったらいいのかな。
http://d.hatena.ne.jp/t_yano/20071202/1196601869
私はそういう点での違いを感じています。両方を使っているプログラマとしての率直な感想です。
これはまあ言っていることは分かる。ただ何が違うのかを明示してないのがちょっと残念。この文章ではたぶん「(言語における)重要度が違う」「立場が違う」と主張しているんだと思うんだけど、今問題なのは「機能が同じかどうか」たよね?「機能は同じだけど重要度が違う」ということなら納得。誰も文句はないと思う。もし「機能は同じだけど重要度が違うから違う機能」とか言い出したら、「機能は同じだけど目的が違うから違う機能」と言い放ったBlackなJava屋さんの同類。
Objective-CのProtocolというのはある意味「おまけ」なんですよね。リモート通信のために作り出された機構というか、必要悪というか、「ほんとうはこんなもの動的なObjective-Cにはないのが理想なんだけど仕方がない」という雰囲気が漂っているというか。Objective-Cの言語仕様の中心に位置していないというか。
http://d.hatena.ne.jp/t_yano/20071202/1196601869
Objective-Cをちゃんと使っていることがわかる文章。まったくその通りで、分散オブジェクトの導入がなければprotocolも実装されなかったと思う。Objective-Cのprotocolは、機能としては違えど目的はCORBAと同じなんだろう。
やっぱり使っている人の意見はいいね。ちゃんと的を得ている。使いもせず、資料を調べもせず、「違う機能だ」と言い張ってる某氏とはえらい違いだ。
で、JavaのinterfaceとObjective-Cのprotocolは、機能として何がどう違うの−?
JavaのinterfaceはObjective-Cがネタ元だとGosling自身が認めている件
Javaのinterfaceの起源が何なのかが話題(あるいは騒動)になっている。
- 世界最初の Interface を考案したのは Java ?
http://d.hatena.ne.jp/minekoa/20071125/1195991187
- 世界最初のXXXを考案したのは誰か?
http://d.hatena.ne.jp/JavaBlack/20071125/
http://d.hatena.ne.jp/sumim/20071126/p1
結論からいうと、Javaのinterfaceは、Objective-Cのprotocolがネタ元である。
続きを読む