「一気に最後まで読んだ」本、教えて下さい!

現在、転職を考えていますがオブジェクト指向の勉強をするにあたって
まず、何から始めればいいでしょうか?
先日面接時にオブジェクト指向の勉強をした方がいいと言われましたので。
プログラミングは全くの初心者です。

A 回答 (5件)

方法論や言語間の違いはさておき、私の方は「転職」という観点から。



今だとやっぱしこれかな。

「Sun認定Javaアソシエイツ試験概要」の公式サイト
http://suned.sun.co.jp/JPN/certification/sjcadet …

今現在、Javaプログラマーになるためにスクールなどに通うとなると、大抵は「SJC-P」に関する勉強漬けになるかと思われます。もちろん、こちらの方は同じ「Sun Certified」でも『Associate』ではなく『Programmer』の方ですし、それ自体は否定しませんが、実際の所「SJC-P」ってUMLをまったく知らなくても合格できちゃうんですよね~。オブジェクト指向に関する資格試験なのに何故に?って感じです。(一応、私はA[310-019]もP[310-055]も両方、独学にて取得済みですが。)

ちなみに、私がSJC-Aを受験する際に利用した対策本は、これです。

「Sun SJC-A認定ガイドー310-019対応」
■ 株式会社クロノス 山本大、志賀澄人、山野寛、大伴明弘、田中征司、山田信人、芳賀浩司、舩木啓介著
■ 日経BP社
■ 2006年 8月28日 1版1刷
http://bpstore.nikkeibp.co.jp/item/main/14822282 …

上記の本のp.17の上の方に、次のような記述があります。

「(中略)SJC-P資格試験は、Javaの構文やクラスの作成方法、Javaによるオブジェクト指向プログラミングの実現方法などを問う試験なので、上記のようなニーズに応えられないのも仕方ありません。しかし、エントリーレベルの認定資格であるはずのSJC-Pを取得しても、ソフトウェア開発で必要とされる十分な知識を持ったエンジニアであることを証明できませんでした。このような理由から、Java言語を利用したシステム開発への入門に必要な技術を体系的に学べるようにSJC-A認定資格が作られたのです。」

個人的には、そもそもオブジェクト指向なんて、本を一冊読んだだけではなかなか理解しづらいものがあるでしょうし(私自身、様々なJavaの技術を勉強していくうちに分かってきた、という感じです。)、今はとにかく「クラス図なら何でも聞いてください。」って言えるぐらいまで勉強し、その後からでも全然遅くはないと思います。

最後に、問われる知識をJavaだけに限定した場合、ランク的には以下のようになると思います。

SJC-A → 基本情報技術者(午後:JLS3.0) → SJC-P → ・・・

JITECの秋期試験の方も恐らく、7月の上旬以降に願書の受付が始まると思いますが、国家試験でもベンダー試験でも試験範囲が一部重なっていたりしますので、今のような真ん中の時期に、SJC-Aだけを短期集中でサクッと取得しておくのも手です。
    • good
    • 0

オブジェクト指向設計を学ぶための具体的なプログラミング言語としては、


C#(Microsoft)またはJava(Sun)が最適だと思います。
どちらの言語も、基本的なコンパイラと開発環境は無償で入手できます。
まずは、これで実践されてみることをお勧めします。

これらの言語(環境)の利点は、私が指摘するまでもないと思われますので、
私なりに考える問題点をいくつか挙げておきます。ご参考まで。

C#言語の問題点
(1)オブジェクト指向設計でないプログラミングも書ける
(2)C#でプログラミングする人は、C言語から勉強を始めた人が
   多いので、オブジェクト指向設計をしない人もいる
(3)MicrosoftがC#言語の無償提供をやめる可能性がある。

Java言語の問題点
(1)コンパイラ、(統合)開発環境を入手して、プログラミングを
   はじめるまでの敷居が初心者にとって非常に高い。
(2)日本人にとって、Java関連の雑誌、Webサイト等がすっかり
   寂れてきた感がある。


また、オブジェクト指向プログラミングの設計法を系統的にまとめたものを
 ”デザインパターン”
といいます。
初心者の人にとっては、デザインパターンの本を読んでも全く意味が
分からないと思いますが、読んでおく必要があります。
そして実践経験を重ねると、やがてデザインパターンの意味が分かってきますし、
有益な分かりやすいプログラミングが書けるようになるでしょう。

なお、ゲームプログラミングやエクセルのマクロ言語等は、(比較論ですが)
オブジェクト指向設計と最も遠いところにあるプログラミング手法です。
私としては、お勧めできません。かえって害になるとさえ思っています。
    • good
    • 0

オブジェクト指向というのは開発方法論です。


僕は本格的なプログラミングはCから入りましたが、これらは構造化プログラミングの流れを組んでいます。
一旦、頭の中が構造化プログラミングになれちゃうと、オブジェクト指向はとっつきにくい
ものになってしまうと感じています。

オブジェクト指向は先ほど言った様に開発方法論ですから、プログラミングを
しなくても学ぶことはできます(大変かもしれませんが)。

本当にオブジェクト指向を勉強したいのであれば、出回っている本を
しっかり読んで、理解することです。
「カプセル化、継承、多相性」という言葉をしっかり理解すれば、オブジェクト指向
を理解したと言ってもいいのではないでしょうか。
    • good
    • 0

ANO.1さんに基本的に賛成。


プログラミング言語っていうのは、あくまでも道具なので、それ以前にロジックが考察できるようになることが大切です。

心配しなくても、普通に生活を送れる人なら、問題なくロジック考察はできるようになりますけどね(笑)
一般的な話にすれば
「料理を今まで作ったことがないんですが、どんな包丁を使えばいいですか?」
と聞かれている状態なので、
「包丁も大事だけど、何の料理を作るのか?その料理の手順を把握しているのか?料理の材料は用意したか?」
等の方が大事ですよ。
・・・ってことです。
料理って手順がちゃんとありますから、プログラミングに似てるんです。
    • good
    • 0

オブジェクト指向どうとかと言う前に、まずはプログラムを「組む」という


作業になれることが必要です。

仕事の経験上、プログラミング初心者にプログラムを教えることは少なくない
のですが、初心者の人は「プログラミングロジックを考える」ということが
全くといって良いほど出来ません。これは言語がどうしたという以前の問題
なんで、いきなり特定の言語を勉強しても全く使い物にならないんです。

ということで、まずはどんな言語でもいいですから、プログラムを動かして
みる、ということをトコトンやってみて下さい。私はエンターブレインの
「ツクール」シリーズでゲームを作ってみることを、プログラムの勉強として
いつもお勧めしています。実際このシリーズは結構骨太なプログラミング
言語になっていますので、コレに慣れていれば、どんな言語を始めるにしても
非常に「慣れる」ことが速いです。
http://www.enterbrain.co.jp/digifami/

ゲームじゃあまりに・・・と言われるなら、Excelのマクロ(VBA)も、かなり
VisualBasicに近い言語ですから、やりこめばプログラムの勉強になりますよ。
http://www.officepro.jp/

本格的にプログラミング言語に接するのは、これらのアプリで「コンピュータが
動く」ことの面白さを知ってからでも、全然遅くないです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!