ようこそ。睡眠不足なプログラマのチラ裏です。

俺流オブジェクト指向Q&A

Q.オブジェクト指向って簡単ですか?

A.理解してしまえば簡単だが、理解するまでが難しい(と言われている)。


また、間違いやすいのは、「オブジェクト指向」そのものが難しいのではなく、
物事をオブジェクト指向で考えることができるように、
オブジェクト指向な考え方からパラダイムシフトすることが難しいという点。
オブジェクト指向」そのものは非常に簡単です。


Q.オブジェクト指向はどのように勉強すればよいですか?

A.オブジェクト指向に関する入門書や、有志によるWebサイトなどで、基本概念を学ぶべし。


また、OOP熟練者によるソースコードを見るのも、感覚をつかむために有用である。
関心事を分離したり、抽象的な概念をイメージできるかどうかが鍵。
ある程度感覚をつかんだら、GoFデザインパターンなどを学習するとよろし。


Q.オブジェクト指向ってそもそも必要なんですか?

A.オブジェクト指向は、複雑なものごとを単純に捉える考え方で、
現代の複雑なソフトウェアシステムを開発するためには必要不可欠。


オブジェクト指向分析、オブジェクト指向設計
オブジェクト指向プログラミングを行ううえでかならず必要となる概念。
現代のIT業界で、オブジェクト指向がわからないエンジニアは恥ずかしい。


Q.新人にもオブジェクト指向を教えるべき?

A.一般教養レベルとして必要 。


現在主流となっているJavaRuby、.NET(C#,VB)などはオブジェクト指向ありきのプログラム言語なので、
オブジェクト指向がわかっていないと、そもそも同じレベルで会話ができない。
オブジェクト指向は、習得するのに時間がかかる場合が多いので、早い段階で習得してもらうのが吉。


Q.教える時に何をやらせればいい?

A.技術書を読ませ、OOP熟練者のコードを写経させる。またそのコードを説明させる。


できれば、動物クラスを継承した犬クラスうんぬん・・・などは避けたほうが吉。
現実世界をそのままオブジェクトとして捉えるだけの考え方は、もう時代遅れ。
物事を抽象的に考え概念を抽出し、本質を見極め、
流動的要素をいかにしてカプセル化するかなどに重点を置いて教えるとよい。


Q.デザインパターンって使ってますか?

A.意識的に使うことは少ないが、無意識的に型にはまっていることは多い。
Frameworkを組むような場合には、自然と多用することになる。


Q.オブジェクト指向っておもしろい?

A.超おもしろいし、かっこいい。


一度オブジェクト指向の甘い蜜を味わってしまうと、
オブジェクト指向なしでは生きてゆけない。