はじめての言語選択は不安がいっぱい? PHPを学ぶべきはこんな人

PHPを学ぶべき人・おすすめできない人


プログラミングを学びたいんだけど、PHPを選ぶべきなのかわからない
最近PHPって廃れてきたって聞いたんだけど
初心者が学ぶべき言語ってどれなんだろう?

こんにちは。初めて選んだ言語がCで挫折を経験した後、PHPでプログラミングの面白さを理解できたエンジニア・テックライターの平山です。

プログラミングを学びたいと思っている方の中には、上のようにどの言語を選んでいいのかわからない、という人が結構いるのではないでしょうか?

PHPについては、いい噂と悪い噂が入り混じっているようです。特に初心者の方には判断が難しくなっているのも事実かもしれません。

そこでこの記事では、PHPを学ぶべきかどうか迷っている初心者の方を対象に、学ぶべき人、おすすめできない人を提示していきます。

この記事を読むと、自分の目指している方向とPHPがどれだけ噛み合っているのか、初心者の方でも判断できるようになるはずです。

早速いってみましょう!

PHPを学ぶべきなのはこんな人

まずはPHPを学ぶべき、と声を大にしておすすめできる人を見ていきましょう。以下に紹介するような人はPHPを学ぶメリットがとても大きいといえます。

  • Webサービス・Webアプリを作りたい
  • CMSを改造したい
  • Webでできるこの幅を広げたい

Webサービス・Webアプリを作りたい人

PHPはよく「Webに特化した言語」と言われます。PHPのご先祖にPersonal Home Page Toolsという物がありました。名前の通りホームページをいじるのに便利なツール群でして、これを改造・発展させたものが現在のPHPへとつながっているんです。

生まれも育ちもWebに使われることを念頭においてきただけあって、PHPはWebの扱いに特化した言語となったわけなんです。このためPHPは、Webで何かを作るには非常に便利な言語に仕上がっています。

PHPで作られたWebサービスに興味のある方は以下の記事も見てみると、いろいろ発見があり、より興味が深まることでしょう。

PHPで作れるものを紹介!ログイン機能やボット・Twitter風アプリまで
更新日 : 2019年5月28日
PHPで何ができるのか?具体的なサービスや活用事例を紹介!
更新日 : 2019年4月28日

CMSを改造したい

CMSとはContent Management System の略で、日本語ではコンテンツ管理システムと呼ばれます。

CMSはWebコンテンツを構成するテキストや画像などを管理し、配信するためのシステムです。これを簡単にいうと、インターネットに対する深い知識が無くてもWebコンテンツを作ることができるシステムです。

みなさんもWordPress(ワードプレス)やEC-Cube(ECキューブ)という名前を聞いたことはないでしょうか? これらは昨今のWebサイト作成でよく使われているCMSです。

そして、重要なポイントですが、この2つのCMSはPHPで作られている、ということをぜひ覚えておいてください。これらのCMSはPHPを使うことで独自に改造を加えることができるんです。

このため、WordPressで必要な機能を追加するためにPHPを学ぶ、という人は現実に多くいます。なにせ、世界の1/3のWebサイトはWordPress製、といわれるほど広く普及しています。WordPressを改造する知識があれば、それだけで優秀な人材として重宝されます。

実際に、WordPressのプラグインやテーマを制作して生計を立てているエンジニアもいるくらいです。

Webでできることの幅を広げたい

この項目はすでにある程度Webに馴染みのある人向けです。HTMLとCSSはそこそこわかるけど、プログラミングになるとさっぱりわからない、Webデザイナーやディレクターの方が主に該当するでしょうか。

こういった方がPHPをわかるようになると非常に強力です。元々フロントエンド側の知識はある程度しっかり持っている上に、バックエンドの知識が加わるので、フロントとバックの間を非常にスムーズにつなげることができます。

今までだったら意味のわからなかったAPIの仕様や、バックエンドに優しいフロントの設計とか、そういった部分の配慮ができるようになると、全体の開発速度は格段に上がります。

システム全体を見渡すことができる、ということはそれだけできることの幅が広い、ということなので、ぜひこの機会にバックエンドの入門としてPHPを始めてみてはいかがでしょうか?

次の章では本章とは逆に積極的にはおすすめしにくい人を紹介していきます。

PHPの学習をおすすめできない人

続いてこの章ではPHPの学習をおすすめしにくい人を見ていきます。おおよそ次のような人にはPHPをおすすめしにくいですね。

  • Web以外のプログラミングをしたい
  • Webに興味がない
  • HTMLやCSS、JavaScriptなどの周辺知識を学びたくない
  • プログラミングを基礎からじっくりやりたい
  • オブジェクト指向を極めたい


