- 更新日: 2018年10月12日
- 公開日: 2017年10月19日
【徹底解説】Javaを学ぶべき人とPHPを学ぶべき人
文系や非・情報科卒の方で、システムエンジニアやプログラマ、IT業界への就職・転職を考えた時、JavaとPHPどちらを学ぶべきか、悩みますよね。
今回はそんなJavaとPHP、どちらにしようか迷っている方向けに「Javaを学ぶべき人」と「PHPを学ぶべき人」をまとめてみました。
ひとつの参考情報としてご活用頂ければ幸いです。
【徹底解説】Javaを学ぶべき人とPHPを学ぶべき人
JavaとPHPの基本説明
適性をご紹介する前に2つの言語の概要や違いをご紹介します。
【Javaとは】
画像出典:Wikipedia
Javaは、1995年に公開されたプログラミング言語で、元々は双方向通信を可能とするテレビ用に個人が開発していた言語です。 現在は、アメリカのオラクル社がJavaを管理・運営し、2017年9月に最新バージョンのJava9をリリース。
「一度書けばどこでも動く」をキーワードに、ブルーレイやクレジットカード、ATMのような組み込み系のマシーンからAndroidのアプリ、 GmailやTwitterなどのWebアプリなど幅広く使われています。 どちらかというと大規模開発に向いている言語で、個人での利用よりは、ソフトウェア開発会社やアプリ開発会社などのプログラマやエンジニアが使う言語です。
また情報科の高校生や大学生、専門学校生の多くがJavaを学習して、IT企業への就職に挑んでいます。 その一方で、Javaをよく使うシステムエンジニアの現場では、文系:理系=4:6* ぐらいの割合となっており、社会人になってからJavaを習得し活躍する人もたくさんいますね。
【PHPとは】
画像出典:Wikipedia
PHPは、1995年に登場したプログラミング言語で、Webをもっと便利に使うことを目的とした言語です。 言語自体の管理・運営は、PHP開発チームとZendテクノロジー社が行い、2015年、11年ぶりにリリースしたPHP7が話題を呼びました。
Yahoo!やFacebook、Wikipediaなど大手の早期IT企業がPHPを採用したことで、PHPの普及率は高く、現在Webのサーバーサイドで動く 言語としてはトップシェア(82.9%*)を誇っています。
Web業界では高いシェアを誇っていますが、Javaに比べると高校や大学の情報科でPHPを学ぶところは少なく、社会(求人)とのギャップが発生中。 こうした状況からIT企業によっては、入社後に研修を設けているところもあります。
【JavaとPHPの違いは】
細かい部分で比べると、変数の型宣言が・・・・とかありますが、プログラミング初心者にとってはイメージしにくいですよね。 もっと身近な部分で、2つの言語の違いをご紹介したいと思います。
【JavaとPHPの違い】
Java | PHP | |
---|---|---|
ブラウザへ出力するまでに必要な環境 | ・Java SE ・IDE(統合開発環境) |
XAMPP |
プログラム実行前に | コンパイル必要 | コンパイル不要 |
クラウド上での開発 | △ | ○ |
使用分野 | ・Webアプリ ・スマホアプリ ・デスクトップアプリ ・ロボット制御 ・IoT ・人工知能など |
・Webアプリ |
レンタルサーバー | ☓ | ○ |
スマホのアプリ開発 | ○ | ☓ |
フレームワーク | ○ | ○ |
CMS(WordPressなど) | ○ | ○ |
求人件数(indeed) | 54786 | 30929 |
フリーランス案件数(クラウドワークス) | 6521 | 11529 |
Java、PHPともにプログラムを実行するために、専用ソフトが必要になりますが、Javaに比べてPHPの方がシンプルです。 またハードディスクの容量の加減から、自分のパソコンではなくクラウド上(Cloud9やCodeanywhereなど)で開発環境を準備したい、と考える方も多いのでは。 現在PHPについては、数回のクリックでWordPressやフレームワークの開発環境が簡単に構築できますが、Javaの場合は複雑です。
また意外かもしれませんが、レンタルサーバーでJavaに対応しているところは皆無で、Javaの学習後、プライベートでWebをリリースしたいと考えている方はサーバー周りの学習も必要となってきますね。 そして仕事についてですが、就職・転職の案件数はJavaが多く、フリーランスの案件はPHPの方が多い現状となっています。
【学習面での違い】
学習参考時間
- Java 17時間45分
- PHP 15時間20分
(Progateより)
PHPの学習は、Webアプリの試作ありきで、基本文法からオブジェクト指向、データベースへと足早に進みます。 一方、Javaの場合は、試作ありきではなく、基本文法からオブジェクト指向、データベース、MVCとJava自体を味わうように学習が進みます。 PHPは早い段階で一定の結果が出る一方で、Javaはそれなりの結果が出るのに時間がかかります。
Javaは基礎学習に時間がかかるかもしれませんが、基礎の段階でMVC*というRuby on Raisなどフレームワークで採用されている概念、使い方を学びます。その結果、学習後のレベルとしてはPHPよりJavaの方が高いと考えられるでしょう。 PHPの場合はフレームワークを使う段でMVCを学ぶケースが多いので、フレームワークを使わなかった場合はMVCを知らないプログラマとなってしまうかもしれませんね。
MVC:Model View Controllerの略。CodeCampでは、PHPレッスンにMVCの学習が含まれています。
JavaとPHPのできること比較
JavaとPHPは、プログラミング言語自体の設計が異なれば、その言語でできることも違ってきます。 以下の表に各言語でデキルことをまとめてみました。
【できることの比較】
Java | PHP | |
---|---|---|
企業レベル | ・ソフトウェア開発 ・組み込み系システム開発 ・スマホのアプリ開発 ・Webアプリ開発 ・人工知能ソフトの開発 ・データ解析 ・IoT ・VR/ARのソフト開発 ・ブロックチェーン・ソフトの開発 |
・Webアプリの開発 ・WordPressの受託開発 |
個人レベル | ・スマホアプリの開発(Android) | ・Webアプリの開発 ・WordPressの開発 |
JavaはオールマイティーにITサービスをカバーできるのに対して、PHPはWeb関連のサービスのみをカバー。 つまりJavaは、Webからスマホアプリ、ロボットに人工知能と多ジャンルに対応できる一方、学習量がかさみ 勉強時間が課題に。
PHPは、Webに特化しているので組み込み系や人工知能は弱いものの、Javaに比べると学習範囲が狭いのでチョット楽?かなという特徴があります。
またすこし応用的な部分になりますが、以下のようなこともJavaとPHPで得手不得手があります。
Java | PHP | |
---|---|---|
並行処理 | ◎ | △ |
ノンブロッキングI/O | ◎ | ○ |
フレームワーク | ○ | ○ |
プラグイン | ◎ | ○ |
CMS | ○ | ◎ |
並行処理(並列分散処理、マルチスレッド)とはイメージの通り、シングル処理に比べて同時にたくさんの処理を実行できる機能です。 PHPでも並行処理は可能ですが、Javaの方が適しており、AmazonやTwitterなどのグローバルサイトはJavaを採用しています。 Javaの場合、メモリーにもよりますが5000以上のスレッドを搭載することも可能*。
ノンブロッキングI/Oとは、Gmailをイメージしていただくと分かりやすいと思うのですが、ブラウザを更新しなくても受信メール(データの更新)を自動で表示してくれる機能です。 JavaもPHPもフレームワークにノンブロッキングI/Oの機能が搭載されていますが、Javaの方が積極的な傾向。
フレームワークやプラグインは、開発を加速させてくれるツールで両方の言語共に充実していますが、CMSについてはPHPの方が強いです。 これはWordPressというPHPベースのCMSが広く普及(Webシェア28.8%*)しているためです。
以上のことを踏まえてJavaを学ぶべき人とPHPを学ぶべき人をご紹介します。
Javaを学ぶべき人
- 読書スキな方
- 学習意欲が高い方
- じっくり、慎重派
- 機械がスキな方
- IT業界のどのジャンルで活躍したいか、まだわからない方
- プログラミング以外のコンピューティング全般に興味のある方
Javaの基礎学習は充実している反面、読む文量が多いです。 またシステムエンジニアとして働きだした場合、プロジェクトに関係するシステムを理解するための学習が欠かせません。 これらのことから読むことに抵抗がなく、学習意欲が高い方がJavaにむいていると考えます。
またJavaは、Webやアプリ以外の組み込み系やロボットなどでも使われていますので、プログラミングでどんなことをしたいか決めかねている方にもピッタリと思いますよ。 その他にJavaの場合、Javaファイル以外にjarファイルやクラスファイル、シェルスクリプト、.batファイル、.groovyなど色々な書式が登場してきます。 これらをスムーズに理解するためには、コンピューティングを学びたい!というモチベーションが必要でしょう。
PHPを学ぶべき人
- 結果先行派
- Webに特化してプログラミングを学びたい方
- プライベートでもWebアプリを開発したい方
- フリーランス・デビューも考えている方
PHPの学習要領の多くは、サンプルサイトの開発がゴールに設定されています。 またWordPressは、特別PHPの知識がなくてもWebアプリを作ることが可能。 そしてJavaに比べてPHPの方が開発環境の構築が簡単で、オンラインIDEもPHPの方が充実しています。 つまり新しい商品を買った時に取説を読まずにとりあえず使ってみる、というような結果先行派の方にはPHPがむいていると思いますよ。
それから将来のキャリア・パスを考えた時に、「フリーランスで生活していきたい」と考えておられる方もいらっしゃると思います。 この点はJavaよりPHPの方が有利で、クラウドワークスの案件総数は Java 6521件に対して PHP 11529件となっていますね。(クラウドワークス 2017.10.16時点)
\Webサイト担当者としてのスキルが身に付く/
まとめ
頭では違いを理解できても、JavaとPHP、どちらを学ぶべきか迷いますよね。 そんな時はとりあえずコードを書いて、アプリを作ってみて、どっちがおもしろいか、体験してみることをオススメします。 体験方法はネット上にもありますが、私は本をお勧めしますね。理由は、情報の鮮度と体系立てて学習できるからです。
「一人では不安」という方は、オンライン・マンツーマン・レッスンいかがでしょうか。 どんなものか無料でお試しできますので、よろしければ「CodeCampの無料体験」ご参考ください。
- この記事を書いた人
- オシママサラ