window.pipedriveLeadboosterConfig={です。 ベース:'leadbooster-chat.pipedrive.com'、 companyId:11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2、 } ;(function () { var w = window もし (w.LeadBooster) {なら console.warn('LeadBooster already exists') } else { w.LeadBooster = { {. q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: 関数 (n) { { this.q.push({ t: 'o', n: n, h: h }) this.q.push({ t: 't', n: n }) }, } } })() PHP - The Codestを使うべきでない2つの理由
The Codest
  • 会社概要
  • サービス
    • ソフトウェア開発
      • フロントエンド開発
      • バックエンド開発
    • Staff Augmentation
      • フロントエンド開発者
      • バックエンド開発者
      • データエンジニア
      • クラウドエンジニア
      • QAエンジニア
      • その他
    • アドバイザリー
      • 監査&コンサルティング
  • 産業
    • フィンテック&バンキング
    • E-commerce
    • アドテック
    • ヘルステック
    • 製造業
    • 物流
    • 自動車
    • アイオーティー
  • 価値
    • CEO
    • CTO
    • デリバリー・マネージャー
  • チーム
  • Case Studies
  • ノウハウ
    • ブログ
    • ミートアップ
    • ウェビナー
    • リソース
採用情報 連絡先
  • 会社概要
  • サービス
    • ソフトウェア開発
      • フロントエンド開発
      • バックエンド開発
    • Staff Augmentation
      • フロントエンド開発者
      • バックエンド開発者
      • データエンジニア
      • クラウドエンジニア
      • QAエンジニア
      • その他
    • アドバイザリー
      • 監査&コンサルティング
  • 価値
    • CEO
    • CTO
    • デリバリー・マネージャー
  • チーム
  • Case Studies
  • ノウハウ
    • ブログ
    • ミートアップ
    • ウェビナー
    • リソース
採用情報 連絡先
戻る矢印 戻る
2022-06-28
ソフトウェア開発

PHPを使うべきでない2つの理由

The Codest

セバスチャン・ルザック

PHP ユニットリーダー

PHPの開発者として、私はPHP4の時代、PHP5での最初の(オプションの!)GC実装、そしてPHP7の出現とその影響の誇大宣伝の日々をまだ覚えています。

何年もの間、多くの人たちから「なぜわざわざこんなことをするのか」と聞かれた。 プログラミング PHPそして何年もの間、次のような言語で商用ソフトを書くのをやめ、始めるべきだという2つの主張をマントラのように繰り返し聞いてきた。 ジャワ またはC#。
​
今日は、これらの議論を引用し、あなたの態度を変えようと思う。 PHP 少なくとも少しは。そう、この記事のタイトルは無茶苦茶なクリックベイトなのだ。

​
イメージ
​

#1 PHPが瀕死状態

​
PHP は年々衰退している。かつて最も人気のあったウェブ言語は、今や月ごとに人気を失いつつある。 JavaScript.

​
数字に目を通すと、現実は厳しい!この1年間で PHP ウェブのバックエンド言語としてのシェアは、なんと1.6%を失った。

​
もし PHP この減少傾向は18年も続いている。 PHP はバックエンドのウェブ技術の50%を下回るだろう!

​
ウェブサイト用サーバーサイドプログラミング言語の使用統計の歴史的傾向

​
しかし、冗談はさておき、この数字は事実である。 W3CTechsの報告による.

最初に言及されたのは PHP は2013年以来、ウェブ上で見ることができる。当時のソフトウェアガンスリンガー 記事掲載 (PHPは長寿命プロセスをサポートしておらず、非同期性に欠けるため、このままでは死んでしまうだろう。

​
それが事実だ、 PHP はそのために作られたわけではない!

​

ハンマーさえあれば、すべてが釘に見える

​
しかし、数字に話を戻そう。 PHP Packagist のパッケージで使用されているバージョン。最新のデータはソースサイト packagist.org

PHPマイナーバージョングラフによるパッケージのインストール

​
これが瀕死のプログラミング言語の新バージョンの普及曲線なのだろうか?

​
それでも不十分なら、「PHPの死亡率」を他の言語と比較してみよう。
​

分析に使用したデータはギットハット2.0の数のグラフを作成する。 ギットプッシュ 折れ線グラフの言語比率分布は、2012/Q2以降の上位10言語(または手動で選択した言語)を示しています。

プログラミング言語比率分布グラフ

​
ご覧の通り PHP RubyやC/C++といった他の一般的な言語と同様に、 Python は近年、Githubでの人気が著しく低下しているが、上昇傾向にあり、長い横ばい期間を経て、再び上位に返り咲くと予想される。 (これは投資アドバイスではありません)

​
最初の 誇大宣伝 Javascript言語については、同じグラフで見ることができる。結論とその分析は、読者の皆さんにお任せする。

​
イメージ

​
でも、死にかけの言語がプログラマーの仕事を増やすことはないでしょう?
​

イメージ

​
この記事を書いている時点で、私は171の求人情報の中から選ぶことができる。 ポーランドそのうち50本がジュニア用だ。 PHP 死にそうなんだろ?
​

PHP meme - phpは死につつある

そして、お金といえば...ご存じだろうか。 PHP そしてその源 コード は、2021年11月以降も維持されている。 独立オープンソース コミュニティPHP財団 どの かなりの金額を支払う への貢献に対して、オープンソースの開発者に php-src?

大企業が所有することが多い他の言語やフレームワークとは異なり、中核となる開発 チーム は、JetBrainsやSymfony Corpのような民間企業からの寄付によって運営されている財団の口座から直接支払われる。個人開発者からの少額寄付.

オープンソースの栄光

​

#2 PHPは恐ろしい

​

そう、この議論はいつも、強く型付けされた比較可能な言語に慣れ親しんだ開発者の口から出てくる。
​
この期間中に収集されたデータのグラフを見てみよう。スタックオーバーフロー調査 2021年の時点で、PHPを「ひどい」と答えた回答者は、全体の60%に相当する10,834人に上ることがわかる。

​
イメージ
​
オールドスクールとして PHPプログラマなぜそうなるのか、私には理解できる。私はすぐに、次のような記憶問題の典型的な例を思い出す。 PHP:

<?php

クラス FOO
  public $f;
}

クラス BAR {
  public $f;
}

while(1) { $a = new FOO(); } $f = new FOO()
  $a = new FOO();
  $b = new BAR();
  $a->f = $b;
  $b->f = $a;
  print "メモリ使用量:" . number_format(memory_get_usage(true)) ." bytesn";
  unset($a);
  unset($b);
}

そう、上記のコードはメモリーエラーを引き起こすのだ。それだけではない。メソッドの馬鹿馬鹿しいネーミングや、パラメーターの順番にロジックが全くないところから(そう、私たちは皆、メソッドが大好きなのだ。 str_ そして array_)からPHPの最も有名なバグである t_paamayim_nekudotayim - PHPは、古いバージョンの癖や悪癖に満ちている。だからといって PHP 数年前のことは今でも真実である。この言語は大きな変容を遂げ、今日、私は自分のオブジェクト定義を見て満足している:

読み出し専用クラス NotificationEvent
{
    public function __construct(
        public string $context、
        public User $user、
        public string $body、
        public DateTime $issuedAt、
    ){}
}

しかも PHPエコシステム そして現在では、優れた、高度に型付けされ、十分にテストされたコードを作成する素晴らしい機会がある。私たちは シンフォニー ​DDDアプリケーションの開発 メッセージバスを使うことで、PHPのシンクロニシティの問題を回避できる。

そして、私自身は PHP は長寿命のバックエンドプロセスを作るのに適しているが、状態の同期に関してはパフォーマンスに大きな問題がある。PHPコンソールゲームを制作 PHPはまだ型にはまらない使い方ができるという例として、私自身の手でSymfony + Dockerを使っています。

​
もうひとつ PHPの利点 は新しい開発者にとって参入障壁が低いことです。2つの人気のあるフレームワークSymfonyとララベル そして PHP バックエンドの世界に入るには、彼らの助けを借りれば十分だ。PHPでは完璧ではありませんが、多くのことができる世界です。Laravel Novaのような追加ライブラリを使用すると、2つのコマンドだけでシステムのほとんど全てのコンポーネントを作成することができます。

残照

​
そうなのか? PHP 死ぬのか?

いや、しかし、イメージに問題があり、それを改善するために多くの作業が必要だ。私たちプログラマーは、新しい世代に教え、記事やライブラリ、Tipsの形でベストプラクティスを伝えることで、この仕事をしなければならない。

この言語が、この国の マーケット この20年間で、すでに1回以上生き残っている。 誇大宣伝 (Objective-Cを覚えている?)私は、それが対処し、ニッチを見つけると思う。
​
そして、もしかしたら私の予想が当たり、2年後にPHP 10.xが再びブームになるかもしれない。

協力バナー

関連記事

ソフトウェア開発

PHP 8.2:新機能は?

PHPの新バージョンは目前。あなたが知っておくべき新しい実装とは何でしょうか?この記事で確認してほしい!

The Codest
セバスチャン・ルザック PHP ユニットリーダー
ソフトウェア開発

GraphQL: プロダクションでの教訓

2020年である。あなたのチームは、シングルページのアプリケーションを構築するか、少なくとも通常のマルチページのアプリケーションの中にリッチなコンポーネントを含める方向にますます傾いている。[GraphQL](https://graphql.org/)は現在[2年以上前](https://en.wikipedia.org/wiki/GraphQL)ですが、これは...

パヴェル・ヴァル

ナレッジベースを購読して、IT部門の専門知識を常に最新の状態に保ちましょう。

    会社概要

    The Codest - ポーランドに技術拠点を持つ国際的なソフトウェア開発会社。

    イギリス - 本社

    • オフィス 303B, 182-184 High Street North E6 2JA
      イギリス、ロンドン

    ポーランド - ローカル・テック・ハブ

    • ファブリチュナ・オフィスパーク、アレハ
      ポコジュ18、31-564クラクフ
    • ブレイン・エンバシー, コンストルクトースカ
      11, 02-673 Warsaw, Poland

      The Codest

    • ホーム
    • 会社概要
    • サービス
    • Case Studies
    • ノウハウ
    • 採用情報
    • 辞書

      サービス

    • アドバイザリー
    • ソフトウェア開発
    • バックエンド開発
    • フロントエンド開発
    • Staff Augmentation
    • バックエンド開発者
    • クラウドエンジニア
    • データエンジニア
    • その他
    • QAエンジニア

      リソース

    • 外部ソフトウェア開発パートナーとの協力に関する事実と神話
    • 米国から欧州へ:アメリカの新興企業がヨーロッパへの移転を決断する理由
    • テックオフショア開発ハブの比較:テックオフショア ヨーロッパ(ポーランド)、ASEAN(フィリピン)、ユーラシア(トルコ)
    • CTOとCIOの課題は?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • ウェブサイト利用規約

    著作権 © 2025 by The Codest。無断複写・転載を禁じます。

    jaJapanese
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian ko_KRKorean es_ESSpanish nl_NLDutch etEstonian elGreek jaJapanese