ただ、あくまでも目的を達成する手段としてPHPが噛み合っていないということです。PHPを学びたいのであれば、その気持を大事にしながらPHPを学び始めるべきです。

Web以外のプログラミングをしたい

画像:Shutterstock

まず一番わかりやすいのがこの項目に当てはまる人です。1章で触れましたが、PHPはWebに特化した言語と言われています。ということは、Webプログラミング以外のことをやりたい場合、他の言語を習得したほうが希望を実現できる可能性が高いです。

以下にやりたいことと、それに対するオススメ言語を紹介しています。

Windowsアプリ

多くの人が使っているWindowsで動くアプリを作りたいならば、C#VB.NETという言語がおすすめです。難易度は高いですが、C言語からはじめてC++を習得することで、かなり深い部分までWindowsをいじれるようになります。

ただ、多くの人に使ってほしいということならば、Webアプリ、という選択肢もあります。興味のある方はぜひ1章をご覧ください。

Macアプリ

AppleのMac OSで動くアプリを作りたいならば、Swiftという言語がオススメです。swiftとは何かを知りたい方はこちらの記事を読んでみると、理解が深まるでしょう。

プログラミング言語「Swift」とは?大注目言語を徹底解説!
更新日 : 2019年4月30日

なお、swift登場以前はObjective-Cという言語がApple製品でプログラミングを行うための基本言語だったのですが、swiftが登場した関係で最近廃れ気味です。今から始めるならあえて選ぶ必要性は薄いでしょう。

Androidアプリ

スマホのAndroidで使えるアプリを作りたいならば、Javaが基本になります。Javaは様々な環境で動かすことができ、安定性も高いため、業務用のアプリ開発などでもよく使われている非常に人気の高い言語です。

Javaについては以下の記事もご覧ください。

また、最近ですとAndroidアプリ開発に使えるということでKotlinという言語が話題になっています。KotlinはJavaと似たような用途で使える言語でありながら、新技術や新発想の物事を積極的に取り入れている先進的な言語です。

興味のある方はこちらをご覧ください。

iPhoneアプリ

日本で大人気のiPhoneのアプリ開発をやりたいならば、習得すべき言語はSwift一択です。SwiftはMacのアプリ開発でも使えると紹介しましたが、Apple社の製品全般の開発言語として使われています。

Apple製品が大好き! という方は真っ先に選んでみるのもいいですね。

ゲーム

プログラミングを学んでゲームを作ってみたい!という人は結構な数がいるようです。ただ、最近はプログラミングを直接使う、というよりもゲームエンジンと呼ばれるゲーム制作のためのツールを使いつつ、必要な箇所でプログラミングを行ってゲームを作っていくことが一般的です。

多くのスマホゲームやコンシューマゲームで使われているゲームエンジンとして、Unity(ユニティ)があります。まずはUnityの使い方を学びつつ、必要となるプログラミング言語を習得していくといいでしょう。

Unityについてはこちらの記事をどうぞ。

また、ゲームエンジンを使わずに、昔ながらの方法で1からプログラミングをしていく、という方法もあります。こういったやり方は今でも実行速度が求められる現場で利用されており、そのために使われる言語はC++です。

また、多様な環境に対応させることができる、という点からJavaを採用したMinecraftというゲームもあります。まずは自分の好きなゲームがどのように作られているのか調べてみると、やるべき方向性が見えてくるかもしれませんね。

人工知能

最近流行りの人工知能ですが、人工知能を作るためにもプログラミングが必要になります。

人工知能を作る際に必要になるプログラミング言語はPython(パイソン)が一番人気ですね。書きやすさ・読みやすさを重視した言語で、人工知能の開発に必要な数学的処理も簡単にこなせる機能が充実しており、とても人気があります。

Pythonについてはこちらの記事をどうぞ。

数値解析

大学などの研究機関では、実験結果の解析にプログラムを使うこともよくあります。そんな用途に特化した言語として有名なのがR言語です。

最近流行りのデータサイエンスや統計分析を行うのにもよく利用されていますね。

R言語について詳しく知りたい方はこちらの記事をご覧ください。

また、Pythonも学術・研究用途のライブラリが充実しており、統計分析などでよく使われています。

Webに興味がない

続いてのPHPをオススメしにくい人は、Webに興味がない人です。人の興味はそれぞれですが、まったくもってWebに興味がないとなるとさすがに難しい部分があります。

