オブジェクト指向をどう学ぶべきか

アバター
namachan10777
記事: 32
登録日時: 10年前
住所: 四国
連絡を取る:

オブジェクト指向をどう学ぶべきか

投稿記事 by namachan10777 » 10年前

http://dixq.net/forum/blog.php?u=124&b=5665
日記と議論されていることが食い違っているようなので、新しく。
僕も勉強中の身であるので、なるべく様々な意見を聞きたいと思います。
僕は本を読み、考え、作ってみるというのを繰り返して勉強するのが良いと考えています。
皆さんの意見はどうでしょうか。

Rittai_3D
記事: 525
登録日時: 12年前

RE: オブジェクト指向をどう学ぶべきか

投稿記事 by Rittai_3D » 10年前

>derokさん
derok さんが書きました:ですが、Cっぽく書けないなら、オブジェクト指向っぽく書けるわけではありませんよね?
そうですね。設計をしっかりする必要があります。どんな言語でも設計(考えること)が大切です。
わたしがJavaやC#を勧めた理由は、前にも書いたとおり、オブジェクトの分割の参考になるのでは?と考えたからです。
わたしの経験ですが、C言語からC++に移行するとき、C言語っぽさが抜けずに、うまくオブジェクトの分割が出来ないことがありました。
また、namachan10777さんの、
namachan10777 さんが書きました:インターフェースや、継承、カプセル化などが言語機能でサポートされていない言語でオブジェクト指向を学ぶのは非効率的かと。
というのに同意です。
derok さんが書きました:C#やJavaでもなんちゃてオブジェクト指向はたくさんあるでしょう。
このなんちゃてオブジェクト指向、オブジェクト指向をすることで非オブジェクト指向的なコードより可読性も下がり、拡張性も低くなっているようコードから抜け出すのは大変です。
これをできるようになるにはかなりの時間がかかるでしょう。
その時間に比べてCっぽく書いてしまう時間なんて誤差だと思います。
時間がかかるのは同意します。また、C言語とC++を別言語として考えているなら誤差に含まれると思います。
しかし、C++とC言語を別言語と考えていない人は少なからずいます。
そういった人たちにはJavaやC#などのオブジェクト指向言語で一度学ぶ方がよいと思います。
C++とC言語の区別がつかない状態でオブジェクト指向を勉強するより良いのではないでしょうか。

アバター
Nao
記事: 24
登録日時: 12年前

Re: オブジェクト指向をどう学ぶべきか

投稿記事 by Nao » 10年前

「C++とC言語の区別がつかない」ような人がオブジェクト指向を理解できるのか?疑問であります。
最後に編集したユーザー Nao on 2015年8月27日(木) 00:52 [ 編集 1 回目 ]

Rittai_3D
記事: 525
登録日時: 12年前

Re: オブジェクト指向をどう学ぶべきか

投稿記事 by Rittai_3D » 10年前

>Naoさん
無理でしょうね。

アバター
usao
記事: 1889
登録日時: 12年前

Re: オブジェクト指向をどう学ぶべきか

投稿記事 by usao » 10年前

オフトピック
お題目が「オブジェクト指向をどう学ぶべきか」ということになってるので,
既に「”オブジェクト指向”を学ぶ」という謎行為に対する動機づけ等は済んでいるのだとして…
これから学ぶ状態 = その時点では(私のように)「”オブジェクト指向”って何よ?」という状態  なのだと思うので,
使う言語によって学ぶことに関しての良し悪しがあるのだとするならば,言語選択の話に関しては3Dさんとは逆方向に考えるかなぁ.

つまり,あくまでも「”オブジェクト指向”を学ぶ」のが目的なのであれば
”オブジェクト指向”的に書くためのサポートが少ない言語であるほど良い気がする.
仮に,{普通な,一般的な(?)}書き方をしてたらほっといても”オブジェクト指向”(っぽいやり方)になる言語 ってのがあるのだとしたら
その言語で普通にやってると ”オブジェクト指向” と ”オブジェクト指向”ではないもの との差が見えないだろうから
結局「”オブジェクト指向”って何?」みたいなのが見えなくなると思うので.

>C++とC言語には互換性があるので、ついついオブジェクト指向らしからぬ方法で実装してしまうときがあります。
>オブジェクト指向を学び始めならば特に。

…ということなのであれば,
何かしら{意識して/気を付けて}いないと”オブジェクト指向”らしからぬ方法で実装してしまうC++というのは
「”オブジェクト指向”の学習」という目的については良い選択肢なのではないかと.

derok
記事: 51
登録日時: 12年前

Re: オブジェクト指向をどう学ぶべきか

投稿記事 by derok » 10年前

えー、正直言いたいことはNaoさんに言われて時に言うことはありません。
一応自分が発端となったのでコメントをしておきます。

ISLe
記事: 2650
登録日時: 14年前

Re: オブジェクト指向をどう学ぶべきか

投稿記事 by ISLe » 10年前

言語だけで比較したらなんでも同じなのかもしれないですが
JavaもC#もデファクトスタンダードなクラスライブラリを使うことが既定路線なので
環境としては適している気がします。

とりあえずの手本が最初から用意されているわけで訳も分からず答えのないものに悩んで人に聞いたりする無駄は省けるのではないでしょうか。
本物のオブジェクト指向を理解しようというひとには物足りないのかもしれませんが。