hogeとはワイルドカードのようなものです。日々起こった、さまざまなこと −すなわちワイルドカード− を取り上げて日記を書く、という意味で名付けたのかというとそうでもありません。適当に決めたらこんな理由が浮かんできました。
07/30/2003 おぉ [長年日記]
tDiary 279日目
■ [日記][Linux] 2.6.0-test2
おぉ,Firebirdコンパイルの高負荷にも耐えて約1日持ったぞ.素晴らしい.
$ uptime
08:32:04 up 21:20, 3 users, load average: 1.56, 1.90, 1.25
…って,何で1日程度で感動せにゃいかんのだ(わら
で,2.6.0-test2の感想.
- 2.6.0-test1よりも断然安定している(.configは使い回したし)
- 2.6.0-test1と同じく,nfsから変なメッセージが来る(これはサーバ側の問題かも)
- どうも2.5よりパフォーマンスが悪い(2.4と似た感じにもたる)
- USBのあたりが微妙(ジョイスティックが認識されない)
こんなもんかなぁ.
■ オブジェクト指向は難しい (Matzにっき)
うーん…オブジェクト指向を分かってる人から見れば「あー,そんな感じそんな感じ」って納得すると思うんだけど,オブジェクト指向でつまづいてる人がこれで分かるかなぁ….あと,
- プログラミングもあまり得意じゃないしオブジェクト指向なんてさっぱり分からん
- プログラミングはお手のものだけどオブジェクト指向はちょっと
の2通りの人がいると思うんだけど,この説明だと後者向けなのかな.
後輩とかにオブジェクト指向の概念説明をするとき,よく
- クラスとオブジェクト
- クラスってのは鯛焼きの「型」,オブジェクトってのは個々の鯛焼きだ!
クラスは THE であり,オブジェクトは A なのだ! - オブジェクトの生成とコンストラクタ
- 個々の鯛焼きには尻尾までアンコが入ってるものとそうでないものがある!
その差は,鯛焼きオブジェクトを作るときに屋台のおっちゃんがアンコをどこまで乗せるかにかかってる! - メソッド
- 個々の鯛焼きは毎日焼かれてると嫌になって逃げ出したくなる!
個々の鯛焼きの「逃げろ」メソッドを呼んで逃してやるんだ!
というような謎の説明をするんだけど,これはどっちかってーと前者向けなんだろうな.
…しかしこれだと鯛焼きが意志を持って活動してるように見えてしまうのでエージェント指向になってしまうやも知れん.teehee
■ んで
メリットとかいう話になると,俺的には設計のしやすさとかそういった方向に行ってしまう.
俺自身はGUIプログラミングをして分かったんだけど,
ウィンドウを出す関数を呼んで,○○ボタンがクリックされると××関数を呼んで…
なんて記述するよりも,
ウィンドウは一つのオブジェクトで,××メソッドに関連づけられた○○っていうボタンを持ってて…
っていう方がどう考えても自然.まぁここまでくるとイベントドリブンの考え方とか色々あるんだけどさ.
あとは,スーパークラスとか抽象クラスとかをちゃんと切り分けて設計してやると,自然と再利用性が高くなる.あるクラスをツリーのルートとすると,それを継承したクラスはそのツリーのリーフになる.リーフはいくらでも作れる.
お菓子 -+-- 和菓子
| |
| +-- 型焼き菓子
| | |
| | +-- 鯛焼き
| | |
| | +-- 大判焼き
| | |
| | +-- etc...
| |
| +-- etc...
|
+-- 洋菓子
| |
| +-- ケーキ
| |
| +-- etc...
|
+-- etc...
といったように,鯛焼きを定義したいときにお菓子,和菓子,型焼き菓子も設計して作ってやると,もし新たに大判焼きを作りたくなったときに型焼き菓子を継承してやるだけでよくなる.
って感じかなぁ.なんか説明があんまりよくないって言うか使い古された表現ばっかだけど.
関数,サブルーチン,メソッドどれも同じような感じだけど
プログラミング初心者にはどれから教えたらいいのだろう?
JAVAの授業中,初心者に教えてる時に思ったこと.
ちなみにこの授業担当の先生は筑波大時代,Matzさんを教えていたらしい.
前にもこれ言った気がするなあ…手屁
死にやがれバアア