プログラミングを学んで作りたいのはローカルなアプリのみ、Webを使った拡張性とかまったく興味がわかない、という人にはPHPはオススメしづらいですね。これもPHPがWebに特化した言語ゆえです。

確かにWebプログラミングはフロントエンドとバックエンドで大きく分けられたり、バックエンドも単純なプログラミングだけでなくインフラや通信についての細かい知識が必要になったりと、一般的なローカルアプリの開発とはかなり勝手が違います。

ですが、Webにさえつながればどんな端末からでも使える汎用性や、端末の性能にそこまで依存せずに設計できたりと、Web特有のメリットはたくさんあります。

今現在、ローカルで実現したいと思っていることも、Webアプリで作ったほうがより簡単に実現できるかもしれません。ぜひ一度Webという選択肢も考えてみてください

HTMLやCSS、JavaScriptなど周辺知識を学びたくない

上のWebに興味がないとも繋がる部分かもしれませんが、多くのWeb嫌いにとって、一番の問題は1つの言語を学んだだけではものが作れない、という事かもしれません。Webアプリを開発しようとすると、上でも書いたようにフロントエンド・バックエンド両方の知識が必要になります。

フロントエンドというと、基本的にHTML/CSS、JavaScriptのことを指します。バックエンドはバックエンドで用いられるPHPなどの言語1つとサーバ設計が主な構成要素です。

Webアプリを一つ作るのに、これだけの知識が必要になります。まあ、全部をプロフェッショナルレベルで使いこなせる必要はないので、1つ1つを必要な部分だけつまみ食いしていけばそこまで大変な学習量にはならないんですが。

それでも、プログラムを1つ作るのにたくさん勉強したくない、という人にはPHPはオススメしづらいですね。

プログラミングを基礎からじっくりやりたい

この項目は今までとは少し毛色が異なります。

PHPの学習は上で紹介したようにWebアプリを制作することを目標にする場合、かなり実践的な学習スタイルになります。実際に手を動かして作りたいものを作り上げていく、という方式ですね。

この方法は、Webアプリ制作の実践的な方法論を身につけられるというメリットがあります。逆に、つまみ食い状態で各技術を習得していくため、虫食い的に学習では拾いきれない項目がある程度発生してしまいます。

教科書を最初のページから丁寧に読んでいって、体系的な知識を身に着けたいんだ! という学習スタイルの方には向かない方法ですね。

また、プログラミング言語にはそれぞれクセのようなものがあり、似たようなものは系統としてまとめることができます。しかし、PHPは他の言語に比べて結構クセが強めです。

そのため、PHPを最初に習得すると、他の言語では当たり前でないようなことが当たり前になっていたりと、意外と変な部分でつまずくことが時々あります。

暗黙の型変換とか、知らないと結構致命的なものもあったりして気が抜けません。

複数のプログラミング言語を習得する場合、こういった言語ごとの常識の食い違いは往々にして発生が避けられません。ですが、最初に系統の大本になっている言語を習得しておくと、混乱が少ないとも言われています。

この場合、C言語とかJavaが系統の大本と言えるでしょうか。(まあ、CやJavaが昔からあって、それを改善するように新しい言語が発展してきた、という歴史があるので、改善の前と後を知っておけば混乱しにくいであろう、程度の問題ですが。CやJavaが構造として完璧なわけでもありませんし。)

将来たくさんのプログラミング言語を習得したい。プログラミングを極めたい。という人は、PHPは最初に選ばないほうがいいかもしれませんね。

オブジェクト指向を極めたい

こちらも一つ上の項目とリンクしますが、プログラミングの方法論の一つにオブジェクト指向プログラミングというものがあります。

このオブジェクト指向プログラミングは初心者の壁としても有名です。プログラミングを挫折した人の内、一定割合でオブジェクト指向が理解できなかった、という人がいるくらいです。

PHPもオブジェクト指向プログラミングができるオブジェクト指向言語ではあります。ですが、問題点としてPHPベースで書かれたオブジェクト指向の解説書があまり売られていないんですよね。

個人的にオブジェクト指向は実際にプログラミングをしながら実践の中で習得していくことと優れた解説書を読んで概念を理解することの両方が大切だと考えています。そういった点で、PHPだけで完結できる解説書が無いのは大きな痛手といえますね。

オブジェクト指向を本格的に極めようと思ったら、オブジェクト指向の開祖であるJavaで学ぶことがおすすめです。

オブジェクト指向という概念を世に広めた立役者がJavaで、Java向けに書かれた解説書はとても豊富に用意されています。また、オブジェクト指向に欠かせない、デザインパターンの学習もJavaベースだとやりやすいです。

