Javaは初心者には難しい?現役エンジニアが初心者向けのアドバイスをしてみる

目次

  1. はじめに
  2. Javaをおすすめする理由
    1. できることが幅広いのでリスクが少ない
    2. Javaは案件が多い
    3. 他の言語の習得が楽になる
  3. Javaが難しいと言われる理由と解説(と反論)
    1. 環境構築が大変
    2. エラーの解決が大変
    3. コードの記述量が多い
  4. Javaの学習方法
    1. おすすめの本
  5. まとめ
  6. 関連記事

はじめに

こんにちは。 かりんとうマニア(@karintozuki)です。

プログラミング初心者の方は以下のような疑問を持つことがあるかと思います。

  • プログラミング初心者だけど、Javaってどうなの?
  • Javaは難しいという評判を聞いたんだけど実際は?

といった具合です。

結論は、
Javaは初心者の方にもおすすめの言語です。
この記事では、はじめにその理由を紹介します。

ただし、Javaには初心者の方がつまづきやすいところがあるし、
他のネット記事では様々なデメリットが紹介されていたりします。
なので、この記事では初心者の方向けにJavaのつまづきポイントへの対応や反論も紹介します。

また、最後にはJavaを勉強する方法も紹介しているので、
よろしければ最後までお付き合いください。

少しだけ、私の紹介をします。
私はエンジニアとして働き始めて4年目になります。
業務ではJava以外の言語も使ってきたので、
その辺りを比較した観点も紹介したいと思います。

注意
この記事はJavaが好きな人が書いた記事です。
Javaもっと流行れ、と思って記事を書いていますので
少し偏っているかもしれませんので、ご了承ください。

Javaをおすすめする理由

できることが幅広いのでリスクが少ない

大前提として、
プログラミング言語を選ぶ際は、
プログラミングで何をしたいか、で言語を選ぶべきです。

ただし、プログラミング初心者の方は

  • プログラミングで何がしたいか分からない
  • そもそもプログラミングで何ができるか分からない

という方が大半です。
分かります。私もそうでした。

つまり言語を選ぶ際には、
本当にやりたかったことができない言語を選んでしまう、
というリスクに気をつけないといけません。

なので、
「最初から何かに特化した言語を選ぶ」より、
「色々な用途に使える言語を選ぶ」、というのが失敗のリスクが少ない方法ですよね。

Javaは幅広い分野に対応可能です。

Webサービスやスマートフォンアプリなど
様々なサービスの裏でJavaが動いています。

また、Javaは開発者が多いため、
何かやりたいことがあったときに、
他の開発者が既に作ってくれたプログラムを使えることがあります。

このように他の人が作ってくれたプログラムをライブラリと言いますが、Javaはライブラリが充実・成熟しているのが魅力です。

Javaは案件が多い

エンジニアになりたいと思っている初心者の方にとって、
仕事で使える言語かどうか、というのは大事なポイントだと思います。

Javaは、最も仕事で使われている言語です。

Javaは歴史が長く成熟した言語であるために、安定した動作が必要な企業案件で好まれるようです。

また、企業が言語を選ぶ際に、
エンジニアが少ない新しい言語を使用するよりも、
エンジニアが豊富なJavaを使用したほうが
人材の確保が簡単になるため、多くのプロジェクトにJavaが採用されていたりします。

他の言語の習得が楽になる

Javaはオブジェクト指向という考え方に基づいた言語です。
現在、新しく出ている言語の多くもこの考え方が採用されています。

そのため、Javaでしっかりとオブジェクト指向を勉強できれば、
その他のオブジェクト指向言語も割と簡単に習得できます。

また、Javaから派生した言語も多く、
Javaを学習した後で、より何かの目的に特化した派生言語に切り替えられるのも特徴です。

代表的なJavaの派生言語としては

  • 関数型言語と呼ばれるオブジェクト指向とは違った考えを採用したScala
  • Androidアプリの公式言語であるKotlin
    などがあります。

Javaが難しいと言われる理由と解説(と反論)

さて、ここからはJavaが初心者に難しいと言われる理由を紹介します。
これに関して、私の意見やアドバイスを書いていきます。

環境構築が大変

