Zamiast podawać gotową odpowiedź na temat tego czy warto się uczyć PHP w 2022 roku, przedstawię wam kilka faktów o samym PHP, technologiach webowych i realiach rynku. Dzięki temu każdy sam sobie odpowie na to pytanie bo jak zwykle… to zależy…

Skąd pomysł na taki wpis? Często można usłyszeć lub przeczytać, że ta technologia jest przestarzała lub że wręcz wymiera (na rzecz bardziej modnego node.js, .NET, Python) a kiedy szukamy rankingów najczęściej stosowanych języków w technologiach webowych to jest to PHP. To samo jest z CMSami – najpopularniejszym systemem zarządzania treścią w internecie jest WordPress, który jest napisany w PHP 🙂

To jak to w końcu jest z tym PHP? Czy istnieją dobre powody do nauki i stawania się ekspertem w PHP wykraczające poza osobiste preferencje?

Co to jest PHP?

PHP (akronim rekurencyjny: PHP Hypertex Preprocessor) to imperatywny, obiektowy, funkcyjny, proceduralny, refleksyjny, interpretowany i skryptowy język programowania, którego naturalnym i oryginalnym przeznaczeniem są serwery WWW, aplikacje webowe i strony internetowe.

Język PHP wykorzystuje się najczęściej do generowania kodu stron internetowych w czasie rzeczywistym i jej integracji z bazą danych. W przeciwieństwie do poleceń napisanych w JavaScript, skrypty PHP nie działają w przeglądarce, są natomiast wykonywane po stronie serwera WWW. Dzięki PHP można pobierać informacje od klientów serwera WWW a także manipulować nimi.

W ramach ciekawostki warto wspomnieć, że język PHP został stworzony przez Rasmusa Lerdorfa i początkowo służył jedynie… do zliczania odwiedzin Internautów na pojedynczych stronach internetowych. Z czasem był wykorzystywany do tworzenia prywatnych stron internetowych wśród społeczności programistów, którym nie wystarczały standardowe narzędzia takie jak: HTML, CSS i JavaScript. Ten stopniowo rozszerzany wynalazek szybko zyskał popularność, głównie ze względu na większe możliwości jakie oferował w zakresie generowania stron, w stosunku do szeroko wówczas używanego języka C.

OK, na pierwszy ogień, weźmy popularne strony i aplikacje napisane w całości lub korzystające z PHP

Do czego można dziś wykorzystywać PHP?

Praktycznie wszystko co jest związane z serwerem sieciowym. Możesz zrobić bloga, oprogramowanie typu Software as a Service, skrypty przetwarzające dane i co tylko przyjdzie ci do głowy. Z ciekawszych projektów jakie wykonałem osobiście w PHP to między innymi:

  • serwis społecznościowy dla modelek i fotografów: QQMODELS.PL
  • aplikację do streamingu muzyki: MSC
  • skrypt uczenia maszynowego do generowania drzew decyzyjnych na podstawie algorytmu ID3
  • wszelkie strony internetowe i aplikacje, które możecie znaleźć w moim portfolio

PHP to nie tylko skrypty po stronie serwera. Można wykonywać w nim aplikacje konsolowe a nawet desktopowe! Ale to już dla prawdziwych „wyjadaczy”.

Czytaj więcej: http://php.net/manual/en/intro-whatcando.php

Znane strony internetowe, portale i aplikacje napisane w PHP

  • Facebook
  • Wikipedia
  • Flickr
  • Yahoo!
  • iStockPhoto
  • Tumblr
  • WordPress.com
  • Mailchimp
  • P…hub 😉

Czy trzeba wymieniać więcej? Nie ma to za bardzo sensu. Jak widać ogromne portale które stanowią rdzeń internetu są napisane w języku PHP. Czy ta technologia przyczyniła się do ich sukcesu? Nie mam pojęcia, ale gdyby PHP był tak zły jak można często przeczytać na śmiesznych blogach (autorstwa świeżo upieczonych Junior Deweloperów lub hobbystów) to dawno przepisali by je na inne „lepsze” technologie.

