ようこそゲストさん

したっぱプログラマーの日記(The diary of a minor programmer)

2006/12/29(金) 妻と夫のプログラミング

今日はプログラマーよりの話。

僕は、プログラミングの面白さの1つとして、世界を記号化して記述できることがあると思う(特にオブジェクト指向言語が顕著)。
自分には、世界がこう見えてるんだよ!ってことを表現できる。

例えば、C++で、夫と妻の概念を表現してみた。


class Husband{
  public:
    property;
};

class Wife{
  public:
    property;
  private:
    secret;
};


ざっくり書くと、こんなかな?
さらに一歩進めて

class Wife{
  friend Child;
  public:
    property;
  private:
    secret;
};

class Child{
  friend Wife;
  friend Husband;
  public:
    property;
};


class Husband{
  friend Child;
  public:
    property;
  private:
    secret;
};


っとかとか。
そこには、自分の思想なり、考えなりが反映される。

プログラマー同士が、しばしば他人のプログラムの設計について不満を言ったり、また、熱く語り合ったりするのは、
そこに、『僕は世界を、こーいう風に捉えてるんだよ!』っていう思想が色濃く反映されているからなんだろうな、って、
こないだ友人とプログラムについて語ったときに思いました。

1: mynz 2006年12月30日(土) 深夜4時57分

個々のpropertyをpublicで保持しているのは不味いでしょ。きちんとprivate、せめてprivateにして、インターフェイスを提供しよう。secretは外部からアクセスできないようにインターフェイスを提供しない。
あと、一番不可解なのはHusbandとWifeが何故かChildをfriend宣言してところ。
この場合、夫婦の属性は子供からすれば無制限に覗き放題、弄り放題。結局この構成では子供が一番強い要素になってしまう。

2: わけん 2007年01月01日(月) 午後2時30分

たしかに、そうですね。

ただ、僕としては、とりあえず、夫と妻の間に秘密があっても、子供経由だとアクセスできたりするよねっていうのを表現したかったんです。

3: とも 2007年01月02日(火) 午後9時57分

奥さんに教えてもらって理解しました。

4: わけん 2007年01月04日(木) 午後11時29分

おぉ、今度奥さんとプログラム談義に花を咲かせたいっす!
絶対遊びに行きます!


名前:  非公開コメント   

  • TB-URL  http://wkpn.net/blog/adiary.cgi/0348/tb/