- 【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
111 :デフォルトの名無しさん[sage]:2015/10/15(木) 09:50:58.72 ID:BaxKs2Tu - >>110
>>98 を全否定しているわけではないのだから、まあ、落ち着こうよ。 Object は Object でも、OOPのOは文法要素の目的語であるところのOとは別だというだけ。 とりあえずまず、発案者のアラン・ケイの言う>>100の参照先をベースに話を進めないか? もしどうしても Smalltalkをベースにしたいなら、やはり彼の書いた The Early History of Smalltalk http://gagne.homedns.org/~tgagne/contrib/EarlyHistoryST.html の 「By this time most of Smalltalk’s schemes had been sorted out …」のあたりからがいいだろう。 Smalltalk はちょっとかじったことがあるから、彼の文章でわかりにくいところがあったら訊いてください。
| - 【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
113 :デフォルトの名無しさん[sage]:2015/10/15(木) 10:17:49.04 ID:BaxKs2Tu - >>98 派がリンク先にアクセスしたら死ぬ病気の人だといけないので、>>100の参照先をコピペしておくよ。
▼新しいアイデアを学ぶとはどういう事か? このような柔軟な機能はどれだけ複雑である必要があるだろうか? 文法上は決して複雑で無くてもよい。 なじみ深い英語の語順である主語、動詞、目的語(よく前置詞や、たまに暗黙の主語を伴う)があれば 全く十分だ。オブジェクト指向の言い方で言うと、主語はメッセージのレシーバであり、文の残りはメッセージだ (ここでは「動詞」を強調※して書く)。これで次のような読みやすい形式になる。(※強調は _ でくくった) 3 ‘this is some text’ pen _up_ 3 _+_ 4 3 _*_ ( 4 _+_ 5 ) car _forward by_ 5 {1 2 3 4 5 6 7} _collect_ [ n | n _odd_ ] _Repeat_ (1 _to_ 100 _by_ 2) _do_ [ ******* ] そして大切なのは、この単純な決まりに従って必要なだけ新しく読みやすい記法を作る事が出来る事だ。 これは、ユーザが文法と意味の関係を一つだけ念頭に置いておけば良い事を意味する。 レシーバ メッセージ -- レシーバが意味を把握している事を意味する。 という事で、オブジェクトはただネットワーク上のピア・ピア・サーバのように考えられ、使われると考える。 (これは偶然ではなく、六十年代後期におけるARPAnet から Internet にかけての開発にさかのぼる アイデアを起源とする)。 従って、動的なオブジェクト指向プログラミングを行うという事は通信しあうオブジェクトでシステムを設計し 構築する事になる。もしもわたしたちのオブジェクトシステムの内部がそれ自体オブジェクトから出来ている とすれば、必要な構造上の知識は全て知っている事になる。
| - 【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
116 :デフォルトの名無しさん[sage]:2015/10/15(木) 11:19:27.13 ID:BaxKs2Tu - >>115
現在よく使われ名前が知られた言語等との“コネ”ということなら、Smalltalkにはないはずですよ。 なにせ作られたのが、ここでコネ元として挙げられているC言語と同時期の1972年頃ですから。 強いて挙げればSIMULA67、LISP、Logoですが、これらが今よく知られ使われているかというと 難しいところです。
| - 【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
117 :デフォルトの名無しさん[sage]:2015/10/15(木) 11:31:04.82 ID:BaxKs2Tu - >>114
ちょっとググればわかりますが、Smalltalkはまだ死んではいないようですよ。 Squeakやそこから派生したPharoなどのコミュニティは比較的活発ですし、 ゼロックス謹製のSmalltalk-80の直系であるCincom社のSmalltalkでVisualWorksという 商用の処理系もあるようです。ファンお手製のGUIを持たない変わり種のGNU Smalltalkや altJSとしてのAmber Smalltalkもあるようです。 もっともアラン・ケイはもうすでにSmalltalkへの興味を失っていて、Rubyの生みの親のMatzにも そんなことを漏らしていたようで、Smalltalk(er)を目の上のこぶみたいに煙たがるMatzが大喜びする 一幕もあったようです。http://www.rubyist.net/~matz/20060608.html ちなみにアラン・ケイはGUI付きのOSを2万行程度で記述できる次の言語の実験に取りかかっているようです。 「Smalltalk 勉強会@名古屋 STEPS プロジェクトご紹介」 http://d.hatena.ne.jp/propella/20091219/p1 「STEPS プロジェクトご紹介その2」 http://d.hatena.ne.jp/propella/20111022/p1
| - 【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
119 :デフォルトの名無しさん[sage]:2015/10/15(木) 12:03:22.06 ID:BaxKs2Tu - >>118
> OSを作る人は極僅かなんだから、別の研究すればいいのに。 OSを含め、自分たちが利用するソフトウエアの仕組みを知り、自由に改変・拡張でき、 できれば最初から作り上げることすらできる世界が彼の理想であり、主張するコンピューターリタラシーな わけですから、そこはDynabook、その暫定OSとしてのSmalltalkのときからぶれていませんね。 > ただし言語にドライバが含まれています。とかそういう落ちだったりしてw リンク先を読んでもらえばわかりますが(他人のリンク先読むと死ぬ病気の人?^^;)、 ミソはPEGベースのパーザーでDSLを手軽に作れるようにして、階層的にコードの抽象度を上げるところらしいです。
| - 【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
120 :デフォルトの名無しさん[sage]:2015/10/15(木) 12:31:43.88 ID:BaxKs2Tu - >>112
> Smalltalk系の「オブジェクト」とは「ソースではない」という意味 気になったのでちょっと調べてみましたが、Smalltalk のオブジェクトは、SIMULA67の言語機能としての オブジェクトから来ていて、そのSIMULA67のオブジェクトは、ホーアのレコード・オブジェクト http://archive.computerhistory.org/resources/text/knuth_don_x4100/PDF_index/k-9-pdf/k-9-u2293-Record-Handling-Hoare.pdf [PDF注意] 1. Basic Concepts 1.1 Objects and Records. A fundamental feature of our understanding of the world is that we organise our experience as a number of distinct objects (tables and chairs, blank loans and algebraic expressions, plynominals and persons, transistors and triangles, etc); and our thought, language, and actions abased on the dsignation, description, and manipulation of these objects, either indivisually or in relationship with other objects. のオブジェクトから来ているので、C言語とかのオブジェクトの意味合いよりは、文字通り「物」としての オブジェクトに近いみたいですね。
| - 【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
124 :デフォルトの名無しさん[sage]:2015/10/15(木) 17:17:29.28 ID:BaxKs2Tu - >>123
それは失礼いたしました。 唐突に Smalltalk のコードをひっぱり出してきて疑問符を連発されていたので てっきり >>98 派がファビョってきたのかと勘違いしました。ごめんなさい。
| - 【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
125 :デフォルトの名無しさん[sage]:2015/10/15(木) 17:25:35.28 ID:BaxKs2Tu - ちなみに念のため、アラン・ケイはメッセージ式 rcvr msg の msg が動詞でなければならないとは
ひとことも言っていないと思いますよ(>>113 )。SVO の S を rvcr、VO 以降を msg に当てはめると すっきり書けて読みやすい、というような趣旨のことはいっていますが… ですから、メッセージが atAll: keyCollection でも copyFrom: start to: stop でも value でも、必ずしも動詞のみでなくても、さらに動詞が含まれなくてもかまわないと思います。
| - 【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
126 :デフォルトの名無しさん[sage]:2015/10/15(木) 17:35:42.93 ID:BaxKs2Tu - >>125
メソッド名をどのようにしたらよいかという観点からは、ケント・ベックがいろいろと試行錯誤しているので 興味のある向きは彼の著作を読んでみると面白いかと思います。 「ケント・ベックのSmalltalkベストプラクティス・パターン―シンプル・デザインへの宝石集」 http://www.amazon.co.jp/dp/4894717549 同書原書のドラフト 「Smalltalk Best Practice Patterns Volume 1: Coding」 http://stephane.ducasse.free.fr/FreeBooks/BestSmalltalkPractices/Draft-Smalltalk%20Best%20Practice%20Patterns%20Kent%20Beck.pdf [PDF注意] 同書をJava向けに書き直したもの 「実装パターン」 http://www.amazon.co.jp/dp/4894712873
|
|