PHPは悪くない、ではなぜ評価されないのか?

よく批判されることが多い(オンラインでは猫の動画よりも不満の方が多い気がする)にも関わらず、PHPは最も広く使用されているサーバーサイドスクリプト言語の一つです。

はい、その通りです。2023年7月の時点で、3Techsによると、驚くべきことに知られているすべてのウェブサイトの77.4%がPHPを使用しています。これは小さな数字ではありません!

PHPの人気は、主にその習得のしやすさに起因しています。「Hello, World!」と叫ぶ前に、すでにデータベースと連携するウェブページを持っているかもしれません。そして、WordPressを忘れてはいけません—ウェブコンテンツの40%以上をサポートしているのを想像できますか?

しかし、これらの印象的な数字にもかかわらず、PHPはしばしばジョークの対象になります。「PHP嫌い」と検索すると、夏のバーベキューパーティーよりも多くの悪口が見つかります。

PHPの創始者であるラースムス・レルドルフも「私はどうやって止めるか分からない、プログラミング言語を作るつもりはなかった [...] プログラミング言語を作る方法を知らなかった、私は一歩ずつ追加しただけだ」と言っています。これが最もインスパイアリングな起源の話でないなら、何がそうなのでしょうか。

批判を理解する: なぜPHPはかつて不人気だったのか

少し過去を振り返ってみましょう。
PHPは1995年に登場しましたが、正直なところ、その時はあまり魅力的ではありませんでした。率直に言って、少し雑でした。
初期の不人気の理由は以下の通りです。

  • 一貫性の欠如: 関数名やパラメータの順序がしばしば混乱しており、注意深く構築されたワッフルというよりも、パンケーキの山のようでした。

  • セキュリティの問題: 「PHPは不正確」というフレーズは長年にわたりオンラインで広まっています。確かに、ある程度の真実があります。
    初期のPHPは、開発者がアプリケーションに重大な脆弱性を残すのを容易にしました。あなたは「ようこそ、盗んでください」というサインを掲げて前のドアを開けっぱなしにしないでしょう、ではなぜウェブサイトがそれをするのでしょうか?でも、誰もが学ばなければなりません。

  • 不完全: 2004年にPHP 5がリリースされるまで、オブジェクト指向プログラミング(OOP)は完全にサポートされていませんでした。ポットラックに招待されて、9年遅れて半分食べたサンドイッチを持ってくるようなものです。

  • デバッグの問題: PHPのデバッグは、忍者と隠れんぼをするようなものでした。問題は、その忍者が目に見えず、さらに燃えていたことです。

  • 悪い習慣を助長する: PHPの緩いエラーハンドリングと型チェックは、いくつかの悪いコーディングプラクティスを促進しました。
    でも、誰もが間違いを犯しますし、プログラミング言語も例外ではありません。最終的に、どんなツールも誤用されると問題を引き起こす可能性があります。料理番組の失敗を見てきた私としては、失敗が必ずしもキッチンのせいではないことを知っています。

しかし、PHPを完全に否定する前に、90年代半ばから現在まで多くのことが変わったことを思い出さなければなりません。高校の卒業写真だけで誰かを判断しないように、PHPの過去だけで評価すべきではありません。古い考えを捨てて、PHPがどのように成長してきたかを見てみましょう。ネタバレ: かなりの進歩を遂げています。

PHPの進化: PHP 4からPHP 8へ

公平を期すために、PHPは常に改善されています。まるで自己発見の旅に出て、禅の師匠を見つけて、リフレッシュされた姿で戻ってきたかのようです。

まず、2004年のPHP 5は、オブジェクト指向プログラミングへの大きな飛躍を示しました。PHPは成熟し、スーツとネクタイを着て、JavaやC#のような大手と関わるようになりました。

より良いOOPサポートと、PHPをより強力で柔軟な言語にするための多くの機能が追加されました。確かに、まだいくつかの癖はありましたが、言語は成熟の兆しを見せ始めました。
次に、2015年のPHP 7が登場し、速度とパフォーマンスが大幅に向上しました。PHPは三輪車からスポーツカーに乗り換えたかのようでした。スカラー型宣言や戻り型宣言などの機能により、PHPは型チェックをより厳格に行うようになり、コード内の多くの問題を防ぐのに役立ちます。

しかし、進歩はそこで止まりませんでした。2020年にリリースされたPHP 8は、さらに多くの新機能を導入しました。名前付き引数、属性、ユニオン型、マッチ式、null安全演算子、さらにはジャストインタイム(JIT)コンパイラが登場し、PHP 8はプログラミング界での強力な競争者となりました。

さらに、デバッグプロセスはXdebugのおかげで大幅に改善されました。あの見えない燃える忍者を思い出してください?今や、ナイトビジョンゴーグルと消火器を手に入れました。ありがとう、Xdebug!

現在、PHPはバージョン8.4をリリースしており、これは素晴らしいアップデートです。その機能の中で、プロパティフックは現代PHPの歴史における最大の変更の一つかもしれません。プロパティフックは、IDEや静的解析ツールが、古くなった可能性のあるドックブロックコメントなしで直接理解できる計算プロパティをサポートします。また、クラス内の一致するゲッターやセッターを確認することなく、値の前処理または後処理を行うことができます。
メソッドチェイニングの括弧なしや非対称の可視性などの更新もあります。詳細については、こちらの記事をチェックしてください