Kiedy koledzy z klasy Marka Zuckerberga po raz pierwszy zalogowali się na Facebooku w lutym 2004 roku, serwery witryny działały w stu procentach na PHP. Facebook opracował z czasem własny język na bazie PHP o nazwie Hack, który jest w dużej mierze zgodny z istniejącym kodem PHP. Wzbogacono go o kilka przydatnych funkcji pochodzących z funkcjonalnych języków programowania i badań Facebooka.

Popularność języka PHP w technologiach internetowych

PHP cały czas „rządzi” w Internecie, co więcej nieustannie przechodzi na wyższe poziomy, a jego wydajność naprawdę rośnie wykorzystując nowoczesne standardy i technologie. Część programistów zwykła nazywać PHP „najgorszym językiem”, z powodu jego rzekomo małej wydajności brak różnego rodzaju API i możliwości. Problem w tym że te osoby porównują PHP z przed lat do nowoczesnych technologii. Dziś mamy PHP w wersji 7.3.0 wydany niedawno bo 6 grudnia 2018. Ma dobrą wydajność i stale poszerzający się katalog nowych bibliotek.

Zgodnie z wieloma ankietami dotyczącymi technologii internetowej udział PHP jako języka po stronie serwera (back-end) wynosi ok. 80%:

Popularność PHP w 2022 roku, źródło: W3Techs

Skoro WordPress z dumą chwali się, że obsługuje ponad 30% Internetu a jego najwięksi konkurenci: Joomla, Drupal, Magento, PrestaShop, MediaWiki to też CMSy napisane w PHP – nie ma praktycznie o czym gadać.

Wniosek jest prosty: miażdżąca większość aplikacji internetowych używa PHP po stronie back-endu. To kolejny argument przemawiający zatem, że tak – warto uczyć się PHP o ile naszym celem jest programowanie dla potrzeb Internetu.

Cechy szczególne języka PHP

Web development – język ten szczególnie nadaje się do programowania aplikacji webowych. Jest zoptymalizowany pod przypadki użycia Internetu i  cały czas rozwijany w tym kierunku. Takie funkcjonalności jak:

To zaledwie jedna linijka kodu bez ładowania dodatkowych bibliotek.

Wysokopoziomowy, luźno i dynamicznie typowany – oznacza to, że zmienna może zmieniać typy i nie trzeba sztywno ich określać, kiedy definiujesz zmienną, (np. czy jest to liczba, ciąg, tablica itp.). Jest to ogólnie preferowane do programowania w aplikacjach internetowych ale nie jest to powszechne.

Spora społeczność – nie można nie znaleźć w Internecie gotowej odpowiedzi na temat konkretnego problemu z jakim przyjdzie się nam zmierzyć pisząc programy w PHP.

Zalety PHP pod kątem nauki

  • łatwa składnia
  • wielka popularność umożliwia znaleźć rozwiązanie problemu w Internecie i w wielu portalach zrzeszających programistów
  • możliwość wykorzystywania wielu frameworków
  • PHP to projekt open-source’owy,
  • możesz łatwo i tanio opublikować swoje oprogramowanie
  • pełne wsparcie obiektowości (Object Oriented Programming) i nowoczesnych technik programowania, sprawdź mój kurs programowania obiektowego PHP,
  • popularność na rynku da ci swobodny wybór ścieżki kariery i przewagę na rynku zarówno jako programista etatowy w korporacjach a także jako Freelancer.

Zalety PHP pod kątem wykorzystywania w start-upie.

  • skrypty PHP obsługują najtańsze serwery nawet te oferowane za parę złotych czy za free,
  • wiele firm tworzy aplikacje wykorzystując PHP dlatego tworząc aplikację biznesową zawsze znajdziesz wsparcie i usługi w konkurencyjnych cenach,
  • przyjazne pakiety LAMP, WAMP do instalacji serwera WWW,
  • ciągły rozwój projektu.

Najczęściej wykorzystywane frameworki PHP

