• ベストアンサー

java初心者の悩みを聞いて下さい(技術的なことではありません)

プログラミングを仕事で始めて約半年になります。 言語はjavaです。 それまでプログラムはいじったことがなく、またセミナー等も受けたことがないので 全くの素人からのスタートでした。 プログラミングを始めることになって、初めに仕様書をわたされて簡単な説明があり、 あとはほぼ放置プレイです。(多くの人が始めは同じ状況だと思いますが) 半年たった今でも、雛形をあてにし簡単な改修しかできず、DBがからんだり複雑なことになると固まって時間ばかり過ぎてしまいます。 頑張っていれば時間が経てば解るようになるのだろうかと不思議に思います。 将来この仕事で食っていけるのだろうかといつも思っています。 プログラムを組む際に、気をつけていることは 目の前のコードを意味を理解しながら次へ進むこと。 雛形をあまりあてにしないことです。 技術的なことではなく、抽象的で漠然としたことを書いて申し訳ないのですが、 心優しい経験者のかた、アドバイスお願いします。

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

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

>プログラムをいじったことがない >セミナー等を受けたことがない という点は無視します。 すべての人がいじったことがない時期を持っているわけですし、セミナーを受ける人など少ないと思いますし、受けても全く分からないところからできるようにはなりませんし。 >雛形をあてにした簡単な改修しかできない >DBがからんだり複雑なことになると固まる この部分については少しずつ勉強していくしかないでしょう。 今のあなたに必要なのは主に3つだと思います。 1)Javaの言語仕様をある程度知る 2)オブジェクト指向・デザインパターンを理解する 3)アルゴリズムの基本を身に着ける それぞれ2ヶ月平日1日1時間位の勉強で何とかなると思います。 1)はSJC-PというJavaの資格の取得をお勧めします。Javaの知識を体系的に学べるので非常に重要です。 2)はデザインパターンの本を読むことですね。Javaのプログラミングでどのようなクラス構成にすればよいかなどが理解できるようになりでしょう。まともなJavaを書くためにはデザインパターンは絶対に必要です。 3)も基本は本ですね。少し難しいロジックをどのように書いたらいいか、分かるようになると思います。また、余裕があれば人の書いたソースを読むということをしていくといいと思います。

jerox
質問者

お礼

具体的な説明をどうもありがとうございます。 (1),(2),(3)すべて今の自分に欠けていて、必要だと思います。 すべてを飛ばしてプログラミングを始めたので、Javaを始める前の、前提知識みたいなものを今一度勉強しようと思います。 先入観でプログラミングは難しいと思わず、コツコツと身に着けていくことが大切ですね。

その他の回答 (4)

回答No.5

あなたが作りたい物を実際に作って下さい。それが一番の近道です。仕事でそれができないのならプライベートでやってみましょう。 作る物はなんでもいいと思います。作るプロセスで必要になって調べた知識は、本で読んだだけの知識よりもずっと役に立ちます。また、それ以上に「作れた」と言う自信があなたの成長をさらに加速させるでしょう。 向上心があるのは素晴らしいことです。ぜひとも頑張って下さい。 # ちなみに、上はプログラミングが好きってこと前提のアドバイス。 # 嫌いだったら、技術研究しすぎるよりも人脈を徹底的に育てたり、 # 修羅場経験を繰り返した方がいいSE~PMにはなりやすいかも:-)

jerox
質問者

お礼

プログラミングは複雑ですけど、やはり好きですね。 おっしゃる通り、遊びの延長で何かプログラムを作成するとそれが一番身につきますね。 そういった努力が一番身を結ぶのだろうと僕も常々思います。

  • dekopa-
  • ベストアンサー率42% (161/378)
回答No.3

技術を身につける事とは、サル真似から始める事ですよ。 サル真似を続けることで自分の身になっていくのです。 Javaなら、ネットに膨大なサンプルが転がっています。そして、特定のパターン(デザインパターンとか大仰なものではなく、メソッドの極一部とか)があります。 例えばListの全要素を処理するループは、 #List list; が既に要素を持っているという前提で #listには文字列が複数行ある、という場合 for (Iterator it = list.getIterator; it.hasNext(); ) { String str = (String)it.next(); #文字を処理... } となります。あるいは Iterator it = list.getIterator(); while (it.hasNext()) { String str = (String)it.next(); System.out.println(str); } とか。どっちも同じですが、こういった「誰が書いても同じ」という定型的なパターンは沢山あります。 #言語によりますが、Javaならあります。 まずそういうパターンを覚えましょう。DBの操作だって、JDBCで本当に使うクラスは極僅かです。 参考書籍として、「Java魂」を挙げておきます。良いコードが沢山載っています。

参考URL:
http://www.amazon.co.jp/exec/obidos/ASIN/4873112079
jerox
質問者

お礼

具体的な説明、ありがとうございます。 まずはすでに完成されたコードを見て学ぶことが大切ですね。 Java魂は確か会社でみたことがあります。 そのときは、分厚い参考書だなとしか思っていなかったのですが、手にとってみようと思います。

  • yama06
  • ベストアンサー率61% (101/164)
回答No.2

私もプログラミングは独学です。もうかれこれ14年にもなりますが。 勉強法としては ・図書館で本を借りてくる ・本や雑誌を購入して読む(自分で買っておけば転職しても大丈夫) ・メーリングリストの議論を読んだりあるいは議論に参加する ・Webで調べる、Webの記事を読む(参考URL) ・他の人の書いたコードを読む ・情報処理試験を受ける といったようなもので、それぞれに良い点がありますが、最初の頃は 本や雑誌が大切だと思います。また、情報処理試験の勉強も、専門の 教育を受けてこなかった私などには、ある程度参考になりました。 最近は各分野でバイブルと呼ばれるような定番の本がありますから こういった掲示板やメーリングリストで、どういった本が良いかや 本の内容の理解できない部分について質問してみるのも良いでしょう。 またDBなどは仕事以外で、自分でゼロから構築してみてください。 全体像が分かるようになるだけでなく、今まで意味の分からなかった ものの存在理由なども分かるようになるかもしれません。 自信がつくまでには数年はかかるのかもしれませんが、 努力して苦しんだら苦しんだだけ自信も大きくなると思います。

参考URL:
http://www.atmarkit.co.jp/
jerox
質問者

お礼

自分も情報処理の試験を受ける準備をしています。 全くの素人からのスタートという点では、僕と全く同じですね。 参考になりました、ありがとうございます。 実践してみます。

  • galluda
  • ベストアンサー率35% (440/1242)
回答No.1

がると申します。エンジニアやっております。 > プログラムを組む際に、気をつけていることは > 目の前のコードを意味を理解しながら次へ進むこと。 > 雛形をあまりあてにしないことです。 大変によろしい心がけかと。この業界は一生勉強です。常に「考えながら」頑張ることが出来るというのは、なによりの宝です。 次は… ・書籍を読む ・Webサイトで色々と調べたり読んだり質問したり回答したりする ・よい師をみつける でしょうか? 意識されているだけでも随分と違うと思います。 息が切れないように「怠けながら」頑張ることも大切です(笑

jerox
質問者

お礼

> 書籍を読む > Webサイトで色々と調べたり読んだり質問したり回答したりする は最近意識して心掛けているのですが、 > よい師を見つける はなかなか難しいですよね。 頑張ります。

関連するQ&A