Język PHP: mity i stereotypy

php język programowania

Wszechobecna krytyka oraz prześmiewcze opinie na temat języka PHP są niestety cały czas spotykane w środowisku programistycznym. Nie ma chyba lepszego momentu niż teraz – na niespełna dwa miesiące przed premierą najnowszej ósmej wersji tej technologii – by wziąć w obronę język PHP i jego nadwyrężoną reputację. Pora obalić wreszcie niesprawiedliwe mity i stereotypy na jego temat. Zanim więc kolejny raz skrytykujesz PHP, przeczytaj ten tekst. Jest szansa, że zmienisz zdanie.

Spis treści

Złe dobrego początki

Nie wiem czy wiedziałeś, że PHP jest o pięć lat starszy niż język C# oraz że powstał w tym samym roku o technologia Java? No właśnie, to na pierwszy rzut oka nieoczywiste. Jego twórca – Rasmus Lerdorf – w 1995 roku nie przypuszczał, że technologia ta w ciągu dwóch dekad zawojuje większość internetu i będzie obecnie jednym z najpopularniejszych języków programowania. A jeśli zaś spojrzeć na statystyki i wziąć pod uwagę wyłącznie back-endowe technologie webowe (czyli to do czego stworzono PHP) jest on właściwie bezkonkurencyjny.

Jak każdy język programowania PHP ma również swoją dosyć burzliwą i naprawdę długą historię. Rzeczywiście, do mniej więcej 2005 roku, jak na technologię back-endową PHP był raczej ubogim i mało perspektywicznym językiem. Do jego największych bolączek można było zaliczyć brak możliwości korzystania z programowania obiektowego (OOP).

W kolejnych latach wprowadzono wiele usprawnień i rozwinięto język, a jego użytkownicy mogli wreszcie zacząć programować obiektowo. W okolicy 2012 roku narodziły się dwa najpopularniejsze dzisiaj frameworki: Symfony oraz Laravel. Pojawił się również manager paczek i zależności composer.

Przełom roku 2015 i 2016 to wprowadzenie PHP 7, czyli de facto milowy krok związany z przepisaniem kodu języka na nowo – i co za tym idzie – znacznym przyspieszeniem samej technologii. A to dopiero początek niespodzianek, gdyż kolejne wersje PHP w błyskawicznym wręcz tempie nadrabiały zaległości języka i wprowadzały coraz to nowe usprawnienia.

Jeśli jesteś ciekaw dlaczego tak bardzo wyczekiwana jest obecnie ósma wersja PHP koniecznie przeczytaj ten artykuł. Nie jest przesadą twierdzić, że w ciągu ostatnich pięciu lat PHP przeszedł większą metamorfozę niż niektóre języki programowania przez dekady lub nawet od początku swojego istnienia.

Spuścizna dawnych czasów i echa WordPressa

Dlaczego więc patrząc na tak dynamiczny rozwój języka PHP – zwłaszcza w ostatnich pięciu latach – nadal ta technologia ma tak wielu krytyków? Wynika to po prostu z braku wiedzy na temat współczesnego PHP. Stereotypy i mity dotyczą głównie z wcześniejszych wersji języka i jego ówczesnych bolączek oraz braków. Nie mają zaś nic wspólnego z obecną kondycją, możliwościami i popularnością języka PHP. Krytycy patrzą na tę technologię głównie z perspektywy przeszłości sugerując się opiniami innych sceptyków. Rzeczywistość jest jednak zupełnie inna. PHP intensywnie się rozwija i ma przed sobą świetlaną przyszłość.

Współwinnym tej reputacji PHP jest w dużej mierze WordPress, czyli od lat najpopularniejsza platforma do zarządzania treścią (CMS). Niestety nadal wiele osób utożsamia PHP wyłącznie z WordPressem, co jest bardzo krzywdzące dla tego języka. Nie można przecież zapominać, że PHP to nie tylko WordPress, a obecnie pełnoprawny i dojrzały język programowania z ogromnymi możliwościami. Z kolei sam WordPress cierpi na kilka bolączek (zwłaszcza związanych z bezpieczeństem) i jego reputacja mocno przekłada się na opinie o całym ekosystemie PHP. W taki oto sposób nakręca się i rośnie spirala uprzedzeń.

