変化を否定する人はオブジェクト指向を理解していない
オブジェクト指向は、文法を覚えたら理解したと言える程単純なものではありません。プログラミング言語が備える、オブジェクト指向に関する文法は、あくまでも実現するための手段であり、オブジェクト指向そのものではありません。オブジェクト指向は、その考え方を理解して初めて習得したと言えるものです。従って、オブジェクト指向がどの様な概念なのかを深く理解しなくては、マスターしていない事になります。残念な事に日本のIT業界の仕事のやり方を見ると、オブジェクト指向の考えを理解していないと思えてなりません。
私がそう感じる理由は、日本には変化を頑なに否定し、変化に拒否反応を示す人が多いからです。新しいものを否定し、何でも反対を唱えるその姿勢には、オブジェクト指向を理解しているとは言えません。何故ならば、オブジェクト指向は変化を前提として考えだされた概念だからです。
オブジェクト指向の前は、構造化プログラミングの考えが浸透していました。予め仕様を完全に決定し、ウォーターフォールに開発を進めていました。このやり方は、変化が少なく、プロジェクトの規模が小さいときには上手くいきました。しかしながら、プロジェクトの複雑化に伴いその考えは脆くも崩れ去り、ソフトウェア危機が唱えられるまでになりました。
その状況に対応するために考え出されたのが、オブジェクト指向プログラミングです。オブジェクト指向は、今までの問題を改善するべく、データと振る舞いを一体化し、プログラムを局所化し、プログラムに拡張性をもたらしました。構造化プログラミングは、あらかじめ仕様を完全なものにするのが前提でしたが、オブジェクト指向プログラミングではその前提がありません。小さなプログラムを徐々に組み立てて、ソフトウェアおよびシステムを拡張させながら完成させます。
オブジェクト指向の根底にあるのは、変化に如何に対応するのかです。変化に対応するために、プログラムの影響範囲を狭め、プログラムの拡張性を重視したのです。ですから、変化が早い現実から目をそらし、変化を拒み、無意味な管理をする保守的な態度は、オブジェクト指向の考えを体現しているとは言えません。
人間は生きているから活動し、時がたつにつれて全てが変化します。その現実を無視し変化を否定するという事は、世の理に背を向けている事になります。人は生き、時は流れるので、変化が起こるのは当たり前の現象であり、それを踏まえたオブジェクト指向の考えはとても自然です。無理して自然の流れに逆らうよりも、現実を直視して自然を受け止め、オブジェクト指向の考えを実践しましょう。
それこそが技術者として、いえ人そして自然な生き方だと私は思います。