Dla PHP napisano wiele Frameworków, czyli gotowych szkieletów służących do budowania dużych aplikacji i rozwijania projektów w zespołach programistycznych. Frameworki mają upraszczać proces tworzenia. Każdy z nich ma swoje słabe i mocne strony, ponieważ (jak każdy Framework) mają one strukturę zamkniętą i narzucają przepływ sterowania.

Przed nauką konkretnego Frameworka dowiedz się jakie będą najodpowiedniejsze do twoich przypadków użycia.

Najpopularniejsze z nich to:

  • Laravel
  • CodeIgniter
  • Symfony
  • CakePHP
  • Yii
  • Zend Framework
  • Phalcon

Rozwój PHP

PHP rozwija się w interesujący sposób. Rośnie w kierunku bycia w pełni funkcjonalnym językiem podobnym do języka Java. W dalszym ciągu rozwijają się coraz to nowe narzędzia wspierające PHP.

Duże firmy takie jak Amazon, Google, Facebook, udostępniają dla swoich usług API i SDK przeznaczone do wykorzystywania w aplikacjach PHP.

Wydajność nowej wersji PHP 7 i 8

Dlaczego warto uczyć się PHP w wersji 7 oraz 8 i wykorzystywać tę wersję na produkcji?

Po ponad dekadzie bez większych ulepszeń języka, PHP 7 zadebiutował w grudniu 2015 roku. Aktualizacja ta przynosi wiele znaczących zmian. Warto wykorzystywać nową wersję PHP nawet wtedy kiedy używasz WordPressa. PHP 7 deprecjonuje wiele przestarzałych funkcji na rzecz nowych i zmodernizowanych. Te dodatkowe funkcje obejmują między innymi: anonimowe klasy, błędy generowane i deklaracje typów.

Ogólnie rzecz biorąc, PHP 7 jest szybsze, bezpieczniejsze i znacznie bardziej wydajne niż starsze wersje. Aby dać przykład, strona z PHP 7 może obsłużyć dwa razy więcej odwiedzających niż PHP 5, używając tej samej ilości pamięci i identycznej konfiguracji serwera. Nowa wersja PHP 7 jest około kilkakrotnie szybsza od PHP 5 (HHVM to wcześniej wspomniana platforma rozwijana w Facebooku):

Wydajność PHP 7 w stosunku do wersji PHP 5 - wykres
Wydajność PHP 7 vs PHP 5.5 vs HHVM

źródło: https://wpengine.com/resources/upgrading-to-php-7/

O tym skąd się bierze ta wydajność i co oznacza Dead Code Elimination można się dowiedzieć od samego twórcy języka PHP Rasmusa Lerdorfa:

Rasmus Lerdorf – 25 lat PHP

Czytaj więcej o zaletach wykorzystywania PHP i zaletach aktualizacji wersji PHP na produkcji.

PHP 8 wprowadza wykonywanie JIT (ang. Just-In-Time). Do tej pory PHP działał tak, że przy kompilacji interpretuje wszystkie instrukcje które mogą się wykonać. W wersji ósmej tego języka interpretowany jest tylko ten kod, który uczestniczy w bieżącym wykonaniu (dla zadanych argumentów i sytuacji).

PHP kontra reszta świata

Jak to zwykle bywa przy takich tematach, nie da się uniknąć porównywania. Porównywanie PHP do języków ogólnego przeznaczenia nie ma najmniejszego sensu, ponieważ nie można spodziewać się od PHP wydajności Javy tak samo jak od Javy nie wymagamy aby wysyłała e-maila jedną linijką kodu. Tak czy inaczej postanowiłem zestawić kilka języków obok PHP i napisać parę uwag.

PHP czy Java

PHP czy Java w 2022 roku

PHP jest dużo łatwiejszym językiem do nauki (stwierdzam to jedynie jako programista PHP, mający epizodyczne doświadczenia z Android Studio i nagle zmuszony na studiach magisterskich do posługiwania się Javą aby napisać prostą aplikację zgodną z podejściem Agent Oriented Programming).

Porównując ceny u dostawców hostingu można dojść do wniosku, że uruchomienie aplikacji webowej napisanej w Javie wiąże się z większymi kosztami.

