window.pipedriveLeadboosterConfig = { base: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(function () { var w = window if (w.LeadBooster) { console.warn('LeadBooster już istnieje') } else { w.LeadBooster = { q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: function (n) { this.q.push({ t: 't', n: n }) }, } } })() Dwa powody, dla których nie powinieneś używać PHP - The Codest
The Codest
  • O nas
  • Nasze Usługi
    • Software Development
      • Frontend Development
      • Backend Development
    • Zespoły IT
      • Programiści frontendowi
      • Backend Dev
      • Inżynierowie danych
      • Inżynierowie rozwiązań chmurowych
      • Inżynierowie QA
      • Inne
    • Konsultacje IT
      • Audyt i doradztwo
  • Branże
    • Fintech i bankowość
    • E-commerce
    • Adtech
    • Healthtech
    • Produkcja
    • Logistyka
    • Motoryzacja
    • IOT
  • Wartość dla
    • CEO
    • CTO
    • Delivery Managera
  • Nasz zespół
  • Case Studies
  • Nasze Know How
    • Blog
    • Meetups
    • Webinary
    • Raporty
Kariera Skontaktuj się z nami
  • O nas
  • Nasze Usługi
    • Software Development
      • Frontend Development
      • Backend Development
    • Zespoły IT
      • Programiści frontendowi
      • Backend Dev
      • Inżynierowie danych
      • Inżynierowie rozwiązań chmurowych
      • Inżynierowie QA
      • Inne
    • Konsultacje IT
      • Audyt i doradztwo
  • Wartość dla
    • CEO
    • CTO
    • Delivery Managera
  • Nasz zespół
  • Case Studies
  • Nasze Know How
    • Blog
    • Meetups
    • Webinary
    • Raporty
Kariera Skontaktuj się z nami
Strzałka w tył WSTECZ
2022-06-28
Software Development

Dwa powody, dla których nie powinieneś używać PHP

The Codest

Sebastian Łuczak

Lider jednostki PHP

Jako programista PHP wciąż pamiętam czasy PHP4, pierwszą (opcjonalną!) implementację GC w PHP5 i przeżyłem _hype_ związany z pojawieniem się PHP7 i jego konsekwencjami.

Przez lata wiele osób pytało mnie, dlaczego zawracam sobie tym głowę programowanie w PHPi przez wiele lat słyszałem jak mantrę dwa powtarzające się argumenty, dlaczego powinienem przestać i zacząć pisać komercyjne oprogramowanie w językach takich jak Java lub C#.
​
Dzisiaj przytoczę te argumenty i spróbuję zmienić twoje nastawienie do PHP przynajmniej trochę. Tak, tytuł tego artykułu to absurdalny clickbait.

​
obraz
​

#1 PHP umiera

​
PHP umiera z roku na rok. Niegdyś najpopularniejszy język internetowy z miesiąca na miesiąc traci na popularności, głównie na rzecz JavaScript.

​
Gdy spojrzy się na liczby, prawda jest otrzeźwiająca! W ciągu ostatniego roku, PHP stracił oszałamiające 1,6% swojego udziału jako język zaplecza sieci.

​
Jeśli PHP kontynuuje ten trend spadkowy, w ciągu 18 lat PHP spadnie poniżej 50% backendowej technologii webowej!

​
Historyczne trendy w statystykach użytkowania języków programowania po stronie serwera dla stron internetowych

​
Ale dobra, żarty na bok - chociaż liczby są prawdziwe jak donosi W3CTechs.

Pierwsza wzmianka, że PHP umiera można znaleźć w sieci od 2013 roku. Wtedy Software Gunslinger opublikował artykuł (którą przy okazji gorąco polecam!), mówiąc, że PHP umrze, ponieważ nie obsługuje długotrwałych procesów i ponieważ brakuje mu asynchroniczności.

​
I to jest fakt, PHP nie został do tego stworzony!

​

jeśli masz tylko młotek, wszystko wygląda jak gwóźdź

​
Wracając jednak do liczb - spójrzmy na zeszłoroczne dane dotyczące PHP wersje używane w pakietach Packagist. Najnowsze dane są dostępne na stronie źródłowej packagist.org

Instalacje pakietów według wykresu wersji podrzędnej PHP

​
Czy jest to krzywa adopcji nowych wersji umierającego języka programowania?

​
Jeśli to nie wystarczy, sprawdźmy nasz "współczynnik zgonów PHP" w porównaniu z innymi językami.
​

Dane do analizy pochodzą zGitHut 2.0, który generuje wykres liczby git push na język na Githubie od 2012 roku, zgodnie ze schematem - "Procentowy rozkład języków na wykresie liniowym pokazuje 10 najlepszych (lub ręcznie wybranych) języków od 2012/Q2".

wykres procentowego rozkładu języka programowania

​
Jak widać PHP jak również inne popularne języki, takie jak Ruby, C/C++, Python doświadczyły znacznego spadku popularności na Githubie w ostatnich latach, jednak istnieje tendencja wzrostowa i spodziewamy się, że po dłuższym okresie bocznym powrócą na wysokie pozycje. (nie jest to porada inwestycyjna)

​
Początkowy szum dla języka Javascript można zobaczyć na tym samym wykresie. Wnioski i jego analizę pozostawiam już Tobie, drogi czytelniku.

​
obraz

​
Ale z drugiej strony - umierający język nie powinien zwiększać liczby ofert pracy dla programistów, prawda?
​

obraz

​
W chwili pisania tego artykułu mogę wybierać spośród 171 ofert pracy na jednym z wiodących portali pracy w Polsce. Polskaw tym aż 50 dla juniorów. PHP umiera, prawda?
​

PHP meme - php umiera

A skoro mowa o pieniądzach... czy wiesz, że PHP i jego źródło kod jest utrzymywana od listopada 2021 r. przez niezależny Open Source społecznośćFundacja PHP który płaci znaczne pieniądze deweloperom OpenSource za wkład w php-src?

W przeciwieństwie do innych języków i frameworków, które często są własnością dużych firm, rdzeń rozwoju zespół jest wypłacana bezpośrednio z konta fundacji, które jest prowadzone przez wpłaty od prywatnych firm, takich jak JetBrains i Symfony Corp, ale także przezniewielki wkład poszczególnych deweloperów.

Open Source w całej okazałości!

​

#2 PHP jest straszny

​

Tak, ten argument zawsze pada z ust programistów, którzy zapoznali się z silnie typowanymi, porównywalnymi językami.
​
Patrząc na wykres danych zebranych podczasAnkieta StackOverflow z 2021 r. widać, że aż 10 834 respondentów, co stanowi prawie 60% ogółu, uznało PHP za "straszny".

​
obraz
​
Jako stara szkoła Programator PHPRozumiem, dlaczego tak jest. Od razu przypomina mi się klasyczny przykład problemów z pamięcią w PHP:

<?php

class FOO {
  public $f;
}

class BAR {
  public $f;
}

while(1) {
  $a = new FOO();
  $b = new BAR();
  $a->f = $b;
  $b->f = $a;
  print "Wykorzystanie pamięci: " . number_format(memory_get_usage(true)) . " bytesn";
  unset($a);
  unset($b);
}

Dla niewtajemniczonych - tak, powyższy kod powoduje błąd pamięci. A to nie wszystko. Od idiotycznego nazewnictwa metod i kompletnego braku logiki w kolejności ich parametrów (tak, wszyscy kochamy str_ i array_) do najsłynniejszego błędu PHP T_PAAMAYIM_NEKUDOTAYIM - PHP jest pełen dziwactw i wad starych wersji. Nie oznacza to jednak, że to, o czym słyszeliśmy PHP sprzed kilku lat jest nadal aktualna. Język przeszedł ogromną metamorfozę i dziś z przyjemnością przyglądam się moim definicjom obiektów:

readonly class NotificationEvent
{
    public function __construct(
        public string $context,
        public User $user,
        public string $body,
        public DateTime $issuedAt,
    ) {}
}

Co więcej Ekosystem PHP ogromnie się rozwinęła i mamy teraz niesamowite możliwości tworzenia dobrego, wysoce typowego i dobrze przetestowanego kodu. Możemy używać Symfony ​do tworzenia aplikacji DDD bez większych problemów, a problem synchronizacji PHP możemy obejść używając Message Bus.

I choć sam nie uważam PHP nadaje się do tworzenia długotrwałych procesów backendowych i ma ogromne problemy z wydajnością, jeśli chodzi o synchronizację stanów, mam równieżstworzył grę konsolową PHP używając Symfony + Docker własnymi rękami jako przykład, że PHP wciąż może mieć niekonwencjonalne zastosowania.

​
Inny Zalety PHP jest niska bariera wejścia dla nowych deweloperów. Dokumentacje dwóch popularnych frameworków Symfony iLaravel i PHP Sama dokumentacja wystarczy, by z ich pomocą wejść do backendowego świata. Świat, który w PHP nie jest idealny, ale pozwala na wiele. Korzystając z dodatkowych bibliotek takich jak Laravel Nova jesteśmy w stanie stworzyć niemal każdy komponent naszego systemu za pomocą zaledwie dwóch komend.

Afterglow

​
Czy PHP umierający?

Nie, ale ma problem z wizerunkiem i wymaga wiele pracy, aby go poprawić. My, programiści, musimy wykonać tę pracę, ucząc nowe pokolenie i przekazując najlepsze praktyki w formie artykułów, bibliotek i wskazówek.

Jako język, który był na rynek przez dwadzieścia lat, który przetrwał już więcej niż jeden szum (pamiętacie Objective-C?) Myślę, że sobie poradzi i znajdzie swoją niszę.
​
A kto wie, może moje przewidywania okażą się słuszne i PHP 10.x znów przeżyje boom za dwa lata?

baner współpracy

Powiązane artykuły

Software Development

PHP 8.2: Co nowego?

Nowa wersja PHP jest tuż za rogiem. Jakie są nowe implementacje, o których powinieneś wiedzieć? Sprawdź ten artykuł, aby się dowiedzieć!

The Codest
Sebastian Łuczak Lider jednostki PHP
Software Development

GraphQL: wnioski wyciągnięte z produkcji

Jest rok 2020. Twój zespół coraz bardziej skłania się ku budowaniu aplikacji jednostronicowych lub przynajmniej włączaniu bogatych komponentów do zwykłych aplikacji wielostronicowych. [GraphQL](https://graphql.org/) ma już [ponad dwa lata](https://en.wikipedia.org/wiki/GraphQL), co...

Paweł Wal

Subskrybuj naszą bazę wiedzy i bądź na bieżąco!

    O nas

    The Codest - Międzynarodowa firma programistyczna z centrami technologicznymi w Polsce.

    Wielka Brytania - siedziba główna

    • Office 303B, 182-184 High Street North E6 2JA
      Londyn, Anglia

    Polska - lokalne centra technologiczne

    • Fabryczna Office Park, Aleja
      Pokoju 18, 31-564 Kraków
    • Brain Embassy, Konstruktorska
      11, 02-673 Warszawa, Polska

      The Codest

    • Strona główna
    • O nas
    • Nasze Usługi
    • Case Studies
    • Nasze Know How
    • Kariera
    • Słownik

      Nasze Usługi

    • Konsultacje IT
    • Software Development
    • Backend Development
    • Frontend Development
    • Zespoły IT
    • Backend Dev
    • Inżynierowie rozwiązań chmurowych
    • Inżynierowie danych
    • Inne
    • Inżynierowie QA

      Raporty

    • Fakty i mity na temat współpracy z zewnętrznym partnerem programistycznym
    • Z USA do Europy: Dlaczego amerykańskie startupy decydują się na relokację do Europy?
    • Porównanie centrów rozwoju Tech Offshore: Tech Offshore Europa (Polska), ASEAN (Filipiny), Eurazja (Turcja)
    • Jakie są największe wyzwania CTO i CIO?
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • Warunki korzystania z witryny

    Copyright © 2025 by The Codest. Wszelkie prawa zastrzeżone.

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