PHP służy nie tylko do tworzenia prostych stronek. Devdebata
Jak oceniasz bezpieczeństwo refaktorowania oraz innych głębokich modyfikacji kodu? Jakie są ograniczenia PHP? Jakie najczęściej pułapki czyhają na juniorów? To trzy z dziesięciu pytań w kolejnej odsłonie devdebaty, do której zapraszamy doświadczonych developerów. Tym razem postanowiliśmy porozmawiać z nimi o PHPie.
Odpowiedzi na pytania udzielili:
Łukasz Nowak. Programista PHP z zamiłowaniem do projektów ze skomplikowaną logiką biznesową. W PHP siedzi od 14 roku życia, od 5 lat realizuje z powodzeniem mniejsze i większe projekty dla szerokiej gamy firm. Obecnie w Assertis Ltd. pracuje nad specjalistycznymi rozwiązaniami sprzedaży biletów na rynku kolejowym w Wielkiej Brytanii. Oprócz PHP po rozpoczęciu pracy w Assertis swoje zainteresowania kieruje w NodeJS, a w wolnym czasie Golang.
Iwona Jóźwiak. PHP developer w Divante. Od 15 lat „żyje internetem” – pamięta erę IE 5. Ostatnie 5 lata ukierunkowała głównie na backend Magento. Za swoją najmocniejszą stronę uważa umiejętność łączenia technologii i biznesu. Ponadto należy do grupy certyfikowanych developerów „Magento Developer Plus„. Dziś bardziej reprezentuje grupę backend developerów, jednak wciąż, w miarę wolnego czasu lub ciekawych zadań w projekcie, stara się rozszerzać wiedzę frontendową.
Andrzej Precz. Back-end PHP Developer w Transparent Data. Odkąd półtora roku temu dołączył do zespołu Data&Services, każdy dzień zajmuje mu przyłączanie nowych źródeł i obmyślanie sposobów na pozyskanie danych nawet “zza zamkniętych drzwi”. Wcześniej, przez prawie dekadę, programował w serwisie Allegro.
Spis treści
1. Co najbardziej lubisz w PHPie?
Odpowiada Łukasz Nowak, PHP & NodeJS Developer w Assertis:
Bardzo dobra dokumentacja, duży wybór pakietów, prostota konfiguracji środowiska. A przede wszystkim to, że język ten pomimo dużej krytyki naprawdę daje radę. Miałem okazję widzieć aplikacje, które dźwigały naprawdę bardzo duży ruch od strony użytkowników i wcale nie jest tak, że język ten służy tylko do tworzenia prostych stronek, stawiania wordpressów itp. Można na nim zbudować pełnoprawnie działające aplikacje, przetwarzające nawet terabajty danych. Język to tylko narzędzie, a PHP to w rękach dobrego programisty bardzo potężne narzędzie.
Odpowiada Iwona Jóźwiak, Senior PHP & Magento Developer w Divante:
Szeroko pojęta różnorodność. Skłamałabym, gdybym powiedziała, że “internet” stoi na PHP, jednak ma on w nim swój spory udział. Można w nim realizować proste stronki, ale i portale, e-commerce i ogromny CRM-y i ERP-y. Z powodzeniem można też w nim tworzyć webservice’y.
Odpowiada Andrzej Precz, Senior PHP Developer w Transparent Data:
Da się w nim bardzo szybko napisać małe skrypty do prostych zadań. Da się szybko napisać serwis internetowy, zarówno na froncie, jak i w backendzie. PHP będzie “dawał radę” nawet gdy aplikacja rozrośnie się do bardzo dużych rozmiarów. Szybkość tworzenia i skalowalność — to właśnie najmocniejsze strony tego języka.
2. Z drugiej strony, co najbardziej wkurza Cię w PHPie? Jakie są jego ograniczenia?
Odpowiada Łukasz Nowak, PHP & NodeJS Developer w Assertis:
Pewnie jak wielu programistów uważam, że dużym problemem PHP jest to iż jest to język interpretowany, przez co często wiele błędów pomimo dobrych testów występuje w późniejszym etapie życia aplikacji. Są oczywiście na to rozwiązania w postaci choćby HHVM, powoli pojawiają się głosy, że do następnych wersji PHP zostanie wprowadzony tzw. JIT (Just in time compilation).
Dużym ograniczeniem jest też wielowątkowość, która niby istnieje jednak w wielu nowszych językach jak choćby w Golang przy pomocy goroutines jest rozwiązana w dużo lepszy sposób.
Odpowiada Iwona Jóźwiak, Senior PHP & Magento Developer w Divante:
Najbardziej smuci mnie fakt, że język ten wciąż jest wolniejszy od języków kompilowanych i to, że wybacza za dużo. Można wymusić typowanie danych, korzystanie z interface’ów. Jednak zawsze można to wszystko ominąć sprawnie “work around’em”. Bardzo łatwo też kod “wykraść”. Istnieją zabezpieczenia w postaci np. ioncube, jednak dostępne są również mechanizmy, które potrafią taki zabezpieczony kod odkodować, co sprawia, że można z niego korzystać w sposób nieautoryzowany.
Administratorzy także bardzo ubolewają nad koniecznością utrzymywania wielu wersji PHP, które są w trakcie rozwoju. Jeśli już o wersjach mowa to trzeba pamiętać, że skrypty wykonywane w CLI mogą korzystać z innej wersji PHP, jeśli hosting nie został poprawnie skonfigurowany. Wielu też chciałoby w CLI używać polecenia “php” i równolegle na hostingu mieć kilka wersji, z których każda ma inną konfigurację, co ostatecznie powoduje niezłe zamieszanie. Na to wszystko nakłada się krótki czas wsparcia każdej wersji.
Odpowiada Andrzej Precz, Senior PHP Developer w Transparent Data:
Po pierwsze, szybkość języka w porównaniu z innymi dostępnymi obecnie na rynku, choć to znacznie się poprawiło od “siódemki”. Po drugie, luźne typowanie parametrów czy porównywanie za pomocą operatora equal (==) może wprowadzić wiele zamieszania i trudnych do zdebugowania błędów. Niektórzy się śmieją, że PHP i starą oponę przerobi na zero.
Po trzecie, zdarza się, że w nawet z pozoru banalnych sytuacjach i doświadczony programista PHP nie będzie wiedział jak zachowa się kod. Dla przykładu, sensowne i intuicyjne jest, że true zostanie zwrócone przez empty(“”) lub empty(0), ale że przez empty(“0”) już takie oczywiste nie jest i nigdy nie wiadomo kiedy i jak boleśnie się na czymś takim przewrócimy.
3. Jakbyś porównał wysiłek programowania do wysiłku debugowania aplikacji napisanej w PHPie?
Odpowiada Łukasz Nowak, PHP & NodeJS Developer w Assertis:
Wysiłek włożony w zaprogramowanie aplikacji zależy od poziomu skomplikowania logiki biznesowej, to samo dotyczy wysiłku włożonego w debugowanie. Bardzo skomplikowana logika biznesowa kosztuje programistę dużo wysiłku, bo zamiarem każdego programisty jest napisanie kodu tak, aby łatwo dało się go modyfikować. Debugowanie aplikacji w PHPie może być proste lub trudne, zależy to od takich czynników jak logika biznesowa oraz to w jaki sposób programista zaimplementował tę logikę. Łatwość debugowania zapewnia też dość czytelny stacktrace, oraz to że kod interpretowany można uruchomić dość szybko.
Wielu programistów nie korzysta z debuggerów tylko dość często linijka po linijce wstawia kod wyświetlający zawartość zmiennych i zatrzymujący aplikacje, a następnie uruchamiają samą aplikację żeby zobaczyć, co jest nie tak.
Odpowiada Iwona Jóźwiak, Senior PHP & Magento Developer w Divante:
Ze swojej strony dodam, że najżmudniejsze jest debugowanie integracji. Zdarza się bardzo często, że brakuje środowisk sandbox’owych, na które można wysyłać bez strachu kolejne requesty i w prosty sposób generować responsy. Problemem też jest integracja lokalnych środowisk developerskich z zewnętrznymi systemami. To wszystko bardzo wydłuża pracę, a w razie wystąpienia błędu, jego usunięcie staje się drogą przez mękę. Dlatego też developerzy mocno “ologowują” wszelkie integracje. Oprócz wspomnianych debugerów, przydaje się też umiejętność przeszukiwania logów, gdzie znajdują się często miliony informacji. Jeśli więc miałabym porównać wysiłek programowania do debugowania w tym obszarze to często, by napisać 5 linijek kodu, muszę spędzić niestety kilka dni w poszukiwaniu błędu.
Odpowiada Andrzej Precz, Senior PHP Developer w Transparent Data:
Stopień skomplikowania debugowania jest odwrotnie proporcjonalny do czytelności kodu i wybór języka programowania nie ma tutaj znaczenia. Jeżeli kod jest nieczytelny, splątany i pisany byle jak, to odnalezienie i poprawienie błędu będzie mało przyjemne. Błędy w oprogramowaniu są i będą, bo programista jest i będzie je popełniać. Wskaźnik liczby defektów do 1 tysiąca linijek kodu (ang. 1 kLOC) można i powinno się minimalizować przeglądem kodu, testami i innymi technikami.
Badania pokazują, że w oprogramowaniu występuje średnio od kilkudziesięciu do kilku błędów na 1 kLOC. Do bardziej celowego poszukiwania błędów polecam rozszerzenie do PHP — xDebug. Dzięki niemu można celowo poszukiwać błędów, zastawiać pułapki w konkretnych warunkach, tworzyć tzw. breakpointy na konkretne typy wyjątków, etc. Możliwości są naprawdę przeogromne i każdy programista PHP powinien wiedzieć jak z tego korzystać, żeby nie debugować poprzez wstawianie “var_dump/die” w kodzie.
4. Jak oceniasz bezpieczeństwo refaktorowania oraz innych głębokich modyfikacji kodu?
Odpowiada Łukasz Nowak, PHP & NodeJS Developer w Assertis:
To już niekoniecznie zależy od języka. Jeśli mamy dobre pokrycie kodu testami można uznać, że wszelka refaktoryzacja jest bezpieczna i nie powinna popsuć działania aplikacji. Każda głęboka modyfikacja kodu wiąże się z jakimś ryzykiem, w PHP-ie łatwo nie zauważyć jakiś błędów kodu właśnie z powodu tego iż jest to język interpretowany o czym wspomniałem wcześniej, języki kompilowane pozwalają uniknąć wielu różnych problemów w czym mają przewagę nad PHP-em.
Odpowiada Iwona Jóźwiak, Senior PHP & Magento Developer w Divante:
Jestem tego samego zdania co Łukasz, że wszystko zależy od pokrycia kodu testami. Niestety, ale w wielu przypadkach testów po prostu brak. PHP to nie tylko zaawansowane CMRy i e-commercy, ale też zwykłe strony www i autorskie silniki portali, to też cała masa wordpressów. Z przykrością muszę powiedzieć, że mało kto w takich miejscach dba o TDD.
Odpowiada Andrzej Precz, Senior PHP Developer w Transparent Data:
Tu się zgodzę z poprzednikami, że większy wpływ na bezpieczeństwo poprawnego refaktoringu kodu ma jakość tego kodu, niż sam język programowania. Testy jednostkowe, krótkie metody, proste rozwiązania, intuicyjne nazwy zmiennych, należyta ostrożność przy stosowanych typach zmiennych czy parametrów (np. używanie operatora identical (===) zamiast equal (==), assertSame() zamiast assertEqual() w testach jednostkowych) na pewno zmniejszą ryzyko popełnienia błędów.Jak oceniasz bezpieczeństwo refaktorowania oraz innych głębokich modyfikacji kodu? Jakie są ograniczenia PHP? Jakie najczęściej pułapki czyhają na juniorów? To trzy z dziesięciu pytań w kolejnej odsłonie devdebaty, do której zapraszamy doświadczonych developerów. Tym razem postanowiliśmy porozmawiać z nimi o PHPie.
5. PHP to dobry język dla początkującego?
Odpowiada Łukasz Nowak, PHP & NodeJS Developer w Assertis:
Moim zdaniem tak. Chociaż zaczynałem od niego dobrych dziesięć lat temu, czyli w czasach gdy wyglądał tak, że krytyka tego języka utrzymuje się do dziś. Od wersji 7.0 zmieniło się w nim na tyle dużo i w na tyle dobrym kierunku, że z pewnością nadaje się dla osób zaczynających swoją przygodę z programowaniem. W wielu innych językach nowicjusza zniechęcić może samo stawianie środowiska i wszystkiego co potrzebne dookoła, aby w ogóle móc napisać swój pierwszy skrypt lub program.
Odpowiada Iwona Jóźwiak, Senior PHP & Magento Developer w Divante:
Są różne zdania na ten temat. Osobiście uważam, że każdy język jest dobry do nauki i każdy wnosi pewne doświadczenie. W każdym też języku da się napisać tzw. “kod spaghetti” i architektoniczne dzieło. Wydaje mi się, że nie tyle język jest istotny, co osoba wprowadzająca do zawodu, czyli tzw. “opiekun stażu”. To jego zadaniem jest zaszczepić dobre praktyki w adepcie sztuki programowania.
Odpowiada Andrzej Precz, Senior PHP Developer w Transparent Data:
Zdecydowanie tak! Przemawiają za tym: niski próg wejścia, składnia podobna do wielu innych popularnych języków programowania, łatwość postawienia środowiska, dobrze rozwinięta społeczność i dokumentacja. PHP nie wymaga każdorazowego kompilowania kodu i naprawdę wiele “wybacza”. Co więcej, realna odczuwalność szybkich postępów prac, pozwala początkującemu programiście uniknąć wielu frustracji, które zawsze towarzyszą, gdy dopiero zaczynamy poznawać dany język.
6. Od czego zacząć naukę PHP?
Odpowiada Łukasz Nowak, PHP & NodeJS Developer w Assertis:
Moim zdaniem i w ten też sposób zaczynałem to zadać sobie jakiś projekt mniejszy lub większy i spróbować go zrealizować. Należy poznać podstawy programowania jako takiego, czyli czym jest zmienna, instrukcja warunkowa, rodzaje pętli i sposoby ich działania itp. Następnie spróbować stworzyć mały sklep internetowy, albo nawet sam system logowania/panel administracyjny z obsługa zamówień itp. W ten sposób napotyka się coraz ciekawsze problemy, przy okazji można troszeczkę pokombinować ze stosowaniem różnych wzorców itp. Znam parę osób, które w ten sposób próbują z innymi językami, dzięki temu nauka wydaje się być bardziej interesująca niż suche oglądanie filmów na YouTube czy Udemy.
Odpowiada Iwona Jóźwiak, Senior PHP & Magento Developer w Divante:
Z tym pytanie najczęściej spotykam się na wielu forach i grupach fb. Ponieważ bycie programistą ostatnimi czasy stało się modne, pretendentów do tego zawodu jest wielu. Znajdują kurs na internecie (np. na Udemy), wykonują kolejne ćwiczenia, po czym trafiają na grupę i pytają “Czemu to w ogóle ma służyć? Nie wiem po co to robię…”. Inni z kolei by chcieli programować, ale nie wiedzą jak zacząć. To czy każdy może być programistą, jest tematem szerokiej debaty wśród developerów. Osobiście uważam, że nie każdy się nadaje do tego fachu.
Naukę języka jednak rozpoczęłabym od zastanowienia się i odpowiedzi na pytanie “Po co mi to?”. Być może to banalne pytanie, ale jeśli nie będziemy wiedzieli w jakim obszarze chcielibyśmy się spełniać, to ciężko będzie tak naprawdę ruszyć. Niezależnie jednak od drogi jaką obierze adept, przeczytanie dokumentacji wraz z komentarzami, jest absolutną podstawą. Kolejnym krokiem będą wzorce projektowe. Dopiero na tym etapie, gdy już wiemy co chcemy wytwarzać, możemy zacząć uczyć się jakiegoś frameworka.
Odpowiada Andrzej Precz, Senior PHP Developer w Transparent Data:
Każdemu rozpoczynającemu naukę PHP proponuję przeczytać i przyswoić sobie informacje z tej strony phptherightway.com. Drugim równie ważnym sposobem nauki jest czytanie kodu innych oraz codzienna praktyka poprzez samodzielne pisanie kodu. Może się to wydawać trywialną poradą, ale w nauce programowania, podobnie jak w innych dziedzinach życia, tylko ułamek procenta to umiejętności/predyspozycje, reszta to ciężka praca, nauka i ćwiczenia.
7. Skąd czerpać wiedzę i inspiracje?
Odpowiada Łukasz Nowak, PHP & NodeJS Developer w Assertis:
Z pewnością komentarze pod dokumentacją, starsi developerzy w firmie itp. ze swojej strony dodałbym jeszcze źródło mniej popularne, z którego ostatnio zacząłem korzystać czyli Discord. Używam jako agregatora newsów ze świata PHP i GoLang’a i sprawdza się świetnie. Na reddit jest też społeczność zorientowana wokół PHP’a, gdzie od czasu do czasu pojawiają się newsy albo też linki do ciekawych blogów na medium, wtedy warto obserwować autora.
Odpowiada Iwona Jóźwiak, Senior PHP & Magento Developer w Divante:
Jak już wcześniej wspomniałam dokumentacja powinna być elementarzem każdego deva. W komentarzach tam zamieszczonych można znaleźć też wiele inspirujących rozwiązań. Grupy dyskusyjne, fora i blogi, prezentacje na yt to kolejne skarbnice wiedzy. Osobiście nie wierzę w magię bootcampów, jednak znam perełki, które dzięki nim dziś pracują w branży i są świetnymi devami. Na pewno staż i starsi stażem koledzy i koleżanki będą niesamowitą kopalnią doświadczeń.
Odpowiada Andrzej Precz, Senior PHP Developer w Transparent Data:
Kopalnią wiedzy jest też istniejący kod aplikacji, nad którą pracujemy. W nim znajdziemy rozwiązania podobnych problemów, przyjęte standardy programowania, dowiemy się kto może być lepiej obeznany z jakimś obszarem biznesowym. Warto też pytać innych programistów, ale niekoniecznie tych z większym stażem. Choć “zderzyli się” oni z większą liczbą przypadków i jest większa szansa, że od ręki podadzą nam gotowe rozwiązanie lub przydatną wskazówkę, to jednak mniej doświadczeni mogą myśleć bardziej niekonwencjonalnie, a przez to kreatywnie.
Do tego oczywiście dokumentacja (PHPa, używanego frameworka, biblioteki), StackOverflow itd. Warto pamiętać, że kluczową rolę odgrywa poświęcony na programowanie czas. W naturalny sposób każda kolejna godzina przyczynia się do poszerzenia naszej wiedzy i umiejętności, a teoria nigdy nie zastąpi praktycznego doświadczenia zdobytego z trudem nad jakimś trudnym problemem.
8. Dlaczego warto uczyć się PHP?
Odpowiada Łukasz Nowak, PHP & NodeJS Developer w Assertis:
Dla początkujących warto choćby dlatego, że ma bardzo niski próg wejścia i można się nauczyć go dosyć szybko i stworzyć swoją pierwszą aplikację. Warto też dlatego, że w ostatnich czasach rynek pracy szuka dość dużo developerów obeznanych w tematach Magento, Drupal, WordPress więc pracy w tym języku nadal jest dosyć sporo, dla osób, które dopiero zaczynają przygodę z programowaniem i zmieniają branżę to może być doskonała okazja żeby zacząć.
Odpowiada Iwona Jóźwiak, Senior PHP & Magento Developer w Divante:
Na temat tego, czy naukę programowania powinno zaczynać się od PHP, toczy się wiele debat. Zwolennicy PHP uważają, że jest to język jak każdy inny. Natomiast przeciwnicy wyliczają jego niedoskonałości. Nie będę ukrywać, że należę do tych pierwszych. Tak jak pisał Łukasz, próg wejścia jest mniejszy co sprawia, że szybciej możemy zacząć cieszyć się z rozwoju, chociażby zdobywając pierwszy etat. Dużo łatwiej też znaleźć zlecenia w ramach freelance. Zaradni młodzi ludzie dzięki temu mogą zdobywać doświadczenie zawodowe, nim uda im się dostać do software hause’u, czy agencji interaktywnej.
Odpowiada Andrzej Precz, Senior PHP Developer w Transparent Data:
Uczyć się warto wszystkiego, aby nie spleśnieć na starość. Ale na poważnie, język jak każdy inny, jeżeli widzisz w nim swoją przyszłość i lubisz go, pomimo wad, “go for it”!
9. Jakie najczęściej pułapki czyhają na nowicjuszy?
Odpowiada Łukasz Nowak, PHP & NodeJS Developer w Assertis:
Zdecydowanie w wielu firmach na rozmowach rekrutacyjnych można spotkać się z pytaniami o SOLID, ACID, DRY, wzorce projektowe i na tym nowicjusz może często wypaść z procesu, ponieważ pytania są czysto teoretyczne. Spotkałem programistów, którzy niezbyt dobrze umieją odpowiedzieć na wszystkie tego typu pytania, natomiast nieświadomie jakby z wyczucia stosują te zasady pisząc kod. Sam osobiście też wpadałem w taką pułapkę.
Kolejną pułapką jest mnogość źródeł i problem w ocenieniu czy rzeczywiście wyjaśnienia i kod pisany przez autora artykułu są prawidłową techniką czy sposobem podejścia do rozwiązania problemu.
Drugą pułapkę można sprytnie ominąć obserwując wcześniej wspomniane społeczności na Discord czy reddit. Często w dyskusjach developerzy dowodzą, że dany artykuł jest totalnie bez sensu, a kod w nim zamieszczony do niczego się nie nadaje. Wtedy to społeczność zebrana wokół PHP’a weryfikuje wiedzę z artykułu za nas.
Odpowiada Iwona Jóźwiak, Senior PHP & Magento Developer w Divante:
Często wspominam o tym, że największymi problemami z jakimi mierzą się adepci to “akademickie podejście” i nie zrozumienie biznesu. Przesyt możliwości rozwoju i źródeł wiedzy jest jednak również pułapką, z której czasem ciężko się wydostać. Znam osoby, które przygotowują się do pierwszych rozmów rekrutacyjnych już mnóstwo czasu i porównując swoją wiedzę z doświadczeniem seniorów, wybierają dalszą naukę, zamiast aplikacji na staż. Wiele osób też rozwija swoją wiedzę bardzo szeroko, przez co nie jest ona na tyle zgłębiona, by mogły stać się one specjalistami w jakimkolwiek obszarze.
Odpowiada Andrzej Precz, Senior PHP Developer w Transparent Data:
Równie powszechną pułapką w branży IT (nie tylko w przypadku nauki języka) jest błąd poznawczy zwany efektem Dunninga-Krugera, który polega na tym, że osoba niewykwalifikowana ma fałszywe wyobrażenie o osiągnięciu już poziomu eksperckiego. Buduje to złudne przekonanie o braku potrzeby dokształcania się i nieadekwatną ocenę własnych umiejętności, co z kolei i utrudnia przyjmowanie krytyki własnych rozwiązań.
Dobrym antidotum jest kontrybuowanie do dużych projektów open source, praca z dużą liczbą ludzi, konfrontowanie opinii i rozwiązań. Doskonale otwiera to oczy na własny poziom samorozwoju, uczy pokory i ogólnie rozwija programistę w dobrym kierunku. Należy wspomnieć, że praca w projektach OSS nie jest zarezerwowana dla “wymiataczy”. Github oraz inne platformy ułatwiają znajdowanie zadań dla ludzi o różnym poziomie znajomości języka/produktu, a nawet promują to w bardzo atrakcyjny sposób (np. Hacktoberfest).
10. Co musiałoby się stać, żeby PHP stracił na popularności?
Odpowiada Łukasz Nowak, PHP & NodeJS Developer w Assertis:
Głównym zagrożeniem w tej kwestii musiałoby być chyba to, że community/społeczność przestałoby rozwijać kolejne wersje tego języka. Mimo tego nadal dość sporo stron internetowych i aplikacji biznesowych używa tego języka, więc nadal będą wymagać one utrzymania i rozwoju.
Dodatkowo z moich obserwacji wynika, że od paru lat na fali wzrostowej jest wykorzystanie Magento, WordPress’a czy Drupala to też rosnący kawałek tortu na rynku developerów PHP, a skoro nadal powstają kolejne aplikacje przy użyciu tych rozwiązań to PHP nadal będzie w czołówce popularnych języków.
Odpowiada Iwona Jóźwiak, Senior PHP & Magento Developer w Divante:
Nie wydaje mi się by w nadchodzącym czasie język PHP stracił na popularności. Wręcz przeciwnie, jest on coraz bardziej docenianym językiem, a popularne silniki webowe (oparte o PHP) stale się rozwijają i zwiększają popularność. To ogromna społeczność, która jest motorem napędowym rozwoju PHP. Niemniej każdy produkt czy usługa prędzej czy później zostają zastąpione czymś innym. Wydaje mi się, jednak że aby PHP zaczęło tracić na popularności, musiałyby powstać w oparciu o inny język/języki silniki, które zastąpiłyby te obecne, dobrze nam znane. Użytkownikom podoba się to ile mają one do zaoferowania w chwili obecnej oraz to, że wciąż się rozwijają — próg wejścia jest więc bardzo wysoki.
Odpowiada Andrzej Precz, Senior PHP Developer w Transparent Data:
PHP straciłby popularność, gdyby społeczność i użytkownicy całkowicie i solidarnie się od niego odwrócili. Zapewne kiedyś każdy język umrze, jednak PHP to nie grozi jeszcze przez długi czas. Zwyczajnie ma zbyt silną i niezagrożoną pozycję w świecie blogowo/ecommercowym. A od nowych wersji, w których kładzie się duży nacisk na wydajność, widać wyraźnie ewolucję tego języka w stronę szybkiego, stabilnego i nowoczesnego narzędzia programisty.
Zdjęcie główne artykułu pochodzi z unsplash.com.