プログラミングの守破離

2008/07/16

こんにちは。家にウォシュレットがあるのですが、しているときに疑問に思うことがあるのです。TOTOの開発者たちは、これを開発するときに、フリチンかどうか?ということです。すみません。品がなくて。実際に肌にあててみないと使用感というのはどうしても伝わらないと思うんです。ブーメランパンツとかはいてもできると思うけど、それだと本当の感覚はもてないと思うのです。

さて、今日の本題です。
昨日NHKのプロフェッショナルという番組で、将棋の森内VS羽生という放送をしていました。非常に濃い内容で、将棋の中身はわからずとも、二人の心理戦が伝わってきてとても面白かったです。それで、番組内で2人とも「自分の将棋をさす」という感じのことを口にしていました。それで、ふと思ったのが「守破離」というキーワードです。これは、日本の「○○道」(柔道・剣道・華道・書道とか)といわれるものに出てくるキーワードのようです。
誰が最初にいったかは今回はさしたる問題ではないのでそれを追わず、中身について自分なりに解釈すると、

守…基本を忠実に身につける。
破…基本を意識的に破る。破るということは、基本を知らないと何を破って良いかわからない。
離…基本を守る・破るといった段階でなく、むしろそれから離れて新しい道を模索する。ただ、この場合基本が頭で考えなくても身についている必要がある。そうしないと守る・破るを常に意識してしまうため。

といったところでしょうか?さきの御二方は「離」の段階にきているのでしょう。この離の段階は、守が身についていない人がやっても、それは単なる思い付きでしかないと思います。人を驚かせることはできても、底が浅く深みがないため、感動させることはできないと思います。

さて、プログラミングにあてはめてみるとどうなるか考えてみました。私は、まだ守の段階なので破離のことは想像でしかないのですが、以下のようになりました。

守…言語の文法・構文を覚える。定石・デバッグなど開発手法の基本を押さえる。
破…普段使われている使い方を意識的に別の手法に変えてみる。ただし、トリッキーなことをするのでなく(メンテがしづらいし、他の人が見てもわかりづらくなる)誰が見てもわかるようなやり方で。
離…新しい言語を創造する。

っていう感じでしょうか。正直、破離は非常にあやしい記述です。最近だと破は、Ajaxとかなのかな?死んだはずの技術を、再生させるということで。みなさんは、どのように考えますか?

LINEで送る
Pocket

自作iPhoneアプリ 好評発売中!
フォルメモ - シンプルなフォルダつきメモ帳
ジッピー電卓 - 消費税や割引もサクサク計算!

ページトップへ戻る