Javaは今も根強い人気を誇るプログラミング言語です。
大規模基幹システムは現在でもほぼJavaで作られているといっても過言ではありません。
さぁ、プログラミングを学ぼうと思って色々探していると、Javaがよさそうだなぁというのは体感するでしょう。
しかしながら、Javaは学びにくいとも言われています。
今回はJavaとはどんな言語なのか、習得するとどんなことができるようになるのか、学び方のロードマップの前半をお伝えします。
Javaとは
Wekipedia Java には以下のようにあります。
Java(ジャバ、ジャヴァ)は、汎用プログラミング言語とソフトウェアプラットフォームの双方を指している総称ブランドである[6]。オラクルおよびその関連会社の登録商標である。1996年にサン・マイクロシステムズによって市場リリースされ、2010年に同社がオラクルに吸収合併された事によりJavaの版権もそちらに移行した。
Javaは1996年に正式リリースされたプログラミング言語です。
(実行環境をJavaと指すこともありますが、今回はプログラミング言語のJavaについて言及します。)
Javaはどんなプラットフォーム上でもJava仮想環境があれば動作します。
Java仮想環境はLinux、Unix、Windows、MacOS、Android、iOS、ChromeOSなど、多数のプラットフォームで動作します。
そのためリリース後からアプリケーション開発の世界で爆発的に重宝されるようになりました。
データと処理を1つのもの(オブジェクト)として捉える「オブジェクト指向」を取り入れたことも当時の技術者たちに重宝されたJavaの大きな特徴です。
2000年代には世界中の企業がWebアプリケーションに取り入れ始め、現在でも企業の基幹システムやWebAPIなどのバックエンドでは多く使われている言語です。
Javaで何ができる?
Javaを使って何ができるのでしょうか?
- Webアプリケーション
- WebAPIなどのWebサービス
- スマホアプリ
- 組込システム
- バックエンドシステム
つまり、できないことがありません!
なんと便利なんでしょうね。
しかし、なんでもできてしまうからこそ、Javaは習得しにくいとも言われています。
Java習得へのルートマップ
Javaは学びにくいと言われていますが、学ぶ順番を間違えなければ挫折率はグンと下がります。
現役エンジニアとして25年以上Javaと付き合ってきた筆者が考えるJava習得のロードマップです。
実はこのロードマップはJavaだけではなく、Webアプリケーションを作成する言語すべてに適用できます。
①プログラミング言語の基礎を学ぶ
プログラミングでまず挫折してしまうのは、「考え方がわからない」というところです。
構文や制御の方法を知っても、「こう動かしたい」をどのように実装すれば良いのかがわからずに挫折してしまう方がとても多いと感じています。
そのために、まずはブロックプログラミングなどで「プログラミング的な考え方」を身につけてしまいましょう。
人の行動も実はすべてプログラミングできます。
歩く、信号を待つ、料理をする・・・などすべてをプログラミング言語に置き換えることができるんです。
この考え方こそが、「プログラミング的な考え方」でこの思考回路を身につけると、後々の言語の習得がグンと楽になります。
プログラミング言語の基礎を学ぶ(おすすめ教材)
ブロックプログラミングの代表といえば、Scrachです。
Scrachの教材は数多くありますが、大人向けのKindle版がありますので、こちらをおすすめします。
ScrachScratchで学ぶ プログラミングとアルゴリズムの基本
少し子供っぽいなと思われるかもしれませんが、ここでしっかりと「考え方の変革」を起こしてください。
また、日本製のアプリとしては、プログラミングゼミがおすすめです。
筆者がUdemyで公開しているこちらの講座をおすすめします
初心者でも挫折しない、ブロックプログラミングで学ぶプログラミングの仕組み
テキストを写して終わり。という教材が多いなか、たくさんの練習問題を用意しました。
ぜひご自分で手を動かして、頭を働かせてみてください。
修了した時にはきっとしっかりとした「プログラミング脳」が鍛えられているはずです!
②Javaでコンソールアプリを作る
コンソールアプリとは、画面を作成しないアプリケーションです。
このような結果が表示されます。
IDE(統合開発環境)を使って出力することができるので、挫折する率はグッと下がります。
①プログラミング言語の基礎を学ぶ で学んだことをここでJava化するつもりで学びましょう。
ブロックで学んだ
もし~なら が if(~) に対応するんだ。ということや ~回くりかえす ⇒ for(~) などを意識して学習すると、習得するスピードが違ってきます。
ブロックで基礎はできていますからね。怖がらずにプログラミング言語であるJavaに慣れましょう。
Javaでコンソールアプリを作る(おすすめ教材)
Javaの入門書は多数あるのですが、私がおすすめするのはひとつひとつを丁寧に解説している本です。
ある程度の構文や制御については、ブロックで学んでいますが、クラスやインスタンス、プロパティなどの部分にはブロックではしっかりと触れることができません。
入門書では、「おまじないだから」や「とりあえず書いておく」などと説明されている本もありますが、私はこれはおすすめしません。
わかりにくいからという理由でこのように記載しているのだとは思いますが、結局わからないまま終わってしまってはその学習が意味のないものになってしまいます。
基礎の基礎は、①でしっかりやってきた皆さんなら、細かい説明にも必ずついていけます。
こうして1つの階段を1段ずつ上がっていくことが挫折しないプログラミング言語の学び方なのです。
③Webを学ぶ
インターネットならいつも使ってるし、わかるよ~~と思われるかもしれません。
では、「Webとは、何か。」を皆さんは説明できるでしょうか?
Webサーバ、WebブラウザとHTTPの基礎について学ぶと良いでしょう。
この関係がわからないと、WebサイトでもWebアプリケーションでも今後必ず躓きます。
この分野は深く掘り下げると1つの職業になりますので、基礎・基本を身につけると良いと思います。
Webを学ぶ(おすすめ教材)
Webの基礎を学ぶにはまずHTTPを学習しましょう。
こちらの本は基礎がきちんと身につく良書です。
ページ数もそれほどありませんので、すぐに読み切れます。
④~⑥は後半へ
今回はJavaとはどんな言語なのか、習得するとどんなことができるようになるのか、学び方のロードマップの前半を解説してきました。
次回は、学び方のロードマップの後半と、Javaの将来性について解説していきたいと思います。
ぜひこちらの記事も参考にしてください。
独学で学ぼうと意気込んでみたものの、ひとりで不安になった方もいるでしょうか?
初学者の方に私はスクールをおすすめしています。
ゴルフでも、楽器でも、プロについて習うほうがより必要な技術を素早く身につけることができますよね?
プログラミングも同じです。
スクールは割高だし・・・という声があることも承知しています。
独学でエラーの検索などで次に進まない!などで、つまづくことは多々あります。
そうして学習かけた1年はもちろんかけがえのない時間でしょう。
しかし、その学習時間を効率よく手に入れられる、それがスクールなんです。
回り道をしているようで、実は時間を費用で解決できる。スクールはそういうメリットがあると思います。
基礎知識をしっかり素早く手に入れたいという方はスクールを検討してみてください。
私がおすすめするスクールはDMM WEBCAMP です。
こちらにはJavaコースがあります。
カリキュラムの内容もなかなかですので、もしスクールを検討されている方がいれば、無料相談を受けてみてください。
こちらのスクールについては、こちらの記事で詳しく解説しています。
はじめの一歩は戸惑いも多いですが、ぜひ一歩踏み出してみてください。
もし気になるスクールや教材があれば、TwitterのDMで問い合わせいただければ筆者が答えられる範囲でお答えします。
皆さんがエンジニアとして光り輝くお手伝いができれば幸いです。