Zanim więc skrytykujesz język PHP, zadaj sobie trochę trudu i zapoznaj się obecnymi możliwościami tej technologii. Poczytaj statystyki i opinie developerów piszących w tym języku. I pamiętaj, że PHP sprzed kilku lat i jego dzisiejszą wersję dzieli ogromny skok jakościowy. Po prostu PHP w przeciwieństwie np. do niskopoziomowych języków takich jak C, C++, C# czy Java, przeżywa swój największy rozwój dopiero od kilku lat. Warto o tym pamiętać oceniając PHP.

Doskonały ekosystem

Jak wspomniałem PHP to nie tylko WordPress (choć sama w sobie platforma jest wyjątkowo popularna), ale przede wszystkim dojrzały i funkcjonalny back-endowy język programowania o zastosowaniu webowym. Choć kto wie czy już niebawem PHP nie wyjdzie poza środowisko web’a.

Siłą ekosystemu PHP są w dużej mierze frameworki tego języka. Na uwagę zasługują zwłaszcza dwa spośród nich, czyli Symfony i Laravel. Rozwijane od lat są znakomitymi narzędziami do szybkiego, bezpiecznego i efektywnego rozwoju aplikacji webowych. Laravel ma niższy próg wejścia i robi więcej za developera, z kolei Symfony to programistyczny „kombajn” z nieograniczonymi wręcz możliwościami. Wymaga nieco więcej doświadczenia i umiejętności, ale jest za to bardziej wszechstronny.

Nie można zapominać również o wersji dla „bardziej leniwych”, czyli gotowych środowiskach do rozwoju aplikacji webowych. Mam na myśli LAMP, LEMP czy np. WAMP. Takie rozwiązanie zawiera: gotową konfigurację dla wybranej wersji języka PHP w danym systemie operacyjnym (np. Linux lub Windows) wraz z serwerem webowym (np. Apache lub Nginx) oraz serwer bazy danych (zwykle Mysql). Taka kombinacja pozwala w zasadzie od razu, bez wielu konfiguracji ze strony użytkownika, zacząć tworzenie aplikacji webowych.

Dodajmy do tego jeszcze znakomity manager zależności composer oraz repozytorium paczek i bibliotek packagist, który według statystyk ma dzienne około 25 mln pobrań. A to wszystko to tylko część ekosystemu PHP.

Niski próg wejścia i liczne materiały edukacyjne

Istotną zaletą PHP, choćby w porównaniu z niskopoziomowymi językami programowania (C, Java itp.) jest niski próg wejścia. Bynajmniej nie jest to wcale wada tej technologii, a wręcz przeciwnie. Do uruchomienia PHP potrzebujemy wyłącznie serwera webowego (lub po prostu wbudowanego serwera PHP). Efekt możemy obejrzeć w konsoli lub np. w przeglądarce.

Obecnie znajdziesz w internecie mnóstwo dobrych materiałów i kursów do nauki języka PHP. Jedyne o czy warto pamiętać wybierając źródło to jego aktualność. O tym jak się uczyć programowania piszę tutaj. Godna polecenia jest również strona z oficjalną dokumentacją języka. Z łatwością znajdziesz też materiały poświęcone konfiguracji ekosystemu PHP, a także liczne blogi na temat tej technologii (np. ten).

PHP jest więc świetnym wyborem jeśli chodzi o pierwszy język programowania, którego będziesz się uczyć. Dlaczego? Po pierwsze, jak wspomniałem jest łatwiejszy do przyswojenia niż choćby Java. Po drugie, jego składnia i podobieństwo do innych języków niskopoziomowych, a także możliwość programowania obiektowego sprawia, że znając PHP bez problemu nauczysz się kolejnych języków back-endowych. To po prostu dobry wybór na start.

PHP, a rynek pracy

Popularność języka PHP przekłada się również na liczbę ofert pracy w tej technologii. W największych serwisach z ogłoszeniami z branży IT bardzo łatwo znaleźć oferty dla PHP developerów z różnym doświadczeniem, w tym również dla juniorów. Choć dla nich ofert będzie mniej niż dla regular developerów czy seniorów.

