X



オブジェクト指向システムの設計 174 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
0975デフォルトの名無しさん
垢版 |
2018/04/11(水) 12:51:33.38ID:mEK/0CU7
ゲイツもMSもGUIの模倣でこそジョブズやAppleに遅れをとったけどその後はSmalltalkから学んでいる
アラン・ケイも .NET のことは Java よりはマシと言ってた
http://tech.nikkeibp.co.jp/it/members/ITPro/ITARTICLE/20030605/1/

ジョブズも表層のGUIだけパクって終わりにしたLisa/Macを反省してNeXTSTEPを作らせたけどね
http://web.archive.org/web/20121016134054/http://americanhistory.si.edu/collections/comphist/sj1.html#soft
0976デフォルトの名無しさん
垢版 |
2018/04/11(水) 12:53:12.46ID:mEK/0CU7
>>974
メッセージに関してはそうだろうね
ケイもAltoにもっとパワーがあったらErlangみたいなのを試したかったって言ってたし
ただシステム全体としての動的性に関してはErlangやそれで作られたものとは比較にならない
0977デフォルトの名無しさん
垢版 |
2018/04/11(水) 12:57:13.75ID:bG1z7LTF
>>975
藤枝あほだな
0978デフォルトの名無しさん
垢版 |
2018/04/11(水) 14:26:33.25ID:J12WoVZ9
「クラスにメソッド送るシステムなんていまじゃ壊滅してる!
21世紀の現代の主流はC ++!」って5ちゃんねるで喚いてる人とか
そりゃ誰も相手したくねぇよw
0979デフォルトの名無しさん
垢版 |
2018/04/11(水) 15:19:48.90ID:mEK/0CU7
メッセージングのパラダイムを持ち出しておいて
メソッドとメッセージの区別すらついていない人がよくいるけどここにもいたかw

あと現在主流なのはクラスやそれに準ずるエンティティで抽象データ型を実現することで
その出自がC++というだけだよその程度の区別もつかないのか

たった2行の煽りでここまで致命的に間違えられるとかどんな才能だよ…
0980デフォルトの名無しさん
垢版 |
2018/04/11(水) 20:33:03.91ID:J12WoVZ9
はいはい、「俺の宗教の教義では俺の信じてるものは俺の神から、
俺の信じていないものは敵の神からもたらされたと決まっているから。」
いただきましたw
0982デフォルトの名無しさん
垢版 |
2018/04/11(水) 21:16:38.37ID:W3CRQm5Z
>>979
まあまあ、しょせんSmalltalkのメッセージはニセモノの出来損ないなんだから
細かいことに目くじらたてるもんじゃ無いよ
0987デフォルトの名無しさん
垢版 |
2018/04/12(木) 14:50:54.59ID:c5UYloeC
メソッドとニセモノのメッセージと本物のメッセージの3パターンで説明お願いね
0988デフォルトの名無しさん
垢版 |
2018/04/12(木) 16:00:33.88ID:bfwDINZz
AngularJS
0989デフォルトの名無しさん
垢版 |
2018/04/12(木) 18:21:05.91ID:OewATdpF
メッセージはオブジェクトに送られる情報(多くの場合はエンティティ)
Smalltalk-72ではトークン列
Erlangなどではデータ列
Smalltalk-76以降はセレクター(多くは呼び出しが期待されるメソッド名)+引数(オブジェクト)
奇妙だけど他の言語でもSmalltalk-76以降に準じた解釈(メソッド名+引数)をそう称する場合が多い
一部の宗派でセレクター(メソッド名)のみをメッセージと称する場合もある(Objective-Cでよく見られる〕

メソッドはオブジェクトがメッセージを受けて行う操作
Smalltalk-72ではメッセージにパターンマッチする記述(リーダーマクロのようなもの)
Erlangには無いが、強いて当てはめればメッセージを受けたときの処理部分
Smalltalk-76以降ではクラスに属する関数がそれに当たる

もともと「メソッド」はメッセージを受け取った際に目指す状態である「ゴール」を記述する場とする予定だったが
Smalltalk-76でSimula-67スタイルのクラスとそれに内包される関数を用いる機構を採用したため
クラスに内包される関数とメソッドとの間に明確な差はなくなった

とか、とりあえずこんな感じで
0990デフォルトの名無しさん
垢版 |
2018/04/12(木) 18:40:29.87ID:+2RjvR+r
つまり、本当に非同期にメッセージパッシングしてるErlangは特別だけど、
Smalltalkのメッセージはメソッドコールと変わんないってことですね
0991デフォルトの名無しさん
垢版 |
2018/04/12(木) 21:28:54.61ID:pKim+X9U
メッセージがエンティティであることが重要で同期か非同期かは後付けでなんとかなる問題
たとえばIoなんかはそうなっているし、Concurrent Smalltalkという方向性もある

メソッドコールについてはさすがに静的に決定しているそれをメッセージと呼ぶのは滑稽だろう

動的メソッドコールについても例えば期待するメソッドが存在しない等で失敗したときに
メッセージを第一級オブジェクトとして参照可能な機構が組み込まれていないなどサポートを欠いていれば
その言語での動的コールをメッセージと称することはちょっと無理があるような
0992デフォルトの名無しさん
垢版 |
2018/04/12(木) 21:43:18.97ID:lUf8ZkQK
同期を非同期に変えるのに比べたら、静的なのを動的に変える方が簡単だし、後付けでどうとでなる問題だよ
0993デフォルトの名無しさん
垢版 |
2018/04/13(金) 09:04:27.08ID:QuE9cEqD
いずれにせよメッセージと称したい情報を必要なときにエンティティとして扱えるしくみがあればどうとでもできるよ
0994デフォルトの名無しさん
垢版 |
2018/04/13(金) 09:30:36.78ID:24eyc5OB
メッセージがメソッドコールだとしても、基底クラスに共通メソッドとして実装されているならそれはメッセージで間違いないだろ。
0995デフォルトの名無しさん
垢版 |
2018/04/13(金) 09:45:51.29ID:QuE9cEqD
メソッドコールと違いメッセージというからには送り手はその都合で情報を勝手に送りつけるわけだから
それを受け手がどう処理するかについて関知しないスタンスがとれなければさすがにダメだろう
0996デフォルトの名無しさん
垢版 |
2018/04/13(金) 10:39:38.86ID:YQSd9Cqd
そんなん待ち行列になってんじゃね?
つか、メッセージの実装って、結局メソッドコールなOSばかりだしな。
0997デフォルトの名無しさん
垢版 |
2018/04/13(金) 12:19:05.19ID:ybbP8EF+
Smalltalkのメッセージを全部非同期にしたら、信じられないくらい遅くなるかブッ壊れると思うよ

だからSmalltalkはメッセージの受け手が即座に処理してくれる事を期待してるし、何も関知してないなんてウソだよ
0999デフォルトの名無しさん
垢版 |
2018/04/13(金) 12:41:42.23ID:QuE9cEqD
「関知しない」は「どう処理するか」で「いつ処理するか」だけに限らない
SmalltalkでいえばdoesNotUnderstand:(Rubyならmethod_missing)相当の機構と
その際処理したいメッセージをエンティティとして扱える機構がないといろいろ厳しかろうという話
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 199日 5時間 25分 16秒
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況