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 a także 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 es_ESSpanish nl_NLDutch etEstonian elGreek pl_PLPolish