消息傳遞機制通俗地來講就是類似于馬路上到處投遞小廣告的投遞者,它采取的是send and pray政策,既不關心消息是否能精确的傳送到真正需要消息的接收者,而是以廣播的方式把消息發送給所有人,然後通過回饋來确定消息接收者的類型(引自《失蹤的鍊環》)。是以,動态語言的duct typing是消息傳遞風格,智能對象是消息傳遞風格,顯然,erlang的process間的通信機制同樣是消息傳遞風格(process之間完全通過send message來進行控制和訓示,不确定接收方是否具有處理消息的能力 ,異步的,接收的确認也要等待reply)。
之間畫上了等号,java裡面說一切都是object,其實他想表達的卻是一切都是class,通過type以及函數簽名等來決定消息的分派(message dispatch),導緻更多的代碼集中在消息分派,而不是真正的計算任務上,可以說靜态oo已經偏離原始的對象模型很遠。
文章轉自莊周夢蝶 ,原文釋出時間2007-08-03