5 ポイント 投稿者 GN⁺ 2025-08-05 | 8件のコメント | WhatsAppで共有
  • PHPとJavaScriptは1995年の登場以来、ウェブの二大軸として成長し、両者とも初期設計の欠陥嘲笑にもかかわらずエコシステムを拡大してきた
  • 2つの言語は1997年に標準化され、それぞれFacebookとGoogle/Microsoftの支援を受けて2010年代に再躍進を経験した
  • PHPは**「フラクタル的に悪い設計」、独特の文法**、多くの欠点のため長年軽視されてきたが、世界のウェブサイトの70〜80%がPHPで動作している
  • LAMPスタックの中核として、どこでも手に入りやすく、低コストで、現代的な機能(OOP、FP、パッケージマネージャー、テストなど)も備えた堅実な言語へ進化した
  • 最近ではFrankenPHPのようなGoベースのランタイムの登場、そして継続的なセキュリティ改善コミュニティ主導の成長によって将来を模索している

PHPとWebプログラミングの成長

  • 1995年、ほぼ無名に近かったあるソフトウェア開発者が新しいスクリプティング言語PHPの初版を公開し、Webアプリケーション開発の地平を広げた
  • 段階的な標準化と**OOP(オブジェクト指向プログラミング)**機能の導入で、本格的な言語としての地位を確立した
  • ただし、独特の文法とランタイムモデル、頻発するセキュリティ問題、そして多数のフレームワークにより、数十年にわたり「真剣な」プログラマーから批判の対象となった
  • それでもコミュニティの力と主要IT企業の支援により、PHPは着実に進化し巨大なエコシステムを拡大し続けている

PHPとJavaScriptの並行する歴史

  • 1995年、Rasmus Lerdorf(「Personal Home Page Tools」)とBrendan Eich(Netscape)からそれぞれ登場
  • 両言語とも初期には粗雑な設計と構文の問題を抱え、「真剣なプログラマー」からの批判を受けた
  • 1997年、PHP/FI 2とECMA-262を通じてそれぞれ標準化が進んだ
  • 2010年代に入り、Facebook、Google、Microsoftなどビッグテックの支援を受けて大幅な発展を経験した
  • 2025年現在、Go言語ベースで生まれ変わる新しいランタイム(FrankenPHP、TypeScript Native)が登場

「みんなが嫌いだと言うのに、みんなが使う言語」のアイロニー

  • C、Java、Python、Perlなど、各言語には独特のニックネームがある
    • C: 「移植可能なアセンブリ」
    • Java: 「一度書けばどこでもデバッグ」
    • Python: 「実行可能な擬似コード」
    • JavaScript: 「10日で作られた言語」
    • Perl: 「インターネットのダクトテープ」
  • PHPは「フラクタル的に悪い設計」「Pretty Horrific Programming」などの否定的なニックネームにもかかわらず、世界のウェブの70〜80%を駆動する実績を示している

PHP: 「プログラミング界のトヨタ・カローラ」

  • 低コストで、どこでも簡単に使え、**LAMP(Linux, Apache, MySQL, PHP)**構成の象徴
  • 現在のPHPは完全なオープンソースプロジェクトで、高度なOOP機能(トレイト、プロパティフック、ネームスペース、属性、列挙型)と関数型プログラミング機能(クロージャ、キャプチャリスト、アロー関数)までサポートする
  • まもなく導入されるパイプ演算子、高速な型チェック、豊富な標準ライブラリ、強力なオープンソースパッケージマネージャー(Composer)とPackagist、優れたテストフレームワークPHPUnitなどにより、現代的で強力な特徴を備える
  • 性能とコンパイル速度も優れており、JetBrainsの専用IDE、独自マスコットなど、活発なコミュニティと独自のエコシステムを有する

過去の課題と見方の変化

  • goto演算子、独特な変数名など過去の欠点は存在するが、最近10年間で定期リリースとセキュリティ脆弱性の除去、レガシーAPIの整理など、執拗な改善が続けられてきた
    • 2000年代初頭はセキュリティ脆弱性や「I Hate PHP」運動などの否定的イメージが存在した
    • 最近10年間は定期リリース(毎年11月)セキュリティ改善APIモダン化により、言語としての成熟度と信頼性が強化
  • かつてPHPを見下していたプログラマーも、最近の進化を認めるべき局面にある
  • SQLインジェクションなど、過去を代表するセキュリティ問題はなお注意が必要

