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

      2017/01/12

比較 PHPとJava 難しいのは?

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

この話題はネット上でよく議論されていますよね。これ知りたい人って、これからプログラミングを始めようとしてる人か初心者の人だと思います。

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

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

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

ただ初心者にとって、どちらのほうが「とっつきやすいか、つまづきにくいか、とりくみやすいか」という意味では差があるので、そういう観点で、「どちらが初心者にとって難しいか?」を考えてみましょう!

違い① 静的と動的

PHPとJavaの一番大きな違いはJavaは静的型言語でPHPは動的型言語であるということです。

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

と書きます。PHPの場合は

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

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

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

それに対してJavaで

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

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

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

Javaでは変数の定義時に指定した型以外は代入できないので、違う型の値を代入するという間違いをコンパイル時にチェックしてくれるので、そのようなミスが起き得ません。

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

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

PHPの場合、レンタルサーバを借りれば、それがそのままPHPの実行環境となりますので作ったプログラムをインターネット上に公開するのが簡単です。

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

Javaの場合は、共用のレンタルサーバでJavaが動くものはほとんどないので、インターネット上に公開する場合、VPSやクラウドなどを使って自分の手で実行環境をセットアップしなければなりません。初心者にはハードルが少し高いと思います。まぁ、環境構築からやってみるのも、いろいろと勉強になっていいですけどね。

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

違い③ 言語の構文

PHPとJavaの構文はとても似ています。if, while, for, class, publicなど同じものがほとんどです。

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

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

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

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

$をつけるのはPHPの他にPerl, Bシェル系のシェルのみとなっています(私の知る限り)。

ただ、私の友人は「変数に$がつく方が、どれが変数か一目で分かっていい」と言ってたので、初心者にとっては、PHPの変数表記の方が分かりやすいかもしれません。

結論

ここまで説明してきたことを踏まえて、私個人の意見としては、「初心者にとってPHPとJavaはどっちが難しいか?」というと「Javaの方が難しい(取っつきにくい)」となります。

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

Javaは業務システムとAndroidアプリの開発でよく使われています。PHPはWebサービスやゲームのサーバーサイドでよく使われています。

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

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

なんなら、2つとも学んでしまえばいいと思います。私の場合Javaを学んだ後、PHPをやったら、すぐ使えるようになりました。

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

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

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

30代以上の方には

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

2. 自宅で学びたい派には

侍エンジニア塾の無料体験レッスンをおすすめします。カリキュラムを自由に選択できるので、自分が教わりたい内容をピンポイントで学ぶことが出来ます。このスクールから33歳でITエンジニアに就職出来た人がいるそうなので、30代の方にもおすすめです。

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

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

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

 - 技術 , ,