【Java上達事例】独学の限界とその先のレベルに到達する方法

※こちらの記事は、プロスタ編集部がプログラミングの学習法を公開することで、皆様のお役に立ちたい意図で投稿しております。

参考サイト：[【Java上達事例⑨】独学の限界とその先のレベルに到達する方法](http://programming-study.com/case/limit/)

#【Java上達事例⑨】独学の限界とその先のレベルに到達する方法

独学でJavaを習得した30代男性がプログラミングを学習していく中でどのような壁にぶつかったのか、そしてその壁を乗り超える方法をご紹介します

##入院をきっかけにプログラミングを始める

私がプログラミングを始めたきっかけは入院でした。ジョギングが趣味で毎日近所を走っていたのですが、ある時、山を走っていたら転んで膝を骨折してしまったのです。約２週間の入院で暇を持て余していたため、前から興味があったプログラミングをやってみることにしました。

最初に取り組んだプログラミング言語はJavaです。これは情報学科の大学院を出て博士を取得した友人のアドバイスでJavaを決めました。ある程度大規模なシステム開発をするならJavaやCが良いと聞いたのです。100万行以上のソースコードを書くようなプロジェクトなどをやる予定はありませんでしたが、数万行程度のプログラムを書いてみたいと思っていた私は、Javaを選びました。本屋でC言語の本もチラ見したのですが、ポインタなどのわかりにくい概念があり苦戦しそうだったので、Javaにしたのです。

##スクールではなく書籍で勉強

当時、大学生だった私は経済的な余裕がありませんでした。本当はデジタルハリウッドという有名なスクールに通いたかったのですが、授業料を捻出するのが難しかったため断念しました。もし、お金に余裕があれば、スクールに通っていたと思います。
なぜスクールが良いのかというと、スクールには躓いた時にすぐ質問できるインストラクターが常駐しているからです。プログラミングを始めた方なら、誰しも障害にぶつかると思います。そんな時にGoogle検索で解決法が見つかれば良いのですが、なかなか解決できずに堂々巡りしてしまうということがよくあります。プログラミングができる人に質問すれば一瞬で解決できるようなことも、自分で調べると一日かかってしまうのです。
➡︎[ Javaを学べるオススメのプログラミングスクールはこちら](http://programming-study.com/language/java-school/)

そこで私は書籍をメインに独学で勉強しました。もちろん、わからない部分はGoogleで検索して解決しようとしました。勉強に使用していた本は「やさしいJava」「やさしいJava活用編」という書籍で高橋麻奈さんが書いたものです。
一冊当たり2600円なので２冊で合計5000円くらいでリーズナブルです。この著者の本は非常にわかりやすく、かゆいところに手が届くという感じで懇切丁寧に解説をしてくれるので助かりました。サンプルコードが出てくる度に、私は自分のノートに書き写していました。複雑なプログラムは一切出てこないのでノートに書き出しても十分スペースが足りました。こうして、私はJavaの基本概念であるクラス継承やメソッドなどの使い方を覚えていきました。だいたい、この2冊を完全にマスターするのに一ヶ月くらいかかりました。

```	
◯おすすめ書籍

[やさしいJava 第5版 (「やさしい」シリーズ)]
中古価格
￥1,235から
(2016/3/23 14:06時点)
```

```	
◯おすすめ書籍

やさしいJava 活用編 第4版 (「やさしい」シリーズ)
中古価格
￥1,275から
(2016/3/23 15:18時点)
```

次に私が行き着いたJava初心者用の本が「Head first」シリーズのJava本です。「Head First Java 第2版 ―頭とからだで覚えるJavaの基本」という本で価格は4000円以上しますが、図解が豊富でイメージで理解するタイプの私はスイスイと読み進めることができました。今、思い返すとこの本が一番勉強していて面白かったです。無味乾燥なコードだらけの専門的な書籍とは違い、読者を楽しませる仕掛けが随所に施されていたのです。最初に勉強するなら「Head Firstシリーズ」を使うことを強くオススメします。

```	
◯おすすめ書籍

Head First Java 第2版 ―頭とからだで覚えるJavaの基本
新品価格
￥4,320から
(2016/7/25 05:34時点)
```

##ひたすらサンプルコードを写経する

ここまででJavaのルールを一通り身につけた私はサンプルコードを探しに入りました。上達のコツは、素晴らしいサンプルコードを真似することだと考えたからです。Googleで「Java サンプルコード」と打ち込み、１ページ目に表示されたサイトを見て、面白そうなコードは全て真似して自分のPCに打ち込んでみました。
使った主なサイトは「Javaプログラムサンプル集」や「愛のJava256本ノック」といったサイトです。最初は意味もわからず打ち込んでいましたが、途中から一行エディタに打ち込むごとに、その意味を考えるようにしました。すると関数の作り方や変数の設定の意図などが明確にわかるようになってきました。

##デバッグに追われ挫折しそうになる

こうして自信をつけた私は、Javaのライブラリを使う方法が知りたいと思い、次なる書籍を探しました。そこで見つけたのが「現場で使えるJavaライブラリ」という本で約4000円ほどでした。

```	
◯おすすめ書籍

現場で使えるJavaライブラリ
新品価格
￥3,888から
(2016/7/25 05:37時点)
```

本当はラクダ本と呼ばれる、オライリー社の最高峰の書籍を使おうと思ったのですが、内容があまりに高度すぎてチンプンカンプンでした。オライリー社の本は中級者以上向けに書かれているので、初心者が購入しても挫折する可能性が高いと思われます。注意が必要です。

ここからが真の試練でした。この本を参考にしながら簡単な数学の問題を解くプログラムを書いていたのですが、どれだけコードを書いてもすぐにバグが発生してしまうのです。コードを書く時間よりもデバッグの時間の方が圧倒的に長かったのです。挫折しそうになった私はJavaのプロである情報学で博士を持っている友人にひたすら質問しまくりました。私が10時間かかってもわからなかったバグを彼はものの数分で解決してくれました。本当にプログラマーの達人レベルは凄いと感心したものです。

このようにして１年くらいJavaと格闘した後、やっと私も１万行くらいのプログラムなら書けるようになるまで成長しました。まだ一人前には程遠いですが、最初の頃と比べると雲泥の差です。

##学習のコツはできるプログラマーに教えてもらうこと

やはりプログラムを書くなら、できるプログラマーと組んだほうが絶対に時間効率が良いです。プログラミングをやっていると自分一人で考えても全然解決できないような問題が次から次へと降りかかってきます。このような時に、できるプログラマーと力を合わせれば仕事がはかどります。
Java初心者は書籍やサンプルコードで勉強したあとは、実践でコードを書きながらプログラマーに少しずつ教わるようにすると良いでしょう。プログラミングの家庭教師についても良いかもしれません。かけた費用の何倍にもなってリターンが返ってくると思います。


【オススメ記事】
➡︎[【Java上達事例⑧】営業だった私が２ヶ月でJavaを習得しSEに転職するまでの話](http://programming-study.com/case/java-se/)
➡︎[【Java上達事例⑩】30歳を過ぎてからプログラミングを始めた](http://programming-study.com/case/thirty/)