Javaは環境構築が大変と言われることがあります。
確かにそうです。

しかし、これに対する私の回答は、
初心者の方が勉強する内容であれば、
環境構築は必要ありません笑。

どういうことかというと、
Webブラウザ上でJavaを動かせるサービスがあるので、
そちらを使えば十分学習が可能です。

例えば、このサイト。Webブラウザのみで、Javaのコードが動かせます。
https://paiza.io/projects/8A22nPkCtigJLKz9ITx5sg

ただ、これだとある程度小さなプログラムしか動かせないので、
ある程度勉強がすすんだら環境を構築する必要があります。

エラーの解決が大変

Javaはエラーが出ると解決するのが大変、という意見も
チラホラ見かけますね。

しかし、プログラミングを学習する際に、
エラーの解決は言語に限らずつきものです。

初心者の方にとってエラーを解決するのが難しいのは、
Javaだけに限った話ではありません。

エラーの解決が困難な言語かどうかというのは、
実は言語自体の難しさよりも、
ネット上の情報の有無が重要です。

先ほども書いた通りJavaは開発者が多い言語なので、
ネット上の情報(特に日本語の情報)が多いです。
大抵のエラーは検索したら日本語(これ重要です)で解決方法が見つかります。

マイナーな言語だと、
調べても英語の情報しかないということはザラにあります。
ネット上に日本語の情報が多いというのは、挫折しないための大きなアドバンテージです。

コードの記述量が多い

Javaは他の言語と比べてコードの量が多い、という意見です。
これはぶっちゃけ事実です笑。
Javaの弱点ともいえるかもしれません。

記述が多い理由として、
Javaはエンジニア自身が書かないといけない情報が多いです。
他の言語では、こうした情報はプログラム側がうまいこと処理してくれたりします。

ちなみにこのようなプログラム側が色々やってくれる言語は、
初心者におすすめされることが多いです。

ただ、これも一長一短です。
Javaで書かなければいけない情報というのは、
基本的にエンジニアが理解していないといけない情報です。

逆にこれらをプログラムがやってくれる言語では、
エンジニアに十分な理解がなくてもプログラムが動いてしまうことがあります。

Javaは基礎を理解しないと動作しないので、
しっかりとした基礎を身に付けたい方におすすめです。

※補足
Javaで書かないといけない情報の代表例は「型」です。
初心者の方は、今の時点では「型」について詳しく知る必要はないですが、
プログラミング言語には、

  • 「型」をプログラムが判別してくれる言語と
  • 「型」をエンジニアが明示しないといけない言語

があります。

プログラムが「型」を判別してくれる言語では、
コードの中にその情報は書かれませんが、
エンジニアは情報が省略されていることを理解していないと
バグの原因になります。

Javaの学習方法

Javaはどのように学べば良いのでしょうか。

以下の二つの方法があると思います。

  • 独学でやる
  • スクールに行く

私の意見では、Javaの独学は可能です。

ただ、お金に余裕があって時間に余裕がない場合は
スクールが圧倒的に効率が良いと思います。

※ポジショントークにご注意
たまにスクールに行かないと学習は不可能だ、みたいなことを言うサイトもあるみたいですが、
それらはあなたが初心者であることに漬け込んで稼ぎたい人のポジショントークだったりするので、
お気をつけください。

おすすめの本

私は新卒で入った会社の新人研修で、以下の本を使ってJavaを勉強しました。

こちらの本では、まったくプログラミングに触れたことがない初心者を対象にしています。
適宜イラストなどもあり分かりやすいですし、
Javaで核となる(&挫折する人が多い)オブジェクト指向という概念が丁寧に説明されています。
この本を一冊完全に理解すれば初心者は卒業といえるのではないでしょうか。

まとめ

いかがでしたでしょうか。

この記事で

  • Javaを学ぶメリット、
  • Javaのつまづきポイントとその対応
  • Javaを勉強する方法

を理解できましたでしょうか。

この記事によって一人でも多くの人が
Javaの素晴らしさに触れることができれば幸いです。

それじゃ今日はこの辺で。

関連記事

こちらの記事もおすすめ。

アプリ未経験エンジニアが独学で個人開発Androidアプリを公開するまでにやったこと