上記以外のPHPのメリット・デメリット

PHPを学ぶべき人・学ぶべきでない人という分類で、PHPについて見てきました。この章では上2章で紹介しきれなかったPHPのメリット、デメリットを紹介していきます。

まずは、フリーランスやエンジニアとしてやっていく際のメリットについて。実は、PHPは世界中で使われているバックエンドの言語のうち80%を占めている、という調査があります。

引用:W3Techs – World Wide Web Technology Surveys https://w3techs.com/

これは、CMSの項でも書きましたが、世界中のWebサイトの1/3がWordPressで作られていることや、ほとんどのサーバでPHPが動作することが原因と考えられています。この数字だけ見ても、PHPのエンジニアに対する需要はかなりものであることが予想できるのではないでしょうか?

エンジニア目線でPHPのメリットを紹介した記事がこちらです。

また、PHPは確かに多くの場所で使われているけど、最近別の言語が流行っているから人気が落ちてきた──という話を聞いたことがある方もいるかも知れません。確かに最近はRubyやPythonなど、PHP以外の言語が流行してきており、PHPの存在感が相対的に低下したようにも感じられます。

ですが、求人サイトで検索をかけてみると、そうでもないことがわかってきます。例えば、求人サイトのWantedlyでPHP、Ruby、Pythonで検索をかけてみたところ、エンジニアの求人がそれぞれ4100、3700、2800件程度となりました。

参照:Wantedly https://www.wantedly.com

他の求人サイトでもばらつきはありますが、PHPがRubyやPythonにくらべて圧倒的に人気が無いのか? というと、そうではありません。確かにRubyはRailsというフレームワークで人気を拡大させましたし、Pythonは人工知能ブームの昨今、需要が高まっています。

ですが、日本には依然として多くのPHPで作られたシステムが存在します。そして、PHPもCakePHPやLaravelといった優秀なフレームワークを利用したサービスが今後も作られていくことでしょう。

こう考えると、PHPの需要自体はしばらく安泰といってもいいのではないでしょうか。

PHPの人気が無いのかを考察した記事が以下になります。

最後に資格について見てみましょう。IT系は基本・応用情報技術者といった国家資格やOracleが開催しているOracle認定Javaプログラマなど、様々な資格試験があります。

PHPも例に漏れず、PHP技術者認定機構が開催しているPHP技術者認定試験があります。

持っていることで業務を独占できるタイプの資格ではありませんが、自身の技術力の証にはなります。転職やフリーランスとしてなにか証明できるものがほしい方は狙ってみてもいいかもしれませんね。

PHP技術者認定試験に関する記事はこちらです。

まとめ

いかがでしたか?

今回はPHPを学ぶかどうかお悩み中の人向けに、おすすめできる人、できない人。そしてPHPのメリットデメリットを紹介してきました。

はじめてプログラミングをやってみようと思っている人にとって、言語選択は一大イベントです。この記事が皆様の言語選択のお役に立てたのであれば嬉しく思います。

お相手は年に1言語習得を目標にしている平山がお届けしました。

自分にプログラミングなんて・・・と思っていませんか?

今後10年間で今ある職業の『77%』はなくなると言われています。

人工知能や機械学習を筆頭にVR、AR、ドローンなどの最先端技術の発達はこれからのあなたの働き方に間違いなく影響を与えるでしょう。

将来を見据えてプログラミングができるようになってエンジニアになりたい、自分だけにしかできないクリエイティブな仕事がしたい、、、とお考えの方も少なくないでしょう。

と、同時に「難しそう、、自分にはできないだろう、、、」と諦めている方も多いのではないでしょうか。

弊社マンツーマンレッスンは、お一人お一人に専属のインストラクターがつくので、通常のスクールでは難しい、オリジナルアプリ開発や、フリーランスとしての仕事獲得まで支援しています。

まずは『無料体験レッスン』で弊社コンサルタントと一緒にあなた専用の学習カリキュラムを考えてみてはいかがでしょうか?

詳しくは下の画像をクリックしてください。

cta_mtm2

LINEで送る
Pocket

書いた人

平山 晃

平山 晃

フリーのエンジニア・ライター。
プログラミング、ライティング、マーケティングなど、あらゆる手段を駆使して、
ハッピーなフルリモートワーカーを目指し中。

最近興味がある分野は深層強化学習。
積みゲー、積ん読がどんどん増加しているのがここ数年の悩み。
実は侍エンジニア塾の卒業生だったりします。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説