実はオブジェクト指向ってしっくりこないんです!:気分はstatic!:エンジニアライフ
いやはやびっくりした。お粗末さに。
特に「メンバー関数をstatic宣言すればインスタンス宣言をしなくてもいい」ということ知ってからは、メンバー関数を従来のファンクションのように使っている。
吹いたw。
タイトルどおり、私はオブジェクト指向がわかってないのです。それでもユーザーの要望にこたえるために .NET FRAMEWORK を駆使して開発を行っているのです。
オブジェクト指向がわかっていないから、主張も結論もありません。模索しながら開発し給料をもらっている身なのです。そのところを理解して欲しいです。ryo様、今回のコラムについては、オブジェクト指向がわかっていないから書いた。だから入門者とか、わかっていない人を対象にしています。
ちょ(ry
オブジェクト指向の良さも悪さもわかっていないと自認している人が、入門者に向けて「よく分からないし、無くてもやっていけるから必要ない」と書くというのはさすがにまずいでしょ。
本やサイトによく書いてあることを鵜呑みにするのではなく、自分の中で消化し自分なりのコンセプトを持つことであり、その努力が創造性を刺激したり、新たな技術に対する柔軟的な対応力を持つことの原動力になるということです。
いや、初心者のうちは自分のコンセプトを持とうとするよりも信用できる本やサイトの理解に努めるべき。「自分なりの解釈」は、基礎や定石を身につける努力を放棄し、自身の曲解や誤解を容認する態度につながりやすい。それにあえて主張せずとも、どのみち物事は「自分なり」にしか理解できない。
そもそも、なまじ従来技術の知識があるとついつい慣れたやり方に戻りたくなるもの。そしてそれを正当化するために、「新しいから良いとは限らない」とか「自分には必要無い」とか言ってしまいがち。そうした言い分が正しい場合もあるけど、単に学習の面倒くささから逃げるための(無意識の)言い訳であることも多い。
(コメント)
オブジェクト指向がわからないエンジニアは、無理にオブジェクト指向を使うのではなく、あえて使わない。正確にいうと避けるというのも手ではないだろうか?流行りに流されずに無理せず、自分の実力の範囲内で安定したサービスを提供するのもエンジニアとしての務めだと考える。
これはまあそうかも知れない。けど、周りが当たり前に使っている技術を避けなければならないということは、その分野のエンジニアとしての能力に黄色信号が灯っていることでもある。今後いつまでも避け続けるのは難しいだろうし、周りの足を引っ張ってしまう可能性もあるので、自分に出来る仕事に移ることを考えるべきかも。
(コメント)
生き残るためには仕方のないことなのかもしれませんが、そのオブジェクト指向自体を否定する(オブジェクト指向をすべきところでもしない方が自分は楽だ)考え方を、未来のある若い人には伝授されない方が良いと思います。また、積極的に他の方にも広められない方がよろしいかと思います。
これはまったく同感。
(コメント)
現場的には「オブジェクト指向をあえて使わない」と言う選択はあります。
とっても残念だけどよくあります。たとえば「ぽりもふぃずむってなんですか?」「グローバル変数が使えないなんて、どうやってプログラムするんですか?」と聞いてくるような素人がメンバーの半数近く占める場合や、さらには開発リーダーがプログラミング経験十年以上の自称ベテランだけどポリモフィズムも知らなければGoFも読んだことがないような場合は、もう諦めるほかありません。
javascript:;
残念だけど日本ではよく見られる光景ですよね。
いやはやごもっとも。自分も「オブジェクトってのはVBとかのボタンとか*1のことだ」とか「読んだことあるのはK&Rだけ(えっへん)」とか言われたときには眩暈が…。
*1:つまり、GUI∈オブジェクト、でなくてGUI部品=オブジェクトだと思っている