PHPとJavaはどっちが難しいか?

      2017/09/19

比較 PHPとJava 難しいのは?

「PHPの方がかんたんって聞いたけど…」
「就職しやすいのはJava?」
「どっちを選べばいいかわからない?」

この話題、ネット上でよく議論されていますよね。

これを知りたい人って、これからプログラミングを始めようとしてる人だと思います。

ある程度経験のある人には、PHPもJavaもほぼ同じくらいの難易度であることが分かりますからね。

よくJavaの方がPHPよりも難しいという人がいますが、どちらの言語も備えてる基本的構文・機能は、ほぼ同等です。

どちらかが明らかに難しいということはありません。

ただ初心者にとって、どちらのほうが

「とっつきやすいか、つまづきにくいか、とりくみやすいか」

という意味では差があるので、そのような観点で、「どちらが初心者にとって難しいか?」を考えてみます。

違い1. 静的と動的

PHPとJavaの一番大きな違いは、

  • Javaは静的型言語
  • PHPは動的型言語

であることです。

Javaで文字列を変数に代入する場合

と書きます。PHPの場合は

と書きます。

Javaでは「sという変数はString型ですよ」というのを明示しているのに対し、PHPにはそのような型の表記がありません。

PHPは変数の型がプログラムの実行時に動的に判断されます。

PHPの場合、↑のように文字列を入れた変数に別の型(数値型)の値を代入してもOKです。

それに対してJavaで

とするとs = 123;がコンパイルエラーとなります。String型の変数に123という数値を入れようとしたからです。

これどっちがいいとは言いきれませんが、Javaみたく変数の型が決まっている方が、「想定外のミスが起こりにくい」と言われています。

通常のプログラミングでは一度文字列を入れた変数に数値を代入したいなんてことはないですからね。

Javaでは変数の型と代入された値が合っているかをコンパイル時にチェックしてくれるので、そのようなミスが起き得ません。

とはいえ、初心者にとっては型指定を覚えること自体が負担となるかもしれません。プログラミングは「習うより慣れよ!」なので、プログラムを書く実践をいかにたくさんするかが重要です。ですから、覚えることが少ないという意味ではPHPの方が良いとも言えます。

違い2. 開発環境の用意しやすさ

PHPの場合、共用の安いレンタルサーバを借りてPHPファイルを配置するだけで、作ったプログラムをインターネット上に公開できます。

PC上でPHPのプログラムを開発するならXAMPPというApacheとMySQLとPHPがセットになったプログラムがあるので、それをインストールするだけでかんたんに開発環境が作れます。

Javaの場合、共用の安いレンタルサーバでJavaが動くものはないので、インターネット上にプログラムを公開する場合、VPSやクラウドなどを使って自分の手でサーバー環境をセットアップしなければならないため、初心者にはハードルが高いと思います。

また、PC上でJava開発する場合も、まずJDKというJavaのコンパイラやランタイムをインストールして、その後TomcatやMySQLなどを個別に自分の手でインストールする必要があるのでPHPに比べて少し面倒です。

違い3. 言語の構文

PHPとJavaの構文はとても似ています。if, while, for, class, publicなど大部分が共通です。

ただ、もちろん違いはあります。

大きな違いの一つは、変数の表記です。

PHPは変数の先頭に$を付けます。Javaはつけません。

私個人としては$をつけないJavaの方がキーボードをタイプする手間が少ないので良いと思っています。

最近主流の言語のほとんどは$をつけない表記をしています。C/C++, C#, Swift, Ruby, Python, JavaScript, Go, Scalaどれも変数に$をつけません。

$をつけるのは、PHPの他にPerl, Bシェル系のシェルがあります。

ただ、私の知人でWebデザイナー出身のプログラマーは「変数に$がついてる方が、どれが変数なのかわかりやすくていい」と言っていました。ですから、これは人それぞれの好みの問題かもしれません。

結論

ここまで説明してきたことを踏まえて、

「初心者にとってPHPとJavaはどっちが難しいか?」

の私個人の結論は、

Javaの方が難しい(取っつきにくい)」

となります。

ただ、その差はそれほどないので、どちらをやってもいいと思います。

どちらの言語も求人は沢山あって就職しやすいので、就職したい会社が何を使っているかで選んでもいいと思います。

  • Javaは、業務システムとAndroidアプリ
  • PHPは、Webサービスやスマホアプリ・ゲームのサーバーサイド

でよく使われています。

「どんな業種で働きたいか」、あるいはソースコードを見て「直感的にこっちのが好きだな」というので選んでもいいでしょう。

なんにせよ、どちらかが極端に難しいということはないので、自分が好きな方を選ぶのが一番です。

なんなら、両方学んだっていいんです。私の場合、Javaを学んだ後、PHPをやったら、すぐ使えるようになりました。

プログラミング言語って似てる部分が多いので、2つ目の言語を修得するのはとてもかんたんです。ぜひやってみてください!

プログラミング初心者におすすめのサービス
1. 講師から対面で学びたい派なら

プログラマカレッジをおすすめします。ProEngineerという転職エージェントが運営しているプログラミングスクールです。20代限定なんですが、無料で受講できて、修了後、就職支援もしてくれるんです。最高過ぎですよ、これ!!就職の紹介料を企業からもらえるのでスクールを無料にできるんでしょうね。すばらしいシステムだと思います!

30代以上の方には

プログラマカレッジは20代限定なので30代以上の方にはWebスクをおすすめします。受講料の返金保証がついているし、毎日11時〜23時まで通い放題なのでとてもいいと思います!

2. 自宅で学びたい派なら

「就職保証付き」オンライン就職予備校をおすすめします。Javaエンジニアコースでは就職保証がついているのでプログラマーとして就職したい方にはぴったりです。Javaエンジニアの求人ってめっちゃ多いし、求められる技術レベルもそこまで高くないのでちゃんとした教育プログラムなら就職保証できるだろうなとJavaエンジニア経験者の私も思います。

3. つまづいた時に質問したくなったら

プログラマー専用の質問サイトteratailをおすすめします。 つまづいた時にteratrailで質問すれば教えてもらえます。

これらのサービスを活用すれば、全くの初心者からでもプログラミングをばっちり出来るようになると思います!レッツトライです!

 - 技術 , ,