Personal tools
You are here: Home ブログ 井上 プログラミングの原初的感覚
« December 2010 »
Su Mo Tu We Th Fr Sa
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
Recent entries
Apache2.4のリリース予定は来年(2011年)初め(あくまで予定) inoue 2010-12-23
Herokuの発音 inoue 2010-12-20
雑誌記事「ソフトウェア・テストPRESS Vol.9」の原稿公開 inoue 2010-12-18
IPA未踏のニュース inoue 2010-12-15
労基法とチキンゲーム inoue 2010-12-06
フロントエンドエンジニア inoue 2010-12-03
ASCII.technologies誌にMapReduceの記事を書きました inoue 2010-11-25
技術評論社パーフェクトシリーズ絶賛発売中 inoue 2010-11-24
雑誌連載「Emacsのトラノマキ」の原稿(part8)公開 inoue 2010-11-22
RESTの当惑 inoue 2010-11-22
「プログラマのためのUXチートシート」を作りました inoue 2010-11-19
「ビューティフルコード」を読みました inoue 2010-11-16
Categories
カテゴリなし
 
Document Actions

プログラミングの原初的感覚

今日は飯田さんの夏休みバイト終了の日でした。

最終日は、飯田さんが書いたコードのコードレビューでした。高校生が自分の書いたコードをみんなの前にさらす場です。アリエルは厳しい会社です。

コードレビューをして、プログラミングでは、変わらない部分(=共通部分)と変わる部分をいかに見分けるのか、が重要なんだなと改めて思いました。難しく言えば、前者を切り出すことを抽象化と呼ぶのですが、呼び方はどうでもいいです。

この見立てが、単なる技法で後天的に身につく発想なのか、教えても伝わらない感覚なのかは不明です。

見分けた後は、変わる部分を外から与えるように書きます。原初的には、共通処理を関数や手続きにして、変わる値を外から引数として渡します。いわゆる代数的な感覚です。外から与えるモノのスケールが大きくなると、外から渡すモノがオブジェクトになったり手続き(関数)になったりします。達観して、結局のところ、渡される側も渡すモノもどちらも関数だと割り切るのが関数型脳です。一方、オブジェクト脳は、渡し型の技法になんとかパターンとか名前をつけて喜びます。どちらであれ、原初的な感覚は同じです。

というようなことは パーフェクトJava にも書いたので、いずれ飯田さんも該当箇所を読む時がくると思います。

ちなみに飯田さんの パーフェクトJava にサインをしました。永井さんと松山さんもサインをしたので、今のところ、著者3人全員のサインが揃った世界で唯一の パーフェクトJava です。

The URL to Trackback this entry is:
http://dev.ariel-networks.com/Members/inoue/iida-last/tbping
Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)
This helps us prevent automated spamming.
Captcha Image


Copyright(C) 2001 - 2006 Ariel Networks, Inc. All rights reserved.