見出し画像

他のプログラミング言語を知った上で、Webアプリの開発にPHPを選ぶビジネス上の理由

この記事はYYPHP アドベントカレンダーの19日目です。

はじめに

私は『プログラマ脳を鍛える数学パズル』という本で多くの解答をRubyで書きました。また、直近の『プログラマのためのディープラーニングのしくみがわかる数学入門』という本ではPythonを解説に使いました。
さらに『プログラミング言語図鑑』のように、さまざまな言語を見開きで紹介する本も書きました。この本に載せた言語の中でも、Webアプリの開発によく使われる言語は多くあります。

このように様々な言語を使える私ですが、実務でWebアプリを作る案件の多くで、開発言語にPHPを選んでいます。私がYYPHPに参加しているのもこれが理由ですが、このことは私が書いている本を見ると意外かもしれません。
そこで、私が多くの言語の中から普段の仕事の中であえてPHPを選んでいる理由を考えてみます。それは、主に技術的な視点ではなく、ビジネス的な視点です。

1. 多くのレンタルサーバーで使える

私がシステムを開発しているお客様の多くは中小企業です。特に規模の小さなお客様が多く、自社内に情報システム部門などもありません。システムの利用者数も決して多いとは言えず、性能の面でもレンタルサーバーで十分なことは珍しくありません。

そんな状況でも、とりあえずホームページは持っている、という企業は多くあります。レンタルサーバーを契約してホームページを解説しているため、このサーバー上で動くようなシステムを作って欲しい、という要望が多いのです。

こうなると、使える言語や環境が一気に絞られてしまいます。ソースコードの管理にgitなどを使っても自動でデプロイできず、FTPなどを使ってアップロードすることも珍しくありません。レンタルサーバーが用意しているWordpressなど以外にはフレームワークを新規に導入することも難しく、とりあえず与えられた環境で動くプログラムを作る現実があります。

この状況で、とりあえずファイルだけ置けば動くというメリットを考えると、選択肢としてPHPが妥当だという判断になることは少なくありません。

2. 初心者から上級者まで開発者数が多い

PHPは初心者でも扱いやすい言語です。プログラミングは初心者だけど、HTMLは少し勉強した。ちょっと動きをつけたいから、Web上のソースコードをコピーしてちょっと動かしてみる。といった人は多くいます。
これは、それだけサンプルが多い、ということでもあります。ちょっとやりたいことがあると、インターネット上にはサンプルがたくさん公開されている。そして、それを使って実装されているシステムが多いのです。(そのまま使ってしまい、セキュリティ上問題が多い場合もありますが…)

このように、多くの開発者がPHPを使っている、という実態があります。開発を依頼されても、新規ではなく引き継ぎの案件であり、前任者が作ったシステムを引き継ぐ場合があります。すると、自動的にPHPの割合が多くなります。
また、開発が終わった後に他の人に任せるときにも代わりの人を見つけやすい、ということでもあります。

3. 案件数が多い

開発者数が多いだけでなく、案件の数が多いことも現実としてあります。上記のように、開発を依頼する企業がすでに使っていたシステムの多くがPHPで実装されていることから、結果として私個人もPHPでの開発経験が多く溜まっていきます。

PHPに慣れていることや環境がすでに用意されていることから、スムーズに作業に取りかかれる、など開発工数の削減にもつながります。結果として安価になり、お客様も喜ぶという状況になっています。
PHPの案件数については、大規模な開発では状況が変わってくることがありますが、小規模な開発であれば圧倒的にPHPが多い印象です。

4. 事例を探しやすい

プログラミング言語を選ぶとき、その言語を選んだ理由を説明する場面があります。このとき、よく聞かれるのが「事例」です。他の企業で採用されている事例があると、選んだ理由を説明しやすくなります。
ここで、PHPのメリットとして、URLの拡張子で検索できる、という点があります。最近ではフレームワークを使っているものが多く、拡張子が表示されないサイトが多くありますが、それでもまだまだ拡張子が表示されているサイトは多いものです。

拡張子を見て言語がわかるものとしてPerlやRuby、Pythonなどのスクリプト言語だけでなく、JavaやC#(ASP.NET)などもありますが、探してみると圧倒的に多いのがPHPです。
(Google検索で、「filetype:php」を指定すると圧倒的に件数が多い)
つまり、「このサイトでもPHPが使われていますよ」という説明をするための事例を集めるのが簡単だということです。

最後に

プログラミング言語は「人気ランキング」「年収ランキング」などで注目を集めることがあります。ただ、その人気がどのような理由で注目されているのか、ということは注意する必要があります。
「案件が多い」「検索数が多い」「プレスリリースで注目された」「イベントで新発表があった」など、注目されるのには理由があります。技術者としては、「新しい言語に注目する」「特徴的な機能に着目する」「処理速度で比較する」「ライブラリの数を意識する」ということも必要ですが、技術面以外での視点も持っておきたいものです。

この記事が気に入ったらサポートをしてみませんか?