PHPとJavaはどっちが難しいか?
「就職しやすいのはJava?」
「どっちを選べばいいかわからない?」
この話題、ネット上でよく議論されていますよね。
これを知りたい人って、これからプログラミングを始めようとしてる人だと思います。
ある程度経験のある人には、PHPもJavaもほぼ同じくらいの難易度であることが分かりますからね。
よくJavaの方がPHPよりも難しいという人がいますが、どちらの言語も備えてる基本的構文・機能は、ほぼ同等です。
どちらかが明らかに難しいということはありません。
ただ初心者にとって、どちらのほうが
「とっつきやすいか、つまづきにくいか、とりくみやすいか」
という意味では差があるので、そのような観点で、「どちらが初心者にとって難しいか?」を考えてみます。
違い1. 静的と動的
PHPとJavaの一番大きな違いは、
- Javaは静的型言語
- PHPは動的型言語
であることです。
Javaで文字列を変数に代入する場合
String s = "こんにちわ";
と書きます。PHPの場合は
$s = "こんにちわ";
と書きます。
Javaでは「sという変数はString型ですよ」というのを明示しているのに対し、PHPにはそのような型の表記がありません。
PHPは変数の型がプログラムの実行時に動的に判断されます。
$s = "こんにちわ"; //変数$sに文字列を設定 $s = 123; //同じ変数$sに数値を設定
PHPの場合、↑のように文字列を入れた変数に別の型(数値型)の値を代入してもOKです。
それに対してJavaで
String s = "こんにちわ"; s = 123;
とすると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はつけません。
//PHP ↓ $str = "あいうえお"; //Java ↓ String str = "あいうえお";
私個人としては$をつけないJavaの方がキーボードをタイプする手間が少ないので良いと思っています。
最近主流の言語のほとんどは$をつけない表記をしています。C/C++, C#, Swift, Ruby, Python, JavaScript, Go, Scalaどれも変数に$をつけません。
$をつけるのは、PHPの他にPerl, Bシェル系のシェルがあります。
ただ、私の知人でWebデザイナー出身のプログラマーは「変数に$がついてる方が、どれが変数なのかわかりやすくていい」と言っていました。ですから、これは人それぞれの好みの問題かもしれません。
結論
ここまで説明してきたことを踏まえて、
「初心者にとってPHPとJavaはどっちが難しいか?」
の私個人の結論は、
「Javaの方が難しい(取っつきにくい)」
となります。
ただ、その差はそれほどないので、どちらをやってもいいと思います。
どちらの言語も求人は沢山あって就職しやすいので、就職したい会社が何を使っているかで選んでもいいと思います。
- Javaは、業務システムとAndroidアプリ
- PHPは、Webサービスやスマホアプリ・ゲームのサーバーサイド
でよく使われています。
「どんな業種で働きたいか」、あるいはソースコードを見て「直感的にこっちのが好きだな」というので選んでもいいでしょう。
なんにせよ、どちらかが極端に難しいということはないので、自分が好きな方を選ぶのが一番です。
なんなら、両方学んだっていいんです。私の場合、Javaを学んだ後、PHPをやったら、すぐ使えるようになりました。
プログラミング言語って似てる部分が多いので、2つ目の言語を修得するのはとてもかんたんです。ぜひやってみてください!