コミュニティとエコシステム

  • PHP Foundationなどの公式組織と業界支援が強化され、JetBrainsを除けば大手テック企業の影響から離れ、比較的独立したコミュニティ文化を維持している
  • 言語ランキングは2004年には3位だったが、最近ではやや下落し、各種評価指標で7〜15位圏にある
    • TIOBE、IEEE、PYPLなど言語人気ランキングは低下しているが、RedMonkなど一部のランキングでは堅調に上位に位置し、下降傾向が想定より大きくないことを示している

エンジンの進化: FrankenPHP

  • 数十年間ZendエンジンがPHPの標準エンジンとして機能してきたが、最近FrankenPHPという新しい公式ランタイムの導入により、コンテナ環境サポートが大幅に改善された
  • FrankenPHPは既存のコードベースとの100%互換性を保ちながら、簡易なコンテナ化と新しい実行モデルを提供し、将来志向のPHP発展の中核的役割を担うようになっている

PHPの未来と認識

  • PHPは依然『真剣ではない』言語と見なされることもあるが、数多くのサイトやアプリケーションを支える実質的なインパクトと活発なコミュニティが維持されている
    • なお「偶然の設計の産物」、「論文にはあまり登場しない言語」という悪名が残っている
  • Rasmus Lerdorfが強調したとおり、コミュニティの自発的参加と成長に基づく言語であることが確認できる
  • 統制を手放し、より多くの人の協業で進化した「バザー型」オープンソースの成功事例として記録される

結論

  • PHPは、簡単に無視できない、ウェブエコシステムの「トヨタ・カローラ」のような存在
  • 冗談や批判の対象でありながら、実際には世界のウェブの基盤を形成する堅牢なプログラミング言語である
  • 低コストと低い参入障壁、豊富なエコシステムによって、若い開発者が第一歩を踏み出しやすい環境を提供する
  • 今後もコミュニティと新しい技術トレンドの融合により、継続的な成長可能性を有している

8件のコメント

 
bobqoq 2025-08-06

簡単に言うと、「稼ぎのある言語」です。

 
anonymous1024 2025-08-06

現役のPHPエンジニアとして、なぜこれほどPHPをこのようにけなすのか理解できない。
多くの人は、PHPは安くて構築しやすく、長期的に使えず、セキュリティが弱いと主張している。
しかし、その考え方自体がすべて時代遅れであり、私は自信を持って彼らに「バカ」と言いたい。
現代のPHPは非常にモダンな言語であり、これから長期のプロジェクトを進める場合でも、どこでも使えるモジュールを作り、どのWebでも再利用できる。これは現在のモダンなPHPフレームワークが示していることだ。最新とはいえないが、PHP 8以上ではセキュリティも大きく向上しており、毎年バージョンアップの告知が行われている。代表的な例として、Laravelも毎年バージョンアップを実施している。
PHPがセキュリティ面で弱いと言う彼らに対しては、Javaや他のバックエンド言語でも非常に多くの脆弱性報告が見つかり、深刻なリスクが今も発生していると指摘できる。
例えば、韓国という国では、官公庁でJavaを利用したJSPが使われているにもかかわらず、セキュリティ問題が毎年発生している。

結論:PHPが愚かで弱く、安いものではない。
PHPを誤って使う人たちが愚かで、弱く、安い。

 
nemorize 2025-08-05

レイ?

  1. 安価で誰でも簡単に手に取って使えるし

  2. 小型車サイズなのにかなり広く、いろいろなものを詰め込むにはよいという感覚がある

  3. 外観もそれなりにかなりきれいだが

  4. 燃費が悪く、長期的には思ったほど安くはない

  5. しかし実際に詰め込もうとすると、エンジン出力やさまざまな問題で思うように動かすのは簡単ではない

  6. 外観を楽しみながらキャンピングカーとして使い、あちこちカスタムするのも一時しのぎで、結局はだらだら運転してしまうし

  7. さらに横転の危険性まである車

  8. 安価で誰でも簡単に手に取って使えるし

  9. PHPはWeb、CLI、ワークロードなど複数の用途で使える

  10. 外観もそれなりにきれいに整えることができるが

  11. スパゲッティ化しやすく、PHPバージョンが上がるにつれてどんどん複雑になり、保守コストが思ったより高くなる

  12. 実際に複数用途で使おうとすると、CLIで動かすには重すぎてWeb以外では使いづらい

  13. 整った構造のLaravel、Symfonyも一瞬で、だらっと詰め込んでスパゲッティを作ってしまいたくなる誘惑を抑えるのは本当に難しく、

  14. 何度もセキュリティの脅威を気にする、あるいは気にされる言語

 
