@IT情報マネジメント会議室は、2009年4月15日に新システムに移行しました。
新たに書き込みを行う場合には、新しい会議室をご利用ください。
新たに書き込みを行う場合には、新しい会議室をご利用ください。
- @IT情報マネジメント 会議室 Indexリンク
- IT戦略
- 仕事の改善
- アーキテクチャ
- プロジェクト管理
- ITインフラ
- Webマーケティング
- BPMプロフェッショナル
- 業務アプリ
- - PR -
オブジェクト指向の理解度を測るためには?
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-06-11 18:18
こんにちは。
いつもながら脱線ですが、 ここまでの書き込みを軽く読んでみましたが、 人それぞれ、オブジェクト指向に対して解釈がかなり異なる ように思いました。たぶん同じ会社内でも同じ現象なはずです。 それで、いざ、オブジェクト指向で開発するぞってなって 果たして、オブジェクト指向のメリットを活かして開発できるものなのか、、、 と正直思いました。あまり、変にこだわらずに、やった方が良いかもしれませんね〜 _________________ | ||||||||||||
|
投稿日時: 2004-06-11 18:37
msoです。
私も同意です。 オブジェクト指向について考えることがだいぶ違っている気がしていて、 正直なところ何をどうやって教えようかかなり混乱しています。 ただ、はっきりしたこともあります。 このスレッドを立てるまでは ”オブジェクト指向は実装してみないと理解できない” と強く信じていました。 ただ、今はオブジェクト指向の考え方と、オブジェクト指向言語は別に考えたほうが 良いと思っています。 んー、何からやろうか正直わかりません。 最初はオブジェクト指向の理解度を分析、 クラスわけしようとしたのにな。 よくわからないのですが、皆様の会社ではオブジェクト指向の 勉強ってどのようにしていますか??? | ||||||||||||
|
投稿日時: 2004-06-12 20:34
久々に白熱したスレッドを見つけたので一言。
(長いので殆ど読んでいないのですが…、長いスレッドは引用部分など もう少し分かりやすく閲覧できるようになると嬉しいですね^^ たぶん「オブジェクト指向とは何か?」といった抽象的な議論は 理論先行になり初学者にはハードルの高いものになるような気がします。 私の経験と考えからすると、抽象の前に具象あり、理論の前に行動ありだと思うので、 やはりまず手を動かしてコーディングさせることが、その人の理解度を量るためにも またその能力を向上させるためにも適していると思います。 なぜならコーディング能力はプログラマであれば最低限持っている能力ですし、 またそれが仕事上の技能であるわけですから、この前提条件を設定することに問題は ないでしょう。そしてコーディング(行動)は、その人の持つ理論が反映されて アウトプットされるわけですから、実力は自ずとコードに現れてくるわけです。 ここで私が言いたいのは、コーディングであれば各々が自分のスタートラインで オブジェクト指向に取り組むことができるという点です。UMLなどのモデリング技術は、 まずUMLの知識があり、オブジェクト指向開発の経験があって初めて同じ土俵に 上がることが可能になります。そして理論が理論として完結する世界での仕事であれば いいのですが、現実的にはプログラムを動かせなくてはどうしようもない世界なので、 実装技術をおろそかにすることは、自らの根っ子を否定することにもつながりかねません。 オブジェクト指向言語は、徐々にコードの完成度を高めていくことができる言語でもあります。 自分でその限界を設定しない限り、技術の向上をしていくことができると私は思っています。 例えばコーディングの過程で、自分が冗長に感じた部分を継承や多態性で解決できたり、 他人に説明する際に共通認識としてUMLを用いたりすることで、利便性が実感できる生きた 技術として身に着けていくことができるわけです。 最後に、コーディングの内容はやはりウィンドウアプリケーションの作成が オブジェクト指向には適していると思います。ゴスリングがJavaの中で最も気に入っている パッケージはSwingと答えたように、インターフェイスの理解は、利用・設計する上で オブジェクト指向技術の中でも最も重要な部分ではないかと思うからです。 以上スレの内容とは少しずれているかも知れませんが、その際はご容赦を。 | ||||||||||||
|
投稿日時: 2004-06-13 23:08
このスレッドをお読みの方でその昔に実体験されている方はきっといないと思いますが、
「構造化設計/構造化プログラミング」という新しいパラダイムについて技術者が熱く語った時期があったに違いないでしょう。 技術の進歩にあわせて、時折大きなパラダイムシフトがおこる訳で、 そのときは「どんな風に熱く語り合っていたのでしょう」 私は構造化でこの世界のキャリアをスタートさせて十数年、 ここのところは「オブジェクト指向」しているつもりですが、 努めて「冷めた」見方をするようにしています。 どんなに崇高な「○○指向」の深遠に迫るよりも、 実際に仕事をする人たちの中で消化可能なレベルで「良いものは良い」として受け入れることを第一としています。 かなり前に「自転車は乗れてなんぼ」という趣旨の発言がありましたが、 かっこうわるい自己流でも「自転車に乗れる」ことに意味があるのです。 「非の打ち所のないフォームで自転車を乗りこなすこと」に必要以上に時間を割いていても もっと便利な乗り物がでたら、乗り換える必要があると思うのです。 ちょっと脱線しましたが、後発な分、オブジェクト指向は構造化よりも洗練された考えであることは疑わないですし、現時点では「オブジェクト指向」が一番「乗っておいた方がいい」モノであると思います。 反面、もう少しすると、またもっと「便利」なモノが出てくると思うのです。 とすると、「研究者」の立場で仕事をしているのではないのなら、 実際のプロジェクトで「最小の(学習)コスト」で「最大の効果」を得る「損益分岐点」を目指すのが良いですよね。 オブジェクト指向は何なのか、オブジェクト指向のここがすばらしい、ここがだめと白熱するのは良いですが、 プロジェクトが成功しなくては元も子もないですよね。 結局一番最初の問題にかえれば、オブジェクト指向理解度は「あなたの会社」でのオブジェクト指向理解度な訳で、意見を募ることは有益だとは思いますが、正解は「あなたの会社(またはあなた)」にしかわからないと思います。 オブジェクト指向でいえば、クラスとして負うべき責務の範疇が問題領域ごとに異なるのと同じですね。 これも少し前にスレッドにありましたが「性別」をクラスにするかどうかも問題領域次第ですね。 例えば、システムが送るメールの宛先などで「Mr」「Mrs」などの敬称をつける必要があれば「男性」クラス「女性」クラスを作っても良いと思います。 _________________ | ||||||||||||
|
投稿日時: 2004-06-14 02:41
先にお断りしておきますが、個人攻撃ではありません。
「自転車にまたがっているだけ」を「自転車に乗れる」というのでしょうか? オブジェクト指向における「自転車に乗っている」が、どの程度の理解度なのか? どうやって判断したらよいか? というのが、このスレッドのテーマだと思っています。 そもそも、オブジェクト指向の導入は、再利用性、拡張性の高い設計を行うことで 高品質のソフトウェアを短い期間で開発するためのものと思っています。 この辺りを手っ取り早く実感するためには、実際のコードを記述するのが一番だと思います。 たぶん、このことを
といっていると解釈しました。 が、ご存知の通りオブジェクト指向言語であっても、 何も考えずにコードを書いていては一向に生産性はあがりません。 (このことからも、オブジェクト指向はコーディングよりも設計重視だと思っています) この時点では「良いものは良い」と受け入れられる可能性は低いのでは? 私は、オブジェクト指向導入の初期段階では、この状態でもかまわないと思います。 私もJavaを使ってしばらくしてもメリットが全然わからなかったです。 むしろ、生産性が低いと感じてました。 この後に、再利用性、拡張性などを意識した設計を勉強することで、 オブジェクト指向の理解度が一段階あがるのではないでしょうか。 # さて、最も性質が悪いのが #「自転車に乗れてると思いこんでる、ただまたがっただけ」の人 | ||||||||||||
|
投稿日時: 2004-06-14 10:16
失礼致しました。私の早とちりでした。 m(_ _)m 「スレッドの主題からずれて議論している事」を自覚する事が大切でした。 msoさんへ> 下記、はゆるさんが紹介する本がお勧めです。
昨日購入したばかりなので、まだ落書きもせずにちょうど半分しか読んでいませんが。 この本は、まず「オブジェクト指向」の話が何故混乱している状態なのか?の視点から 良くある比喩表現の問題に対し、実際は違うんじゃないの?と問いかけ、 オブジェクト指向を等身大のまま説明しています。 また用語が乱れている箇所については乱れた実状をそのまま受け留めて 説明している為、現状の混沌とした状態からでも無理無く理解出来ます。 きっと1章を立ち読みして、その内容で買うか買わないか判断出来ると思います。 読者ターゲットは、初心者なので上級者には読む事が辛いかもしれませんが、 「オブジェクト指向」を後輩に説明する人、講師をする人には、必読となる本と 思います。説明時に使える言葉やが盛沢山です。 # スラリと読んでいる途中だから著者の思惑を掴んでいないかもしれませんが... 所感: 「オブジェクト指向」が何故混乱している状態なのか?を読んで、 俺は、その混乱に加担している一員じゃね〜かよとちょっぴり反省しました。 | ||||||||||||
|
投稿日時: 2004-06-14 13:16
私の意見は、実はご指摘いただいた方ときっと一緒で、「またがる」のを「乗ること」だとも思っていませんし、キチンとした「設計(あるいはアーキテクチャー)」なしに「実装」してはせっかくJava(特にJ2EE)などを使っても一向に生産性はあがらないと思っています。最低限、意味のある「設計」をするのが、私の思う「乗る」ことだと思っています。 ただ、JavaやC#で書きましたというのは、ご指摘の通り、自転車でいえば「またがっただけ」ですね。 ただ、オブジェクト指向はその「終わりのなさ」から「完璧」「理想」「過度な再利用」などを追い出すと、かえって生産性を下げることになりかねないとも思っているのです。 そのあたりを、私は「非の打ち所のないフォーム」と書いたつもりです。 私は「研究者」でもなく「求道者」でもないので、そのあたりの引き際を意識したいと思っています。 ご指摘の通り「自転車に乗れてると思いこんでる、ただまたがっただけ」の人がとても多いのは悲しいことです。 これは、オブジェクト指向云々より、小手先の技術を振り回して立ち回れる現状に問題ありですね。こういう話題のスレッドで盛り上がれる人が大勢いるので、そんなに捨てたものではないとも思いますが... _________________ | ||||||||||||
|
投稿日時: 2004-06-15 10:25
私も実戦経験乏しいですが,大いに興味があります.
いわゆる各人の持つ『暗黙知』ってやつですよね. クラス図を書くのも良いのかもしれないですけど,効率悪い気がします. 一番詳しそうなコアメンバー数名で各メンバーにインタビューして,状況見ながら色んなQ&Aやるとかは如何でしょうか? オブジェクト指向に限らず暗黙知を図るには有効みたいです. |