デザインパターンは勉強しなくていい?

先週くらいはJavaの話が流行っていた。同時にデザインパターンの話もチラチラTwitterのTLで見かけた。
大学の時に受講していた授業の担当教官が「結城先生が出したあの本はいいね〜」と言ってた。当時の僕はプログラミングに一切興味がなかったので特にそれがどの本かも何の本かも知らずにそのまま大学を卒業した。そしてプログラミングと全然関係ない会社に就職した。
それから6年経ち、その頃僕はプログラマーになっていた。その本が以下であると知った。

同僚が「デザインパターンぐらいは知っておいた方がいい」と言っていたので買って読んだ。上司と読書会をやったりもした思い出がある。
そしてそれからまた6年経った。Javaが話題になっている。Qiitaに「勉強すべきプログラミング言語」としてJavaを挙げている人がいてちょいバズしたのであった。(彼はJAVAと表記していたが)
懐かしいな、と同時に担当教官の台詞が蘇ってきた。「結城先生が出したあの本はいいね〜」彼はこんなことも言っていた。「社会人になる前に彼女を作れ」
僕は後者の教えを守ることはできなかったが、デザインパターンの本は読んだ。しかし、このデザインパターン、23種類もあって何が何だかよくわからない。一度は全て覚えたはずなのだけれど記憶力の悪い自分には辛い。しかも、実現しようと思ったらいくつもクラスを作らなきゃいけなくなってコード量が爆裂する。
そんな自分にとてもいいデザインパターンの紹介記事があった。

これを読むとClojureで普通に実装した結果実はデザインパターンでした、という例が紹介されている。
会話調になっていて楽しい感じだし、いくつもクラスを作らなきゃいけなかったことが数行で済んでたりと面白い。「イミュータブルワールドにはプロトタイプパターンは必要ない」みたいな話も出てくる。実は半分くらい読んで「まあ、覚えなくてもClojureで普通に実装すればいいんかな」と思ってやめてしまった。

特にオチもないしJavaをdisりたいわけでもないのだけど、何となく大学時代の一コマを思い出したので書いてみた。

この記事が気に入ったらサポートをしてみませんか?