
Jeśli chcesz wiedzieć czym jest język PHP, jakie daje możliwości oraz jakie są jego wady i zalety, to zapraszamy do przeczytania rozmowy z Pawłem – naszym programistą.
Co najbardziej podoba Ci się w programowaniu? Jakie są zalety pracy w IT?
Od zawsze lubiłem praktyczne rozwiązania, tworzyć coś co naprawdę działa i faktycznie przekazuje jakąś widoczną odpowiedź. Dlatego najbardziej podoba mi w programowaniu to, że można tworzyć coś co jest jest użyteczne 😉 A największą zaletą pracy w IT jest to, że oprócz realizowania się twórczo, to jeszcze zarabiasz na tym – i to bardzo dobrze.
W jakim kierunku starasz się rozwijać? Jakie są Twoje zainteresowania zawodowe?
Lubię pracę na backendzie i raczej tutaj zostanę 😉 Zastanawiam się nad rozszerzeniem umiejętności w kierunku urządzeń IoT i tworzenia oprogramowanie do w/w.
Specjalizujesz się w PHP, dlaczego wybrałeś właśnie ten język programowania? Czy możesz przybliżyć niewtajemniczonym co to za język i jakie daje możliwości?
Wybrałem akurat PHP, bo w czasach kiedy zacząłem się interesować programowaniem (2008-2009 o ile dobrze pamiętam) był to najprostszy sposób do tworzenia rozwiązań „praktycznych”, które tworzą coś konkretnego i bardziej interesującego niż kolejny program dodający dwie liczby w konsoli. Jak doszła do tego jeszcze komunikacja z innymi serwisami (o ile pamiętam pierwszą taką rzeczą było API Steama do pobierania informacji o użytkownikach) to w ogóle było to widać. PHP to język programowania stosowany przede wszystkim jako backend webaplikacji. Na ten moment można oczekiwać od niego większości rzeczy jakiej oczekuje się od dojrzałego języka w 2020 roku. Jest dość prosty do nauczenia (i to biorąc pod uwagę dobre praktyki!), daje sporo możliwości, jest bardzo wydajny (a z każdym wydaniem coraz bardziej) i przede wszystkim – jest to jeden z najpopularniejszych języków backendowych na świecie.
Jakie są według Ciebie plusy i minusy PHP?
Plusem na pewno będzie gigantyczna popularność, niektóre statystyki mówią nawet o tym, że 80% stron internetowych (z tych gdzie język na backendzie jest znany) korzysta z PHP. Nawet jeśli te statystyki są znacznie zawyżone (a pewnie są, będę szczery) to wciąż znalezienie pracy przy tym języku nie stanowi problemu. Ponad to jest niski próg wejścia, co daje początkującym szansę na mało obciążające wejście w branżę. Do wad zaliczyłbym dość sporą ilość kiepskiej jakości kodu, która się nazbierała z powodu małego doświadczenia programistów, dawnych decyzji twórców języka i konsekwencji w postaci zachowania kompatybilności wstecznej (jak wspomniałem, ponad połowa stron może stać na PHP, zatem jakakolwiek poważna zmiana musi mieć to na uwadze, a wszelkie zmiany ingerujące w istniejące już rozwiązania – odpowiednio rozłożone w czasie). Trzeba też mieć na uwadze, że to język skierowany przede wszystkim do backendu webaplikacji.
Skąd kontrowersje wokół PHP i z czego to wynika?
PHP powstał jako prosty zestaw skryptów do prostej strony internetowej, przy którym zaczęło się zbierać większe zainteresowanie. Nigdy nie planowano czegoś większego, nawet od PHP 3, które powstało na potrzeby aplikacji eCommerce-owej. Ot po prostu masz zestaw funkcji z których piszesz skrypt generujący stronę. O jakiejś standaryzacji takowych nie było mowy, chociażby w metodach związanych z tablicami do dziś są w niektórych miejscach różne kolejności wpisywanych danych, np. W `array_map`, callback to pierwszy parametr, a tablica drugim, jednak już w `array_reduce` i `array_filter` to callback jest drugim, a tablica pierwszym parametrem. Trzeba mieć jednak na uwadze, że sporo całkiem słusznych wad języka jest już nieaktualna (niektóre mity mogą mieć prawie 20 lat!), gdyż dotyczy wersji które są już niewspierane. W momencie pisania tj. 17 kwietnia 2020, najstarszą wspieraną wersją PHP jest 7.3 wydany pod koniec 2018 roku (Jest jeszcze 7.2, które otrzymuje do końca listopada tego roku poprawki bezpieczeństwa). W najnowszym 7.4 natomiast wprowadzono wiele zmian, które jeszcze bardziej „unowocześniają” składnię języka, poprawiają wydajność, wprowadzają bezpieczniejsze formy wpisywania danych itd. Stąd też uważam, że nie można patrzeć na PHP jedynie przez pryzmat przeszłości, ale skupić się na aktualnych faktach. Twórcy języka i społeczności wokół niektórych projektów odwalili w ostatnim czasie kawał naprawdę dobrej roboty.
Jak najlepiej nauczyć się tego języka? Gdzie zdobywać wiedzę i jak ją doskonalić?
Przede wszystkim warto znać podstawy podstaw które są uniwersalne bez względu na język 😊 Chyba nie będzie niczym dziwnym jak polecę po prostu świetne książki „wujka Boba” Roberta C. Martina. Istnieje wiele fajnych i aktualnych źródeł dostępnych w internecie, gdzie można poznać język oraz – co najważniejsze – dowiedzieć się, jak używać go dobrze. Świetne źródło dla początkujących oraz chcących poznać podstawy dobrych praktyk, ponad to przetłumaczone na wiele innych języków, w tym język polski to strona phptherightway.com. Poza tym polska społeczność PHPers-ów z grupami na Facebooku dla początkujących oraz ogólna grupa PHP na Facebooku. Rekomendowane standardy w PHP, szczególnie zalecane jest znać PSR-1, PSR-2, PSR-4, PSR-12 znajdziecie tutaj. Dla osób kierujących w Symfony, również polecam rozdział Symfony o najlepszych praktykach z oficjalnej dokumentacji. Chciałbym przy okazji zwrócić uwagę, że nie ma jednego słusznego standardu dla niektórych zagadnień, a spora część to jedynie rekomendacje, które można stosować lub nie. Idealnym przykładem jest standard pisania kodu – można zastosować albo rekomendację PHP-FIG, która mówi o PSR-12 (wcześniej PSR-2), jednak istnieje również osobna rekomendacja stworzona przez twórców Symfony (bazująca na PSR-2). To na którą się zdecydujemy zależy przede wszystkim od potrzeb. Poza źródłami z internetu organizowane są też spotkania na żywo, najpopularniejsze i najczęstsze w Polsce to organizowane przez PHPers, a listę wydarzeń można znaleźć na ich stronie. Oprócz tego raz na jakiś czas odbywają się konferencje PHPCon, a do niedawna istniały jeszcze konferencje phpCE.
Czy możesz na koniec napisać niezdecydowanym, dlaczego warto nauczyć się PHP?
Sytuacja języka na rynku jest stabilna (mimo pesymizmu niektórych jakoby PHP „umierał” 😉), więc nie będzie nigdy tak, że ta cała wiedza z czasem okaże się zbędna. Jeśli interesuje Cię co dzieje się „pod maską” aplikacji internetowej, to PHP będzie bardzo dobrym wyborem.