オブジェクト指向そのものと、それを実現する言語Smalltalkを作り出したアラン・ケイの言葉に、
「オブジェクト指向(Object-Oriented)という言葉は私が作った。そのとき、C++ を想定していなかったことは確かだ」
というものがあります。
つまり、C++や、そのオブジェクト指向を受けついたC#やJavaにはない本質的な要素を、
Smalltalkは持っているということになります。
また、最近はやりのObjective-CなんかはSmalltalkの直系の言語であるため、
その要素を理解しなければ理解しきれないでしょう。
なので。
Smalltalkの本質を書いた本を読んでみたいと思っていたため、
この本を買って読んでみました。
最初の20ページにきっちり書いてありました。
なるほど。
世の中のものはすべてオブジェクトだというからには、
世の中のものすべてとは何か、という哲学的な話から始めなくてはならないのですねえ。
30年前からこういう心掛けでやってきたからこそ、
Smalltalkはオブジェクト指向プログラミングを引っ張ってくることができたのですね。
C++は使っている人は多いですが、あまり全体を引っ張ってはいないようですし。
と、最初の20ページは大変素晴らしかったのですが。
その後は今一つ。
どうも最初の20ページは書いている人が違うっぽいのですが。
本体部分をほとんど書いている人はSmalltalkに精通したプログラマーで、
最初の部分はその弟子が書いたという感じらしい。
メインで書いているのはマニアックなプログラマーらしく、
なんか低レベルなハードウェアに近い部分にこだわって書いていますし。
最後のほうになぞ、言語のセマンティクスについて、
自分は実装の中身を見たからこちらのほうが良いとか書いてありました。
実装方法に依存して呼び方を変えるというのは、
Smalltalkの理想に照らし合わせてどうなのでしょうか。
低レベルな部分にこだわるのは情報隠ぺいができてないという点を考えると、
Smalltalkの説明としてはあまりよろしくないような。
他Smalltalkの優れているところについていろいろ書いているのですが、
あまり客観的な根拠になっていない部分が多い。
根拠のない自慢としか受け取られない文章になっています。
まあ日頃Smalltalkが認められないことに対するうっぷんがたまっているのかもしれませんけどね。
どういう事情があれそれを文面に出してしまうと、書籍としては質は下がりますね。
Smalltalkが30年前に言語としてこういうことが実現できていたのは確かにすごいのですが、
内容を見たところ、これだらすでに良い部分は大体はほかの言語に取り入れられてしまっています。
Smalltalkが、ほかの言語の良いところなんか存在するわけがない、
と何も取り入れないのであるならば、これから学ぶ価値はなさそうです。
それがSmalltalkの性質なのか、この本の性質なのかは何とも言えませんけれど。
とはいえまあ。
文章の端々に、思想が感じられる部分は多々あり。
日ごろからこの人の薫陶を受けている弟子が、
もうちょっと一般受けしやすいようにまとめたのが、
最初の20ページなのかもしれませんけれど。
最初の20ページは結構素晴らしかったですが。
それ以外は、ほかの参考書読んだほうがいいかもしれませんね。
技術力があるだけでは良い本は書けない、ということの見本になっているかもしれません。
「オブジェクト指向(Object-Oriented)という言葉は私が作った。そのとき、C++ を想定していなかったことは確かだ」
というものがあります。
つまり、C++や、そのオブジェクト指向を受けついたC#やJavaにはない本質的な要素を、
Smalltalkは持っているということになります。
また、最近はやりのObjective-CなんかはSmalltalkの直系の言語であるため、
その要素を理解しなければ理解しきれないでしょう。
なので。
Smalltalkの本質を書いた本を読んでみたいと思っていたため、
この本を買って読んでみました。
最初の20ページにきっちり書いてありました。
なるほど。
世の中のものはすべてオブジェクトだというからには、
世の中のものすべてとは何か、という哲学的な話から始めなくてはならないのですねえ。
30年前からこういう心掛けでやってきたからこそ、
Smalltalkはオブジェクト指向プログラミングを引っ張ってくることができたのですね。
C++は使っている人は多いですが、あまり全体を引っ張ってはいないようですし。
と、最初の20ページは大変素晴らしかったのですが。
その後は今一つ。
どうも最初の20ページは書いている人が違うっぽいのですが。
本体部分をほとんど書いている人はSmalltalkに精通したプログラマーで、
最初の部分はその弟子が書いたという感じらしい。
メインで書いているのはマニアックなプログラマーらしく、
なんか低レベルなハードウェアに近い部分にこだわって書いていますし。
最後のほうになぞ、言語のセマンティクスについて、
自分は実装の中身を見たからこちらのほうが良いとか書いてありました。
実装方法に依存して呼び方を変えるというのは、
Smalltalkの理想に照らし合わせてどうなのでしょうか。
低レベルな部分にこだわるのは情報隠ぺいができてないという点を考えると、
Smalltalkの説明としてはあまりよろしくないような。
他Smalltalkの優れているところについていろいろ書いているのですが、
あまり客観的な根拠になっていない部分が多い。
根拠のない自慢としか受け取られない文章になっています。
まあ日頃Smalltalkが認められないことに対するうっぷんがたまっているのかもしれませんけどね。
どういう事情があれそれを文面に出してしまうと、書籍としては質は下がりますね。
Smalltalkが30年前に言語としてこういうことが実現できていたのは確かにすごいのですが、
内容を見たところ、これだらすでに良い部分は大体はほかの言語に取り入れられてしまっています。
Smalltalkが、ほかの言語の良いところなんか存在するわけがない、
と何も取り入れないのであるならば、これから学ぶ価値はなさそうです。
それがSmalltalkの性質なのか、この本の性質なのかは何とも言えませんけれど。
とはいえまあ。
文章の端々に、思想が感じられる部分は多々あり。
日ごろからこの人の薫陶を受けている弟子が、
もうちょっと一般受けしやすいようにまとめたのが、
最初の20ページなのかもしれませんけれど。
最初の20ページは結構素晴らしかったですが。
それ以外は、ほかの参考書読んだほうがいいかもしれませんね。
技術力があるだけでは良い本は書けない、ということの見本になっているかもしれません。