ソフト開発

ソフト開発のトピックス-PR-

オブジェクト指向や関数型は「敗者の道具」である

2014/09/26
大森 敏行=日経ソフトウエア (筆者執筆記事一覧
日経ソフトウエア2014年11月号ではオブジェクト指向と関数型の真実を解き明かす渾身の特集を掲載。3Dモデル「ユニティちゃん」の楽しい連載も始まりました。詳しくはこちら

 私は「もし完全無欠のプログラマがいるとしたら、どんなプログラマだろう」と夢想することがあります。「完全無欠のプログラマ」と聞いてどんなプログラマをイメージするかは人によって異なるでしょう。「難しいアルゴリズムを使いこなしてすばらしいプログラムを書く人」を想像する人もいるでしょうし、「チーム内のプログラマの能力を極限まで引き出して最良の結果を生み出す人」といったチーム寄りのイメージを持つ人もいるかもしれません。

 「オブジェクト指向プログラミングや関数型プログラミングをバリバリ使いこなして優れたソフトウエアを作る人」というイメージを持つ人もいると思います。しかし、ちょっと考えてみると、これはおかしな話です。なぜなら、オブジェクト指向プログラミングも関数型プログラミングも、「人間がコンピュータの挙動をすべて把握することはできないことを前提に、そうした人間であっても良いプログラムを作れるように編み出された方法論」だからです。

 もし完全無欠のプログラマが存在するのであれば、そうした方法論に頼らなくても、完全に意図通りに動作するプログラムを頭から書き下していけばいいのです。オブジェクト指向プログラミングや関数型プログラミングは、不完全な人間のために用意されたもの、いわば「敗者の道具」といえます。

 もちろん、これは極端すぎる表現です。例えば、人は空を飛べないので飛行機に乗ります。このことをもって「飛行機は敗者の道具である」と言う人はいません。そうした意味では、オブジェクト指向プログラミングや関数型プログラミングを敗者の道具と呼ぶのは、単なる言葉遊びにすぎません。人間が全知全能でないのは当たり前ですから。

  • このエントリーをはてなブックマークに追加
  • Evernoteでクリップする
  • 印刷する

今週のトピックス-PR-

この記事に対するfacebookコメント

nikkeibpITpro

▲ ページトップ

CIO Computerworld

Twitterもチェック

執筆者一覧

イベントINFO -PR-

最新号

注目の書籍

好評発売中!

ホビープログラミング入門

電子工作機器やガジェットなど、プログラミングを楽しむ多彩な情報が満載です!