[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 11582] Re: IW2004 で Java 読書会の紹介をします& ご協力のお願い



村山@netgeneです.

> 彼らの一部は、Javaを”SmalltalkのC方言”と呼んでいました。
> OS依存しない仮想マシンの設計のアイデアや、クラス設計、メタクラス、ライブ
> ラリ設計などと思います。ただ、それでは売れないので、Cの記法に合わせた。

・SmalltalkはRubyと同様に,「型のないオブジェクト指向」ですよね?
#多分,どちらかというとRubyがSmalltalkを真似たのだろうけど.

Javaは,「強い型のあるオブジェクト指向」なので,かなり毛色が違います.

実際にRubyとJavaとを使い比べてみると,面白いくらいに対極的です.
#http://d.hatena.ne.jp/sumim/20040525#p1
#でいう,1と2の違いなのかな?

・LISP屋がJavaを見ると,Javaの設計思想のかなりの部分がLISPに似ていると
感じるというのも聞いたことがあります.

これも見た目は全然違いますけどね.

・たしかにJavaという言語は様々な言語の「いいとこどり」をした言語です.
オブジェクト指向にしろ,GCにしろ,仮想マシンにしろ,デザインパターン
にしろ,ベリファイにしろ,動的最適化さえも,大抵は既にどこかにあった
技術ばかりです.しかも意外に古い技術が大半を占めます.

それらの良いところを併せ持った言語を生み出し,ビジネスとして成功させた.
これを「いいとこどりしただけ」と言う人もいるでしょうが,実際はこれは
極めて難しい問題です.普通なら「寄せ集めの失敗作」になるのがオチです.

C++などが,まさにそうでは?C言語の記述力と,オブジェクト指向をあわせたら,
どっちつかずで肥大化した,落とし穴だらけの使い難い言語になってしまいました.

・それから「VMの元祖が何か?」ってのは,結構難しい問題のようです.

http://d.hatena.ne.jp/sumim/20041019
----------------------
『VM というと Pascal の Pコードを思い浮かべてしまうのですが、その辺の関
係はどうなのでしょう?』

『概念は Soltis の TIMI が 1970 で一番古いのですが、これの実装時期は不明
です。製品には 1978 に組み込まれました。P-system は意外と古く、1975 に策
定して 1976 には実装されています。Smalltalk VM は 1976.11 に仕様が決まっ
て 1977.06 に動き出したそうです。LISP はとんと見かけませんでした。三者の
相互の関係はまだ分かりませんが、P-system と Smalltalk VM をオリジンとし
て併記する論文を見かけましたので「それは違うだろ…」って言い切れるほどく
だんの記述がハズしているというわけでもなさそうです。切腹!w』

『LISP VM も早かったです。[Moore 1976] ってのがありました。Interlisp で
す。1976 は Dorado(エミュレーションで動作。最初の D-マシン)の開発開始
年でもあるので PARC 関係はきちんと調べればつながるかも。』
----------------------
Soltisって何?f(^^;