PHP czy JavaScript (node.js)

PHP czy JavaScript (node.js) w 2022 roku

Jest to chyba najczęściej porównywany język do PHP. Dzięki Node stało się stosunkowo łatwe korzystanie z JS również na serwerze.

Prawda jest jednak taka, że języki takie jak PHP czy Java są o wiele bardziej rozwinięte pod wieloma względami. Istnieje więcej publikacji i choćby wątków na StackOverflow dotyczących przypadków użycia w PHP a nie w node.js. Node.js ma tylko rozwijającą (ale nie rozwiniętą) społeczność.

Node.js jest zaprojektowane z myślą o zdarzeniach czyli asynchroniczoności – nie jest to natywna i naturalna cecha typowych serwerów back-endowych. Dodatkowo, oprócz podstawowej składni, pisanie front-endu i back-endu w JS nie wiele ma ze sobą wspólnego.

PHP czy C# .NET

PHP czy ASP.NET w 2022 roku

Nigdy nie pisałem aplikacji webowej w ASP. Być może preferowałbym ASP, gdybym korzystał i znał serwery Microsoftu.

C# jest o wiele trudniejszym językiem od PHP (ale stwierdzam to jedynie jako praktyk PHP nagle zmuszony na studiach magisterskich do posługiwania się C# i programowania np. programów współbieżnych i wykorzystujących asynchroniczność).

W każdym razie różnica skali społeczności jest nie do porównania. Porównując ceny u dostawców hostingu stwierdzam, że uruchomienie strony czy aplikacji napisanej w ASP wiąże się z większymi kosztami.

PHP czy Python

PHP czy Python w 2022 roku

Python to język, którego porównanie z PHP ma największy sens. Python jest używany w wielu innych kontekstach niż tworzenie stron internetowych – jest również bardzo popularny w statystyce, analizie danych i uczeniu maszynowym.

Jest to również jeden z bardziej stabilnych i dobrze zaprojektowanych języków w powszechnym rozumieniu. Python (podobnie jak Ruby i JavaScript) jest nieco trudniejszy do uruchomienia na serwerze sieciowym niż PHP. Ma sporą społeczność, wsparcie dużych firm i mnóstwo gotowych bibliotek (podobnie jak PHP) ale jest mniej popularny przy wykorzystaniu typowo sieciowym niż PHP.

Przyszłość PHP

Przyszłość PHP – trend używania PHP w back-endzie stron i aplikacji internetowych wg. W3Techs

Spadający trend popularności będzie się prawdopodobnie utrzymywał jednak w tym tempie i przy tej przewadze język PHP nadal będzie najpopularniejszy nawet w przeciągu kolejnych kilkunastu lat.

Podsumowanie

Na sam koniec muszę nadmienić istotną rzecz. W nauce programowania konkretny język nie odgrywa aż tak szczególnej roli jak może się wydawać. Najważniejsza jest sama umiejętność programowania. Przesiadka na inny język programowania nie jest czymś szczególnie trudnym.

Zamiast ślęczeć na forach i zastanawiać się czy konkretna technologia da ci pracę i czy będzie przyszłościowa, wybierz technologię tak aby nauka programowania przynosiła ci dużo radości i satysfakcji.

Jeżeli jednak:

  • chcesz programować aplikacje dla potrzeb internetu,
  • chcesz używać tego samego języka, przy pomocy którego Zuckerberg napisał facebooka 😉 i jakiego użyto do napisania Wikipedii, Yahoo i Flickr’a,
  • chcesz niskim kosztem tworzyć lekkie projekty, które będą utrzymywane i dostępne w Internecie,
  • chcesz mieć możliwość napisania czegoś bardzo szybko niemal w natchnieniu chwili,
  • chcesz tworzyć aplikacje i strony zgodne z popularnymi systemami zarządzania treścią, który zna prawie każdy właściciel strony internetowej,

…to PHP jest dla ciebie.

Źródła:

Oceń artykuł na temat: Czy warto uczyć się PHP?
Średnia : 4.6 , Maksymalnie : 5 , Głosów : 32