ローカルPHP環境: 効率の向上

PHPが自己改善している一方で、私たちが使用するツールも進化しています。活発なエコシステムのように、PHPは常に開発が続いています。2023年の開発者調査によると、64.8%のPHP開発者が定期的にフレームワークを使用しています。半数以上のPHP開発者がこれらのツールを信頼しています!

では、これらのフレームワークがなぜ人気なのでしょうか?いくつかの主要なプレーヤーを見てみましょう。

PHPフレームワークの開発は、PHPの実用性をさらに高めています。多くのPHP開発者は、MAMP、ServBay、XAMPPのようなローカルウェブ環境を使用しています。統合開発環境(IDE)は、PHP開発者が迅速に開発環境を設定するのを助け、開発時間を大幅に短縮し、効率を向上させることができ、開発者が技術的な開発により多くの時間を集中できるようにします。これらのIDEは、PHPの評判を高め、開発者が迅速で安全、かつ保守可能なコードを書く手助けをしており、PHP IDEを選ぶことがますます重要になっています。

では、これらのツールがなぜ人気なのか、いくつかの主要なプレーヤーを見てみましょう。

MAMP

MAMPは、macOSとWindowsに簡単にインストールできる無料のローカルサーバー環境です。できるだけ柔軟に設計されており、開発者が好みの環境で作業できるようになっています。また、非常に使いやすいため、ウェブ開発を探求する新参者にとって素晴らしい選択肢です。

ServBay

ServBayは新しいウェブローカルサーバー環境であり、依存関係なしに、非侵襲的にPHP/Node.jsのウェブ開発環境をわずか3分で設定できます。開発に必要なすべてが含まれており、ウェブサーバー、データベース、メール、DNS、および一般的なツールが揃っています。迅速に進化しており、現在はPHP 8.5-devとNode.js 23をサポートし、新しいDNSサーバー機能とドメイン管理機能を導入しています。

XAMPP

XAMPPは、Apache Friendsによって開発された無料のオープンソースのクロスプラットフォームウェブサーバーソリューションパッケージです。このパッケージは非常に簡単にインストールでき、使用できるため、ローカルウェブサーバーを作成してテストやデプロイを行いたい開発者にとって理想的な選択肢です。

これらのツールの人気は、PHP開発の便利さだけでなく、安定して機能豊富なローカル開発環境を提供することにも起因しており、開発速度を加速させ、参入障壁を低くしています。

今日のPHP: 評判、現実、未来の可能性

PHPの評判については、かなりのジェットコースターのようなものでした。
「プログラミングの笑い者」から「ウェブ開発のダークホース」へ、PHPの旅はハリウッドのインスピレーション映画のようです。ハリウッドは贖罪の物語が好きですが、プログラミングコミュニティも同様です。
では、いくつかの誤解を解消しましょう。

  • 誤解 #1: PHPは古い。ちょっと待って、友よ!PHP 8のリリースは、さようならを言うにはほど遠いことを証明しています。実際、これはただのウォームアップに過ぎません。PHPはただ残っているだけでなく、現代の機能を備えており、どの現代言語とも競争できる力を示しています。

  • 誤解 #2: PHPは遅い。昔はそうかもしれませんが、今は?全くそうではありません。PHP 7以降の速度向上は驚くべきもので、ベンチマークテストでは、PHP 8が古いバージョンの3倍の速度で実行されることが示されています。だから、誰かがPHPは遅いと言ったら、「カレンダーを確認してください。2009年ではありません!」と言ってやりましょう。

  • 誤解 #3: PHPは不正確。どんな言語でも誤用すれば不正確になります。信頼性の高いフレームワークを使用するなど、PHPの現代的なベストプラクティスに従うことで、PHPは他の言語と同じくらい安全になることができます。曲がった釘のためにハンマーを非難しないでください!

PHPの公正な評価を求めて

PHPはそんなに悪くはありません。

しかし、もはや過去のように嘲笑され、批判されるPHPではないことを認識することも重要です。
年月が経つにつれて、PHPは成熟しました。小さなプレーヤーから、ウェブのほぼ80%を支えるバックボーンに成長しました。過去の批判に直面し、他の現代プログラミング言語に対抗できる機能を導入しています。

PHPは、他の言語と同様に強みと限界を持っています。しかし、古いジョークを脇に置く時が来ました。次回ウェブプロジェクトを開始するとき、PHPの過去の評判だけで否定しないでください。
公平を期すと、PHPはそのメリットがないわけではありません。実際、そうではありません。まるで不器用なスーパーヒーローのように、PHPは成長痛を経験しましたが、進化し、成熟し、今ではその真の可能性を示す準備が整っています。

PHPにチャンスを与え、その現在の強みに基づいて評価してみてください。そうすれば、あなたはPHPのファンになるかもしれません。
PHPコミュニティが言うように、重要なのはエレファントではなく、部屋の中のエレファントです。

だから、この言語の回復力を祝福しましょう。嘲笑されながらも、PHPは常に適応し、改善し、ウェブをより良い場所にするために取り組んでいます。

結局のところ、PHPはそんなに悪くないのではないでしょうか?

いいなと思ったら応援しよう!