IT

プログラミング初心者「何の言語を学ぼうかな…」謎の勢力「とりあえずJava」この理由を解説します

プログラミング初心者
プログラミング初心者
HTMLやCSSは少しずつわかってきた。そろそろ本格的にプログラミング言語を学びたいけど、何を学ぼうかな。候補はPHPかRubyかJavaか…
謎の勢力
謎の勢力
とりあえずJava

なぜプログラミング初心者にJavaがオススメされるのか解説します。

ざっくりこの記事の内容

・Java言語の特徴

・Javaを学ぶメリットとデメリット

・学習でカベにぶつかったときの解決策【無料でJavaを教えてもらえるサービス&スクールの紹介も💡】

ちなみにこの記事を書く僕は、IT企業でJavaを使って開発をしているWebエンジニアです。

サクッと3分程度で読めると思うので、Javaに興味がある方はすこしお付き合い下さい☺

Java言語の特徴をすこしだけ…

まずはこちらを流し見してください。

 

Javaの最大の特徴として、WORA(Write Once, Run Anywhere)、すなわち「一度書けば、どこでも動く」と端的に表現される汎用性の高さを挙げることができる。Javaで記述されたプログラムのソースコードは、コンパイラによって、ネイティブコードにではなく、バイトコードとよばれる中間言語に生成される。そのバイトコードは、各マシンにインストールされたJava仮想マシン(Java VM)と呼ばれる実行環境の上で動作するようになっている。このため、Java仮想マシンが導入されていれば、どのようなアーキテクチャのシステムでも同じJavaプログラムを実行させることが可能となっている。

Javaは、コンパイルを経て実行されるという意味ではコンパイラ型言語ともいえるが、いわゆるコンパイラ型言語とは区別する意味で「中間言語方式」と分類されることが多い。

Javaプログラムのソースコードには、拡張子として「.java」が付く。Javaコンパイラによって生成された中間言語であるバイトコードは、拡張子を「.class」とするクラスファイルに格納される。コンパイルはクラス単位で行われ、一つのクラスに対応して一つのクラスファイルが生成される。プログラムの実行時、Java仮想マシンはこのクラスファイル(バイトコード)を読み込む。

引用元:IT用語辞典バイナリ

うーん難しすぎですね。

ざっくりいうと、

  • Java言語は汎用性が高いよ
  • パソコンでもスマホでもガラケーでもゲームでも動かせるよ
  • 「コンパイル」という仕組みのおかげで処理速度が早いよ
  • ファイル名の後ろには「.java」という拡張子がつくよ

こんな特徴があります。

Javaについてもっと掘り下げてもいいのですが、それは他の記事に譲るとして、今回はなぜJavaが初心者にオススメなのかという点にしぼって書いていきます。

初心者がJavaを学ぶメリット

たくさんありますが、しぼって3点ほど紹介します。

プログラミングのお作法を学ぶのに最適

上記の画像は、Tech総研が擬人化したJavaの擬人化です。

Javaを学習した人からすると、思わずニヤッとしてしまうような人物紹介がされています。

下に続くPHPやRubyと比べると、僕はこの絵を見たとき、

  • 礼儀正しそう
  • 落ち着いていそう
  • 日本的な佇まい

こんな印象を受けました。

