世界で最も人気のある言語はなにか、ご存じですか?それは、「Java」です。プログラミング言語の人気ランキングであるTIOBE Indexにおいて、2位のCに大きく差をつけてJavaが1位になっています(2016年12月現在)。Javaは、10年以上前から安定的な人気を誇っていますので、この状況は当分の間続くことでしょう。人気が高いということは、それだけ仕事も多いということです。つまり、学習に費やす労力への見返りが大きいとも言えます。プログラミング言語は独学でも学ぶことができ、Javaも例外ではありません。あなたもこれからJavaを学んでみませんか?
この記事では、独学でJavaを学びたい未経験者およびエンジニアの方のために、独学でのJavaの勉強方法についてお伝えしていきます。最終的には、必要な情報を検索しつつ、プログラミングが進められるレベルを目指します。ぜひご一読して、あなたもJava使いの仲間入りを果たしましょう。
参照:Javaエンジニアになるために必要なことについて解説した記事はこちら
未経験者(ビギナー)向けの勉強方法
それでは、未経験者(ビギナー)向けの学習方法から説明していきます。基礎から着実に勉強していきましょう。
未経験者の場合の学習の流れ
コンピューター(IT)の基礎知識の学習
プログラミングは、いうなればコンピューターに対する命令なので、コンピューター全般の知識を持っていたほうがよりスムーズに学習できます。パソコンの動作原理やネットワーク、ハードウェア、ソフトウェアなどの幅広い知識を得ておきましょう。「コンピューターの構成と設計/ジョン・L. ヘネシー, デイビッド・A. パターソン著/日経BP社」が、非常によくまとまっているので、ぜひご一読することをおすすめします。上下巻に別れた分厚い本ですが、5版まででている名著なので、時間をかける価値はあります。
Javaの言語構文の学習
コンピューターの基礎が理解できたら、Javaの言語構文の学習を始めましょう。ウェブ上の情報では少々心もとないので、「スッキリわかるJava入門/中山 清喬, 国本 大悟著/インプレス」などの入門書を片手に進めるとよいでしょう。書いてあることを読むだけでなく、必ず自分の手で入力して、動作を確認してください。漢字のように、プログラムも書いて覚えるものです。
Javaライブラリの学習
他の言語と同じく、Javaにも豊富な標準ライブラリがあります。初心者の方が一気に覚えるのは無理があるので、書籍にでてきたものから順番に覚えていきましょう。後は、使う前に調べるようにしていけば、自ずと頭に入っていきます。ファイルの入出力やネットワーク、数値計算など、一般的な処理は標準ライブラリで事足ります。自分で書く前に、標準ライブラリに似たようなものがないか調べてみましょう。もちろん、学習目的として自分で書くというのはアリです。
簡単なプログラムの作成
Javaが一通り書けるようになったら、簡単なプログラムを作成してみましょう。コマンドラインで動作するツールを作ってもいいですし、GUIライブラリを活用した電卓などを作ってみてもいいでしょう。あなたが作っていて楽しめるものにしましょう。ここまでくれば、後は調べながらでもプログラミングできます。続けて、サーバーサイドプログラミングやフレームワークについても学習しておきましょう。
おすすめのウェブサービス
プログラミング初心者の方には、オンライン学習サービスの「paiza」をおすすめします。学習レベルごとにプログラミングの問題が用意されていて、オンライン上でコードを提出すると、すぐに正解かどうか判定してくれる優れもののサービスです。ゲームのように、ひとつずつ問題をクリアしていく楽しさが味わえます。言語は、Javaの他、PHPやRuby、Pythonなど多数の言語に対応しています。
未経験者がハマりがちなポイントと解決策
Javaは、オブジェクト指向を主軸においた言語です。しかし、初心者の方は、なかなかオブジェクト指向の考え方に馴染めないことが多く、Cのような手続き的なプログラムになりがちです。「なぜ、あなたはJavaでオブジェクト指向開発ができないのか/小森裕介著/技術評論社」という、うってつけの書籍があるので、この本でオブジェクト指向の考え方を身につけましょう。
独学で学ぶことのデメリットと解消策
独学で学ぶことの一番のデメリットは、周りにだれもいないので、サボりがちになることです。ついつい、「明日にしよう」という風になりがちです。そのため、周りの友達などと一緒に勉強するようにしましょう。競う相手がいると、モチベーションも上がります。また、TwitterやFacebookなどのSNSでビギナー仲間を探すというのもアリでしょう。あなたの勉強仲間を見つけましょう。
エンジニア(他言語習得者)向けの勉強方法
次に、エンジニア(他言語習得者)向けの学習方法についてお伝えしていきます。習得済みの言語を足がかりにして勉強を進めていきましょう。
エンジニアの場合の学習の流れ
Javaの言語構文の学習
まずは、Javaの言語構文の学習から始めましょう。すでに取得している言語がC系の言語なら、キーワードが共通しているので覚えやすいでしょう。逆に、C系の言語を習得していない方は、取得済みの言語と対比しつつ学習を進めましょう。Javaの言語仕様は公式オンラインドキュメントが公開されていますが、英文なので最初から読み込むのはつらいでしょう。ここは「Javaポケットリファレンス/WINGSプロジェクト, 髙江 賢著/技術評論社」をおすすめします。改定されて最新のJava8にも対応しているので、上級者がサッとJavaを学ぶのに最適です。
Javaライブラリの学習
上で紹介したリファレンス本に主要なAPIが掲載されているので、どういったものがあるか覚えておきましょう。オンライン上の公式APIドキュメントは日本語化されているので、とても参考になります。一通りざっと目を通しておきましょう。また、習得している言語でよく使っているAPIが用意されているのかもチェックしておくとよいでしょう。
参照:Java(tm) Platform, Standard Edition 8 API仕様
サーバーサイドプログラミングの学習
現在のところ、Javaは主にサーバーサイドプログラミングで活用されています。そのため、JSP(Java Server Pages)やサーブレットの知識が必要です。サーバーサイド開発に特化した独学書籍、「独習Javaサーバーサイド編/山田 祥寛著/翔泳社」で学習しておきましょう。サーバーサイドを扱えるようになると、仕事の幅がグッと広がるでしょう。
主要フレームワークの学習
Javaには、Spring FrameworkやPlay Framework、JSFなどのフレームワークがあり、大抵はなんらかのフレームワークを使ってシステムを構築します。自社製のフレームワークを使っている企業も多いのですが、主要なフレームワークをおさえておけば、カスタマイズされたものも容易に扱えるでしょう。各公式サイトのドキュメントを参考に学習を進めてください。
独学で学ぶことのデメリットと解消策
エンジニアの方は、忙しい方が多く、「なかなか独学で勉強している時間がない」という方も少なくありません。仕事に手一杯で、新しいことが始められないという方は、仕事を通じて学習をしてみてはいかがでしょうか?慣れた仕事よりも時間はかかりますが、これから学習したい仕事を受けることで、学習しながら仕事を進めることができます。まずは、簡単な仕事から始めてみましょう。
まとめ
Javaの独学での勉強方法がお分かりになりましたか?Javaは、未経験者の方であっても、十分独学で学習を進めることができます。世界で最も人気のある言語だけあって、情報源が豊富にあります。ウェブサービスやサイト、書籍などを参考にして勉強を進めていきましょう。その際には、ハマりがちなポイントと独学のデメリットに注意してください。
また、エンジニアの方は、それほど苦労せずにJavaを取得できるでしょう。すでに学んでいる言語が、オブジェクト指向を主体とする言語であれば、なおさらです。ウェブ上の情報だけでも学習を進めることができますが、書籍からまとまった情報を得たほうが学習をよりスムーズに進められるでしょう。習得している言語とどう違うのか、比較しながら学習していきましょう。
あなたはどんな方法でJavaを勉強しますか?
参照:Javaエンジニアになるために必要なことについて解説した記事はこちら
フリーランスになるために必要な知識やスキルアップの方法等、様々なお役立ち情報を発信していきます。
(リモートワーク案件に強いフリーランスエージェント「クラウドワークス テック」を運営)