2010/08/31
プログラミングの原初的感覚
今日は飯田さんの夏休みバイト終了の日でした。
最終日は、飯田さんが書いたコードのコードレビューでした。高校生が自分の書いたコードをみんなの前にさらす場です。アリエルは厳しい会社です。
コードレビューをして、プログラミングでは、変わらない部分(=共通部分)と変わる部分をいかに見分けるのか、が重要なんだなと改めて思いました。難しく言えば、前者を切り出すことを抽象化と呼ぶのですが、呼び方はどうでもいいです。
この見立てが、単なる技法で後天的に身につく発想なのか、教えても伝わらない感覚なのかは不明です。
見分けた後は、変わる部分を外から与えるように書きます。原初的には、共通処理を関数や手続きにして、変わる値を外から引数として渡します。いわゆる代数的な感覚です。外から与えるモノのスケールが大きくなると、外から渡すモノがオブジェクトになったり手続き(関数)になったりします。達観して、結局のところ、渡される側も渡すモノもどちらも関数だと割り切るのが関数型脳です。一方、オブジェクト脳は、渡し型の技法になんとかパターンとか名前をつけて喜びます。どちらであれ、原初的な感覚は同じです。
というようなことは パーフェクトJava にも書いたので、いずれ飯田さんも該当箇所を読む時がくると思います。
ちなみに飯田さんの パーフェクトJava にサインをしました。永井さんと松山さんもサインをしたので、今のところ、著者3人全員のサインが揃った世界で唯一の パーフェクトJava です。
- Category(s)
- カテゴリなし
- The URL to Trackback this entry is:
- http://dev.ariel-networks.com/Members/inoue/iida-last/tbping