• ベストアンサー

オブジェクト指向が先?言語が先?

これからプログラミングを勉強するとして、オブジェクト指向の本と言語の本があるとすれば、どちらを先に読むべきなんでしょうか? オブジェクト指向って考え方ですよね? どんな分野も考え方の部分って、やる前に教わるより、ある程度経験を積んでからの方が理解できることが多いと思います。 となると、プログラミングもまずは言語を覚えて、ある程度いろいろ作れるようになってからオブジェクト指向に手を出した方が良いんでしょうか? それともオブジェクト指向を勉強してからの方が、言語を理解しやすくなったりするのでしょうか? そもそも個人が趣味レベルでプログラムをするのに、オブジェクト指向って必要なんでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

オブジェクト指向で作っても、各メソッドの中は手続き型とほとんど変わらないと思いますし、 言語基礎が先じゃないと、作れないんじゃないでしょうか。 といっても言語基礎なんて、 =+-*/.(ドット演算子)->(アロー演算子)などの記号の使い方 変数(配列、構造体、ポインタなど含む)の使い方 条件分岐、ループ処理などの書き方 関数名(組み込み関数) 関数の作り方、関数の呼び出し方、戻り値、引数の渡し方・使い方 で終わりだと思います。 一番覚えるのが大変なのは、関数名だと思います。 英語で言えば、単語の暗記。それ以外は主語、述語などの文法ですね。 >となると、プログラミングもまずは言語を覚えて、ある程度いろいろ作れるようになってからオブジェクト指向に手を出した方が良いんでしょうか? OOP(オブジェクト指向プログラミング)をやりたいのであれば、 上記言語基礎が終わったら、すぐにOOPを始める方が、よけいな先入観が入らなくていいと思います。

noname#157386
質問者

お礼

ご回答ありがとうございます。 なんだかさっぱりしていて分かりやすかったです。 言語の入門書をパラパラめくってみて、なんだか難しいことをしているように感じましたが、教えていただいたとおりの視点で見てみると、結局そういうことを詳しく説明しているだけかということに気づきました。 言語基礎を覚えて、オブジェクト指向でどう使えば良いのかを考える方が良いかもしれません。

その他の回答 (3)

  • hashioogi
  • ベストアンサー率25% (102/404)
回答No.4

オブジェクト指向を先に勉強しても勉強内容に関して実感がわかないだろうと思う。 だから私はまず言語を勉強して、有る程度プログラムが作成できるようになってから、実際にプログラミングをしながら(実験をしながら)オブジェクト指向を勉強した方が良いのではないかと思う。 Q趣味レベルでオブジェクト指向が必要かどうか? A言語による。C言語なら特にオブジェクト指向を身につけていなくても十分プログラムが作成できるが、Javaなどは難しいかもしれない。

noname#157386
質問者

お礼

ご回答ありがとうございます。 そうかもしれません。 やはり自分のやりたいものをまず用意して、それにどう取り入れていくかをイメージしないと分かりにくいかもしれませんね。

noname#161640
noname#161640
回答No.2

その2つを完璧に分離して考えられる場合ばかりでもないように思います。何の言語を学ぶかによって変わってくるでしょうから。 オブジェクト指向というのは、言語に後から付け足してあるようなものというわけでもありません。例えば、やってみようと思った言語がC/C++であったりPHPであったりするならば、ひとまずオブジェクト指向を脇において言語の基礎を勉強する、ということはできるでしょう。 けれど、選んだ言語がJavaだとかC#だとかRubyであった場合、言語仕様そのものにオブジェクト指向の概念が深く関わっていますから、オブジェクト指向の考え抜きに言語を学ぶことは不可能です。JavaやC#は、まずクラスを定義することからはじめなければいけませんし、Rubyは何をするにもオブジェクトのメソッドを呼び出して処理します。「ひとまずオブジェクト指向は脇において」というわけにはいきません。こうした言語は、「言語を学ぶ=オブジェクト指向を学ぶ」といってもよいでしょう。 ですので、とりあえずは何をしたくて、どの言語を学びたいか、それによって変わってくると思います。それに、そんなに大仰にかまえるほどのものでもないと思いますオブジェクト指向は。もちろん、本格的に深く理解しようと思えば簡単にはいきませんが、ある程度の概要を飲み込んで使えるようになるのにそんなに時間や労力はかからないと思いますよ。

noname#157386
質問者

お礼

ご回答ありがとうございます。 なるほど、すでにオブジェクト指向を含む言語があるんですか。 オブジェクト指向についても学びたいなら、そういう言語を選ぶというのも手ですよね。

noname#208507
noname#208507
回答No.1

とりあえず面白そうだと思った方が先で良いでしょう。面白い方が習得も早くなります。個人的には言語を先に覚えて、作ったプログラムを動かす方が興味が持続すると思います。 趣味なら無理にオブジェクト指向を学ばなくても、プログラミングは楽しめるでしょう。 もしオブジェクト指向に興味があれば、一般的な入門書のあとに「構造化プログラミング」(E.W.ダイクストラ. サイエンス社, 1975)の第三章や、米 Byte 誌の Smalltalk issue. Vol.6, No.8 (1981) を読むことをおすすめします。情報系の大学図書館などで閲覧できます。

noname#157386
質問者

お礼

ご回答ありがとうございます。 紹介していただいた本の年号を見て驚きました。 1975年・・・オブジェクト指向は最近の話だと思ってましたが、そんなに前からあったんですね。 大学図書館についても思いつきませんでした。

関連するQ&A