hogeとはワイルドカードのようなものです。日々起こった、さまざまなこと −すなわちワイルドカード− を取り上げて日記を書く、という意味で名付けたのかというとそうでもありません。適当に決めたらこんな理由が浮かんできました。
07/31/2003 ぐ [長年日記]
tDiary 280日目
■ サブルーチンと関数とメソッド?
サブルーチンは概念的なもの,関数は手続き型言語のサブルーチンの実装,メソッドはOO言語の個々のクラスに割り当てられたサブルーチンの実装とか勝手に思ってたんだけど,色々考えてたら混乱してきた.
ちなみに概念上OOではサブルーチンに当たる部分を「振舞い」と言うし,サブルーチンなんて考え方はOOにはない気がする.手続き型言語では値が自分自身を操作するなんてことはなくて,あくまで外部の関数によって操作される.OOではオブジェクトが持つフィールドはオブジェクト自身が操作する(publicなフィールドは別).
初心者に教えるときは,どこから教えようとするかによると思う.概念からじっくり教えるなら手続きやOOの概念からの方が良いと思うし,手っ取り早く「これはこういうもんなんだからこうやっとけ」的に教えるなら,Javaだったらメソッドの要点だけを説明すれば良い気がするんだけど,いかがなもんだろう.
しかし僕はもともとプログラミングには疎い方なので参考にしない方が良いと思う….
■ つーか
OOと手続き型のそれぞれの用語をどうにか繋げようとすること自体がナンセンスだ.概念が違うんだから,概念から来る用語を繋げようとしても破綻するに決まってる.
参考になります.
自分としては,関数やサブルーチンの考えがない奴にOOのメソッドの概念を教えるのは難しい,ってことを言いたかったんだが,話が広がりましたな.
ちなみに,はじめOOをマルマルと読んでいて意味が全くわからなかったのは秘密中の秘密だ.
概念だけなら関数の考えがなくても大丈夫だと思う.「人間クラスのyoshオブジェクトのツッコむメソッド」だから.;-)
実際にコードを書くときには色々知識が必要になってくると思うけどさ.
…だっていちいち「オブジェクト指向」って書くのめんどいんだもん.