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という転職エージェントが運営しているプログラミングスクールです。なんと無料で受講できて、修了後、就職支援もしてくれるそうです。最高過ぎですよ、これ!!就職の紹介料を企業からもらえるのでスクールを無料にできるんでしょうね。すばらしいシステムだと思います!

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

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

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

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

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

エージェントを使った方が転職活動は楽です

東京・大阪近郊のイケてるIT企業に転職したい人には『レバテックキャリア』

 東京・大阪近郊のエンジニア経験者向け転職サービスです。

このサービスを運営しているレバレジーズという会社はシステム開発もやっているので、現場の仕事をよくわかってくれてますし、ヒカ☆ラボというIT系の勉強会なども主催していたりteratailというプログラマー専用の質問サイトを運営してて好感が持てます。求人案件もWebやスマホの面白い仕事が多いのでいいと思います。

あとホームページ見ると分かるんですが、若くて美人の担当者が多いのもナイスなんです!私の場合(たぶんあなたも)、担当者が美人だと転職活動のモチベーションめちゃ上がりますからね笑

エンジニア未経験の方や地方在住の方にはDODAというエージェントをおすすめします。

エンジニア未経験の方や地方在住の方には『DODA』

全国の求人を扱っていて、しかもITエンジニア未経験の人にも転職支援をしてくれるエージェントです。

未経験の人はサポート対象外のエージェントが多い中、DODAは未経験者を支援し転職を成功させています。未経験の方こそエージェントから職務経歴書の作り方や面接の仕方のレクチャーを受けた方がずっとうまくいきます。

『派遣社員』なら正社員とフリーランスの『良いとこ取り』!

  • 「フリーランスになりたいけど、確定申告とかめんどくさいな」
  • 「定時帰りできる職場や、時短勤務がしたい」

という方には派遣社員がおすすめです。

派遣ってネガティブなイメージありますが、ITエンジニアの派遣社員ならやりたい仕事を選べて、給料も悪くないですし、確定申告や年金、健康保険も派遣会社が入ってくれるので、実はとてもいい選択なんです。

 - 技術 , ,