10. メッセージングのアイデアの実現
3 + 4
オブジェクト3 への + 4 というメッセージの送信と解釈すればいい!
• Smalltalk-72
for i ← 1 to 10 do ( i print. user ← 13 )
オブジェクト for への i ← 1 to …の送信として実装
• Smalltalk-76
for⦂ i from: 1 to: 10 do⦂ [ i print. user cr ]
省略されたオブジェクトへの for⦂ i from: 1 to: …の送信で実装
for⦂ from:to:do⦂ メソッドのコール(実体は for:from:to:do:on: )
• Smalltalk-80以降
1 to: 10 do: [:i | Transcript show: i printString; cr; endEntry]
オブジェクト1 への to: 10 do: … の送信として実装
to:do: メソッドのコール(実際はコンパイル時にインライン展開)
14. 必読文献(ただし追体験とあわせないと難解)
• 構想
1972 - A Personal Computer for Children of All Ages
https://swikis.ddo.jp/abee/74
• 最初の成果報告
1975 - Personal Computing
http://mnielsen.github.io/notes/kay/Personal_Computing_1975.pdf (PDF, 乱丁注意)
• 振り返り
1993 - The Early History Of Smalltalk
http://worrydream.com/EarlyHistoryOfSmalltalk/
• 総括
2003 - “Software Engineering” an Oxymoron?
http://metatoys.org/oxymoron/oxymoron.html