egirlasm 2025-08-05

ただモーニングやスパークみたいな存在じゃない? お金はないけど、運転したいって感じだよねw 僕も最初はPHPに手を出したけど、最近はほとんど使ってない。Laravelみたいなのを見ると、小さいプロジェクトでこんなにたくさんのOOPを使うのかなって思ってしまう。雑多にごちゃまぜって感じそのもの。 フレームワークを使わないで、いろんな人が雑に書いたコードは xx.php xx1.php だらだらと並んでるだけだよw

 
t7vonn 2025-08-05

国産車で例えると、どの車になるでしょうか?

 
ephesian 2025-08-05

ポーター?

 
helloppfm 2025-08-05

危険ですが、これより良いものはありません。
私も「ポーター」が適切だと思います。

 
GN⁺ 2025-08-05
Hacker Newsの意見
  • JavaはまるでCorollaのようだ。わざと地味さを追求したような印象で、Mazda3のような競合モデルより洗練がなく、AからBへ行くだけに使うという感じがする。PHPはプログラミング界のHyundai Elantraのようなものだ。かつては参入コストが低かったため誰もが使っていたが、デザイン上の問題や信頼性不足で長い間ネタにされてきた。だがElantraと同様に、かなり進化して今ではそこそこ良くなっている。

    • Corollaの評価は現在の実態とかなり異なる。2023年から、エントリーモデルのCorollaには自動運転支援技術が標準搭載され、Mazdaの最上位トリムのオプションよりも優れている。62マイルで完全停止する自動緊急ブレーキテストを通過したのは、Toyota Corollaだけだった。

    • 比喩自体はすごく上手いが、例としては少し惜しい。Mazda3のほうが「必要最小限のオプション、安価で、うまく動く」という印象に近い。特に2025年時点では、なおさらそう見える。あとCorollaが信頼性の面で悪かった時代を私は覚えていない。親戚の年配の方は、いつも『69年式のCorollaを最初に新車で買えた』と自慢していた。あれが1980年代の日本車ブームへの道を開いたのだ。

    • 最近のJavaはかなり良い。型推論、ファイバー、テキストブロック、レコードなど、多くの機能が改善されている。Java 8だけを想定するならわからないが、もう昔ほど現代Javaの環境を使うのが嫌ではない。

    • 比喩は本当にうまくできている。Pythonはどの車に似ているのか聞いてみたい。後で車を買うときの参考にしよう。

    • JavaはむしろHondaに近い。どこでも見かけるほど広く普及していて、つまらないほど平凡で堅実だ。代替する、廃止するという試みはたくさんあったが、今でもよく生き残っている。

  • PHPが成功した理由は、たった一つ、デプロイが非常に非常に簡単だったからだ。プログラマーはこれを過小評価しがちだが、私がウェブ開発に最初に触れたとき、数分で実サービスに載せられたのは衝撃だった。むしろ自転車みたいな存在だった。安く、免許も要らず、誰でも乗れて、複雑な手続きなしで高速に走れる感覚だった。10年以上使わなかったが、あの新しい体験にとても引き込まれた。

    • インターネット上でPHPの揶揄も多かったが、「誰でも馬鹿ならPHPを使える――実際、多くの馬鹿が使ってきた」という言葉が印象的だった。でも、実際に参入障壁が低いことはむしろ良いことだ。私は、もっと多くの人がプログラミングできればいいと思う。PHPがそれを支援するならなお歓迎だ。

    • 摩擦ゼロの体験そのものが量子的ジャンプになる。何か重要な作業をありえないほど簡単にできるなら、特化ツールでも大衆向けサービスでも、欠点があっても簡単に受け入れてしまう。『ひとつだけよくやれ』という有名な哲学を思い出す。

    • 昔Perl CGIスクリプトで仕事をしていた時代は、FTPでアップロードし、実行権限を設定し、ファイルのパーミッションをいじるなど、いつも障害が多かった。しかしPHPはウェブサーバーに組み込まれているため、そのプロセスがなくなり、別途ウェブ管理者と揉める必要なしでそのまま動くことが多かった。言語の特性より、配備構造のおかげが大きい。

  • PHPは一言で説明しづらい言語だ。90年代後半にmod_perlから乗り換える際の代替として使われ、静的ページに動的データを簡単に追加できた。特に大規模サイトをどう作るか経験がなかったころは、失敗の連続だった。だが言語そのものは本当に悪かった。よく言われるように「下手な職人は道具のせいをする」だが、二つの持ち手に三つのランダムな先が付いたドライバーを想像すればよい。もしかしたらそれも使うだろうが、わざわざそんな道具を愛している人を見ると疑わしくなる。隣に無料で、もっと良いSnap-Onがあるというのに。だからPHPで小さなサーバーサイド機能を入れるのは問題ないが、それで巨大なクモの巣のようなものが積み上がり、「見て、このドライバーでこれもできる!」と言うのだが、そのネジが一部時間とともに崩れることもある。こういう姿はあまり信頼を与えない。少しは改善されたが、それでもかなり変わり種のドライバーだまま。

    • 言い換えれば、PHPは悪いデザインのフラクタルである。
  • 他の言語もいまやPHPに追いついた。初期にHTMLに直接コードを書ける言語は、ほぼサーバーサイドJavaScript、ColdFusion、ASPのように当初は独占的だった。PHPが最初にオープンソース化され、使えるレベルに達したため2001年にウェブアプリ開発の第一候補になった。cgi-binのようなものと比べてもビルド不要で高速で、リソース管理もしっかりしていたので、ホスティング事業者が安価なPHPホスティングを提供でき、WordPressのような世界を変えたOSS製品が生まれた。だがすぐに限界が明らかになった。良いウェブアプリを作るには、入力に応じてページをルーティングするフレームワーク構造が必要だということが分かった。たとえばフォームでエラーが出たら成功画面を表示したり、エラーメッセージを再表示したりする。そのためには規律があればPHPでも可能だが、結局ルータを作る瞬間に、テンプレートシステムでビューを別に作るのが当然になる。Ruby on Rails以降、どの言語もPHPと同じくらい使いやすいフレームワークを持つようになり、ある程度の規律も要求される。

    • PHPがHTML内でコードを直接書ける点が、私の使い始めた理由のすべてだった。2000年代初頭にPHPのincludeを知ったとき、欠けていたパズルの欠片が埋まったように感じた。もはやヘッダ、ナビ、フッタを数十ページごとに手動で同期させる必要はなかった。Railsが登場するまでは、本格的なウェブアプリを作った経験はなかった。Railsの構造と慣例のおかげで、ずっと扱いやすくなり、当時の複雑なPHPコードはほぼスパゲッティだったので、学習者としては真似るのも大変だった。
  • 20年以上PHPを使ってきて、バックエンドでは常に第一候補の言語だった。サーバーエンジニアではないが、PHPは速く、サポートもしっかりしていて、実力があれば十分に堅牢で安全で性能の高いサーバーが作れる。だが言語そのものはあまり好きではない。それでも今後50年は十分主要なバックエンド言語として残ると思う。私の「アクアリウムグラフ」と呼ぶものがあり、このグラフは全てを物語るグラフリンク

    • 私も20年以上PHPを使ってきた。今でも悪くない言語だと思う。最近はTypeScriptをより好むが、時々PHPでスクリプト作業をする。組み込みの機能が良くて、今でも使える。

    • そのグラフのデータはどこから来たのか気になる。Scalaが4.6%でPythonが1.2%というのは、私の見通しと全く違う。業界での体感が違うのかもしれない。

    • 私が見る限り、そのグラフはほぼWordPressの圧倒的なシェア(全サイトの43%)、Joomla(2%)、Drupal(1%)といったすべてPHPベースのCMSが作り出した結果だ。

  • 著者は2009年の悪い設計上の問題はかなり改善されたとよく説明したが、2025年の新規プロジェクトでわざわざPHPを使うべき理由をうまく言っていない。ほかの言語と比べて際立って優れている点がよく伝わってこない。紹介された機能も他言語とほぼ同じレベルの機能にすぎず、より良い点はよく分からない。

    • PHPだけが明確に優位なのは「shared nothing」アーキテクチャだ。たとえばPython環境のfastapiでは、メモリ上にデータを載せるとリクエスト間でそのデータが残る。即効性のある問題解決は速いことがあるが、この構造は後で結果を予測するのも難しく、デバッグも厄介だ。対照的にPHPはリクエストごとに何も残さないため、保持したいデータは必ず外部保存する必要があり、こうしたバグそのものを根本的に防げる。この利点は意外に大きい。

    • PHPの長所は昔も今も似ている。1) 共有ホスティングで特に簡単かつ高速なデプロイ、2) リクエスト間でデータ共有がないことで並行性と並列性の利点がある、3) HTMLと混ぜて使えるため、別途テンプレート言語が不要。3番目は万人にとっての利点ではなく、多くのフレームワークは別のテンプレート言語を好むが、時折本当に便利なケースもある。

    • 比較対象はPython、Ruby、JavaScriptだろうが、shared nothing構造以外にも、オープンソースエコシステムとコミュニティ成熟度が高く、パッケージ管理が統一され、性能も大抵は良い(JavaScriptほど速くないかもしれない)。競合言語がそれぞれいずれかの項目で優れていても、上記すべてを満たすのはPHPだと思う。

    • 既に用意されているコードが多いので、vibe codingの基盤としては良いかもしれない。

    • 著者はPHPが2009年にどれだけ開発されていたかをきちんと説明していないと思う。主張の多くが「昔のやり方は捨てて、今のやり方がある」といったものなので、結果として昔のやり方を踏めば、たぶん穴だらけに陥る。良いデフォルトが重要だが、その点を見落としている。

  • 記事はPHPハッターへの言及に神経を使いすぎて、逆に2025年にPHPを選ぶべき理由をちゃんと説明しないため説得力が弱い。私はPHPをほとんど使ったことはないが、実際にこの言語を使う価値がある理由、もっと魅力的な根拠が欲しかった。提示された理由は私にはほとんど響かなかった。

    • PHPの開発者は見つけやすく、賃金も安いので、その理由だけで多くの企業では選択肢が決まってしまう。
  • 私とPHPの最初の出会いはかなり面白いが、今のキャリアの方向性もここで決まったのだと思う。大学の最終学期に、必修科目をいくつも同時に取らなければならず、非常に大変だった。その一つがウェブ開発の授業で、eコマースサイト作成が課題だった。いろいろな方法を学び、PHPが特にデプロイが簡単だった点が大きな利点として受け入れられた。しかし最後はみんなにvanilla JSで作れと言われ、私はJSでちゃんとデプロイできなかった。ほかの同級生も同じだった。評価基準を見ると、コード評価は20%しかなく、残りはサイトのデザインや締切内のデプロイ成功などだった。PHPで作業すれば必ず動くという確信があったので、コード評価を諦めてデプロイ成功に集中し、B-を取れた。ほとんどの学生は課題をまったくデプロイできず落第した。現代PHPに興味はあるが、どこから始めればいいのか、どんなエコシステムがあるのか分からない。いまでもPHPは見た目が悪く、セキュリティも弱い言語だと見られている。

    • 実務ではLaravelやSymfonyの方が多く使われる。
  • ほかの分野に移る前までは、PHPのおかげでかなりのお金を稼げた。20年のキャリアで、仕事がなくなることは一度もなかった。周囲で他言語を使う知人は、持続的に働くのがより困難な場合が多かった。

  • 全く同意できない。PHPはまるでFord Escortのような言語だ(定期的に手を加えなければならず、セキュリティは弱いが運転は簡単でシンプル)。Corollaは本当に本当に信頼でき、一貫性があり、はるかに安全である。(いろいろな車と言語を扱ってきた立場から見ても、PHPはただ単に劣る選択だ。)