▽ PHP(https://next.rikunabi.com/tech/docs/ct_s03600.jsp?p=002412)

▽ Ruby(https://next.rikunabi.com/tech/docs/ct_s03600.jsp?p=002412)

Java言語には「型」という概念があります。そして型の前に、「変数」の説明もしなければなりません。

せっかくなので、型や変数も現実のモノに例えてみましょう。

変数はよく、「モノを保管しておくための箱」という例えをされます。

例えば、あなたが本をどこかに保管したいとします。

この時に、

本を「本棚」にでも「机の引き出し」にでも入れていいよ〜

と寛容的に言ってくれるのがPHPちゃんやRubyちゃん。

Java
Java
本は「本棚」じゃないとぜったいにダメですよー!

と厳しく言ってくれるのがJavaちゃん。

ざっくりこんなイメージで、言語にはそれぞれ型のようなルールや制約が存在します。

Javaはこういったルールに厳格です。

プログラミング初心者
プログラミング初心者
え?そんなに厳格なら、Javaは初心者には向いていないんじゃないの?
ブログ管理人yuu
ブログ管理人yuu
逆です!ルールや制約があるからこそ、滅茶苦茶なコーディングをしてしまうリスクを低減し、キレイなコードを書く習慣が身につきやすくなります。

開発現場でよく、作ったプログラムがエラーとなっている状態を「このエラーになっている部分(Javaに)怒られてるよ」と言う表現を使ったりします。

Javaは最初はルールに厳格なので、たまに面倒くさく感じるかもしれませんが、それもキレイなコードを書くためのJavaちゃんからの愛情と思いましょう😁笑

人気がある(=安定して需要がある)

美容室予約システムの「ホットペッパービューティー」はJavaで作られています。

Javaは「ルールが厳格」と言うお話をしました。

その分「誰が書いてもめちゃくちゃなコードがになりにくく、大規模システムのチーム開発に向いている」といったメリットもあります。

そう言う意味では、保守的な日本の企業が好む言語といってもいいでしょう。

未来予言はできませんが「Javaを学んはいいけど仕事がない!」と言う状況は、少なくとも数十年はないと思います。

他の言語に乗り換えやすい

とはいえ、技術には流行り廃りがあります。

どの言語にも言えることですが「この言語ができれば一生安定だ」なんてことは、残念ながらありません。

Javaを習得すると、他の言語への乗り換えが比較的ラクです。

自分がそうだったのですが、Javaを学んだ後にPHPを学習した時、それほど苦もなくすんなり理解することができました。「Javaの制約を緩くした感じかな」と言うのが感想です。

これを逆にすると、多分しんどいと思うので…

エンジニアとしてキャリアを積んでいくと必ず言語をいくつかまたいで開発をすることになるので、最初の言語としてJavaを学ぶことは効率がいいかなと思います。

初心者がJavaを学ぶデメリット

開発を始めるまでが若干大変です。

が、開発環境構築もめちゃくちゃ勉強になるのでぜひやってほしい…!

開発環境を作るのが少し大変

プログラミング初心者の最初のカベ「開発環境構築」

これはどの言語にも言えることではあるのですが、Javaはハマっちゃう人が多いのが実情のようです。

基本的には、

  1. 参考書やネット記事を参考に環境を作ってみる
  2. うまくいかなければ別の記事をググってみる(バージョンやPC環境によって設定が違ったりするので)
  3. それでもダメなら出きる人に聞く or 質問サイトで質問する

こんな感じでトライアンドエラーでやっていけば必ず出きると思います。

もし、この記事を読んでJavaの勉強はじめました!なんて方がいたら、お気軽にTwitterからリプライ飛ばしてください。お力になれることもあるかもしれません。

また、プログラミング関連の質問はteratailがオススメです。初心者に優しく、僕も何十回も助けられた経験があります。早ければ10分くらいで回答がきちゃいます。もちろん無料で使えます。

エンジニア特化型Q&Aサイト【teratail】を見てみる

無料登録しておくと後々便利なので、さくっと1分でどうぞ。

エラー文を見るのが精神的にツラい…

めちゃくちゃわかります。

Javaはルールに厳しいので、PHPやRubyを学ぶよりもエラーと格闘する機会は増えるでしょう。

ただ、何度も言う通り初めはそれが大事なんです。

Javaがあなたのミスをその都度その都度しっかり怒ってくれるので、自分の間違いに気づき、変なクセがつかないようにしてくれます。

独学が難しいと言うことであれば、スクールに通うことでスムーズに理解を深めることができます。プログラミング学習でメンターがいるかいないかでは進度が本当に違います。

Javaを学びたい方に圧倒的にオススメしたいのは、【0円スクール(ゼロスク)|Javaプログラミングスクール】です。

なんと無料でJavaの研修を受けることができるプログラミングスクールです(カリキュラム、受講料がすべて無料)。

いや、ほんとすごいサービスですよね…。本当にIT業界は人が足りていなくて、プログラミングが出きる人には価値があります。

一応、IT業界への転職を前向きに考えている方が対象なので、やる気のある方はぜひ利用してみてはどうでしょうか。

0円スクール(ゼロスク)|Javaプログラミングスクールを見てみる

というわけで、今回はここまで。

なにか聞きたいことなどありましたらお気軽にTwitterで連絡ください〜。