Pomimo, że PHP developer jest statystycznie tańszy od np. Java czy .Net developera to płace w PHP systematycznie rosną i szybko gonią stawki z back-endowej czołówki. To głównie zasługa dużej popularności tej technologii i co za tym idzie rosnącego popytu na programistów PHP. Warto więc od początku postawić na ten język.

Mit prawdziwego backend’u

Często spotykam się z opiniami dzielącymi języki programowania na lepsze i gorsze. To niestety bardzo krzywdzące i krótkowzroczne podejście.. Moim zdaniem ocenianie języka programowania ma sens wyłącznie w ścisłym odniesieniu do kontekstu jego użycia. Mam tu na myśli np. tworzenie aplikacji webowych, desktopowych, mobilnych czy gier. Język może być lepszym lub gorszym wyborem tylko pod konkretny projekt, a nie jako technologia sama w sobie.

W środowisku IT, zwłaszcza wśród programistów kilku języków niskopoziomowych (takich jak C, C# i Java) przyjęło się twierdzenie, że PHP to nie jest prawdziwy back-end. Co gorsza, część z osób w ogóle nie uznaje tego języka za technologię back-endową. Takimi opiniami sami niestety wystawiają sobie świadectwo i wykazują się niewiedzą. Bardzo łatwo jest krytykować to, czego się nie zna. Dużo trudniej zaś zadać sobie trud by poznać lepiej temat i odnieść się do niego bardziej merytorycznie.

Prawda jest również taka, że stworzenie projektu komercyjnego w PHP jest tańsze i szybsze niż np. w Javie czy .Net. Jednocześnie wcale nie oznacza to, że przedsięwzięcie będzie gorsze. W końcu wszystko zależy od przeznaczenia danego projektu. Akurat w kategorii aplikacji webowych PHP jest w wielu przypadkach najlepszym i najbardziej optymalnym wyborem. Tym bardziej, że w branży IT czas i koszty odgrywają kluczową rolę.

Zbyt blisko front-endu

Część krytyków PHP podkreśla również nieatrakcyjny wygląd samego języka i to, że w połączeniu ze znacznikami html przypomina tzw. spaghetti code. Warto dodać, że dotyczy to głównie starszych projektów, które pisane były bez używania silników szablonowych. Z racji tego, że języka PHP można używać w plikach o rozszerzeniu html, a sam html pisać w pliku PHP, nie da się uniknąć połączenia tych dwóch technologii.

Pamiętaj jednak, że to jak wygląda kod zależy wyłącznie od Ciebie, czyli programisty, który tworzy aplikację. W każdym języku można pisać brzydko i nieoptymalnie. Nie ma więc większego znaczenia jakiej technologii używasz.

Uważam, że PHP jest językiem, który wygląda dobrze, co więcej pisze się w nim bardzo przyjemnie. Definiowanie zmiennych za pomocą symbolu $ czyli „dolara” ma swój dodatkowy urok. Każdy z nas lubi patrzeć na dużo „bucksów” 😉

Słowem podsumowania

Nie napisałem tego artykułu po to by przekonać Cię do zmiany języka, w którym piszesz. Doskonale zdaję sobie sprawę, że masz własne preferencje i przyzwyczajenia lub zajmujesz się na co dzień zupełnie inną technologią.

Mam po prostu nadzieję, że po lekturze tego tekstu zaczniesz bardziej przychylnie i obiektywnie patrzeć na język PHP. Dlatego zanim kolejny raz skrytykujesz i wyśmiejesz PHP pomyśl o licznych faktach, które przemawiają za tą technologią.

Jeśli masz pytania, chciałbyś podzielić się swoimim przemyśleniami na temat PHP skontaktuj się ze mną.

Wojciech Pilich

Autor tego bloga. PHP Developer z pisarskim zacięciem. Wyznawca czystego kodu, a zwłaszcza zasad YAGNI i KISS. Pasjonat nowych technologii, fan Gwiezdnych Wojen, a po pracy miłośnik kotów syberyjskich. Z wykształcenia humanista, z zamiłowania programista.

Dodaj komentarz

*