村山です.
> 今までの議論を読んでて、ふと
> 「once write、 run anywhere」という言葉を思い出しました。
#たしか"Write Once, Run Anywhere.",WORAでしたよね.
> このアイデアを思いついた人が、
> 実装のことを考えていたかどうか知りませんが、、、
これに類するアイデアは,Javaより遙か以前,
ず〜〜〜〜〜〜〜〜〜っと昔からありました.
> 実装を考えている->現実的な設計
> 理想を具現化してる->理想的な設計
> というべきでしょうか
ここでいう「理想を具現化」ってのは,どういう意味ですか?
あまりにも曖昧で,どうとでも取れる言葉です.
Javaの仕様がWORAという「理想を具現化したもの」ではありますが,
これは同時に「実装を考えているもの」でもあります.
これが,もし「実装を考えていないもの」であれば単なる机上の空論に
過ぎず,失敗作の一つとして歴史の中へ埋もれていったことでしょう.
> でも「現実的でない」という理由で理想論を切り捨てていったら
> 進歩がなくなると思うんですよね。
>
> もちろん理想が理想のままでは
> それは「空絵事」になってしまいますが、、、
WORAの考え自体は昔からあったものです.それをVMやOS,高級言語のような
抽象的なレイヤーを用意することで吸収するという発想も珍しくありません.
ただし,その仕様や実装がよほどうまくできていないと,性能が出なかったり,
使いにくくて開発に手間取ったり,仕様の微妙な解釈の違いで互換性が無く
なったり,と言った問題が発生します.
そういう意味ではJava技術が従来と異なるのは,
「厳密,且つ実装可能な仕様」と
「その仕様を実現可能にする技術進歩」にあります.
> Sunのエンジニアが
> 「once write、 run anywhereなんて無茶いうなよ!!!」
> といったかどうか知りませんが、
> それが理想的なら実装に苦労するのも実装エンジニアの
> 仕事かもしれません。
仕様書を読めば分かる通り,Javaは仕様レベルから実装のことを
考えて作られてますよ.そうでなければWORAなど,実現できなかった
でしょう.
もちろん実装者も苦労したでしょうけどね.