プログラミングをJavaから学ぶメリットとデメリットを徹底解説

未経験者
プログラミングを始めたいけど、どの言語を勉強すれば良いのか分からない。どの言語から手を付ければ良いんだろう?

これからプログラミングを学ぶ人達が最初に悩むのは、何の言語を勉強すれば良いか、ということではないでしょうか。

今回は代表的な言語の1つであるJavaにスポットを当てて、Javaでプログラミングを勉強することによるメリットとデメリットを紹介していきたいと思います。

そもそもJavaとは?

JavaはSUNによって開発された言語です。

言語の主な特徴としては、CやC++に近い文法とオブジェクト指向であること、そしてガベージコレクション(詳しい説明は省きますので気になれば調べて欲しいのですが、使わなくなったメモリを管理するための機能のことです)などが挙げられます。

オブジェクト指向が難しくて分からない、と言う方も少なくないと思いますが、最初から理解している必要はありませんし、オブジェクト指向を意識しなくてもプログラミングはできるので、やりながら覚えていけば良いと思います。

ライブラリが非常に充実していて、Webシステムから基幹システム、ゲームなど幅広い分野で使われているのもJavaの大きな特徴です。

 

プログラミングをJavaから始めるメリット

まずはプログラミングをJavaから始めるメリットについて、理由とともにご紹介していきます。

求人数が多い

いきなり現実的な話をしますが、Javaは求人数が多く仕事を見つけやすいです。こちらのページを見ていただくと、PHP、C++を押さえてトップの求人件数となっています。

プログラミングでお金を稼ぎたい!と言う人は知っておいて損はないと言えるでしょう。

型を意識したプログラミングが学べる

この記事を読む方の中には既に知っている方もいるかもしれませんが、型とは変数がどのような値を格納するのかを示すものになります(もちろん今の時点でわからなくても問題ありません。勉強をはじめればすぐに直面します)。

世の中の言語にはPHPやJavaScriptなど、型を明言しなくても書けるものがあります。ただし、明言しないことと意識しないことは別です。きちんと型を意識しながら書く分には問題ないのですが、型を考えずにコードを書いていると、時に思いもよらぬ結果を生み、バグを引き起こす原因になります(そして、このようなバグは後から見つけるのが難しいことが多いです)。

Javaは変数を宣言する時点で型を指定する必要があり、型が間違っている場合はコンパイル時にエラーとして指摘をしてくれるので、自然と型を意識したプログラミングが身に付くようになります。

オブジェクト指向を学べる

Javaの代表的な特徴の1つでもあるオブジェクト指向、これは作るシステムの規模が大きくなるにつれて重要になっていきます。

最初はとっつきにくいですが、この考え方を理解しておくことは非常に重要です。

また、たくさんあるJavaのライブラリを使いこなすためには、オブジェクト指向を多少なりとも理解しておく必要があります。

どんな環境でも同じコードで動く

Javaの良い点として、どんな環境でも同じコードで動く、と言うものがあります。

これはシステム面だけでなく、プログラミングを勉強する上でもメリットになります。

環境に左右される言語の場合、極端なことを言うと環境が変わるたびにプログラムの仕方を勉強し直す必要があります。Javaの場合はどの環境でも同じコードで動くため、仮に自分の勉強用の環境と実際に使う環境が違っていたとしても、それを意識せずにプログラミングをすることができます。

どのようなシステムにも応用できる

これまでにも何度か書いていますが、Javaはライブラリが充実していて幅広い分野で使われています。

つまり後からどのようなシステムを作ることになっても、学んだJavaの知識を活用できると言うのが大きなメリットと言えるでしょう。どのようなところで使われているか、についてはこちらのページが参考になるかと思います。

 

プログラミングをJavaから始めるデメリット

次にプログラミングをJavaから始める際のデメリットについて、理由とともにご紹介していきます。

プログラミング言語としての敷居が高い

Javaはオブジェクト指向を学ぶことができ、様々な分野に利用できる言語ですが、それだけに何から手を付けたら良いか分からないと言う人は多いのでは無いでしょうか。

加えて、JavaはPHP等の他の言語と比べると難しい(きちんと理解して書かないと動かない)ため、勉強する上での敷居は高いです。

また、Javaのプログラミングを始めるための開発環境(代表的なものだとEclipseなど)を自分のパソコンに用意するだけでも、初めてプログラムをする人にとっては一苦労する可能性が高いです。

ですが、それでも苦労をしてJavaを学ぶだけの価値は十分にあります。

メモリを意識することがない

Javaは明示的にメモリの利用を宣言したり、使わなくなったメモリを開放するようなことはありません。そのため、メモリを意識したプログラミングを学ぶことはできません。普段はプログラミングをする上でメモリまで意識する必要はないかもしれませんが、例えばオブジェクトのコピーをする時などに多少は知っておかないと苦労するかもしれません。

こればかりはJavaの勉強では学べないことなので、必要であればC言語などで学ぶことをお勧めします。

実行のたびにコンパイルが必要になる

JavaはPHPのようなスクリプト言語とは違い、プログラムを書いて実行するたびにコンパイルが必要になります。これがいちいち手間なので、どうしてもかけた時間の割に成長を実感できないということがあるかもしれません。

とは言え、コンパイルの時点でバグを指摘してもらえるので、コンパイルすることがデメリットかと言われるとそうではないですが。

Web系の開発には若干向かない

Javaは様々な分野で使われている言語というのは上でも書きました。ただ、Web系の開発に関して言えばPHPやRuby、Pythonと言ったスクリプト言語の方が今の主流と言わざるを得ません。Javaは都度コンパイルをしてリリースする分、開発スピードの面で一歩劣ると言うイメージがあります(これは自分の考えになりますが)。

Javaが有償化された

2018年にJavaが有償化された、と言うニュースがありました。

ただこれには若干誤解があります。話が長くなるので詳しくは調べていただきたいですが、JavaにはOracleJDKとOpenJDKと呼ばれる2つのものがあり、OracleJDKを商用での利用が有償化された、というのが正しいです。

なので、個人で勉強・開発する分には意識をする必要は全くありません(2019/05時点)。

 

Javaの学習はどんな人に向いているか

これらのメリット・デメリットを踏まえて、プログラミングの勉強をJavaから始めるのはどのような人に向いているかをまとめました。
勉強の時間を十分に取ることができる学生
(逆に即戦力を期待される人には向かないと思います)

自分の作りたいものがまだ決まっていなくて、まずはプログラミングの勉強から始めたい、と言う人
(作りたいものが明らかになっているなら、それに向いている言語を学ぶべきだと思います。Webならスクリプト系の言語など)

大規模なシステム開発に関わりたい人

以上、プログラミングをJavaから学ぶメリットとデメリットを挙げてみましたが、いかがでしょうか。

これからプログラミングを勉強したいという皆様の参考になれば幸いです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA