Z tego wpisu dowiesz się:
- Jakie są mocne strony i perspektywy języka PHP na rynku zdaniem programisty PHP?
- Jakie porady ma doświadczony PHP developer dla początkujących?
- Jaka jest sytuacja z frameworkami PHP na rynku?
PHP bez wątpienia jest bardzo popularnym i często używanym językiem w technologiach webowych. Jest on tematem licznych dyskusji i artykułów na stronach i forach specjalistycznych, i jak każde popularne zjawisko ma sporo zwolenników i przeciwników. W świecie programowania często pojawiają się opinie, że ten język jest amatorski, przydatny raczej dla początkujących, a także zawiera dużo niedoskonałości. Kontynuując temat PHP postanowiliśmy porozmawiać na ten temat z kolejnym naszym kandydatem, który za pomocą TeamQuest niedawno rozpoczął współpracę z dużym software house w Warszawie. Porozmawialiśmy o popularności, mocnych stronach PHP i frameworkach. A na koniec zapraszamy naszych czytelników do dyskusji: jakie wady i zalety ma ten język programowania z waszego punktu widzenia? Jakie PHP ma perspektywy na rynku i co należałoby zmienić w tej technologii?
Na pytania TeamQuest odpowiedział Pan Adam Książek, programista PHP w jednym z dużych warszawskich software house. Pan Adam jako profesjonalista podchodzący do swojej pracy z ogromną pasją i zaangażowaniem pokazał nam język PHP od tej dobrej strony.
Dlaczego wybrał Pan PHP?
Bardzo dużą uwagę obecnie przykłada się do aplikacji webowych, a język PHP jest bardzo mile widziany i lubiany w tej technologii. Mimo tego, że moda na języki programowania i technologie ciągle sie zmienia, PHP jest cały czas rozwijany, idzie do przodu, więc warto inwestować swój czas w PHP moim skromnym zdaniem.
O PHP często mówią, że ten język ma bardzo dużo wad, niedoskonalości, a do tego jest on tematem żartów w środowisku programistycznym. Jaką opinię ma Pan na ten temat?
Myślę, że PHP jest na tyle uniwersalnym, popularnym językiem, jest interpretowany na wszystkich dostępnych serwerach w Polsce i poza granicami, więc to nie do końca jest tak, że należałoby sie śmiać z czegoś, co jest populane i wszędzie używane. Poza tym jakiś czas temu wyszła wersja PHP 7, która juz jest bardzo zbliżona do C# - bardzo potężnego języka. PHP stał się językiem bardzo obiektowym, chociaż nie był dla tego wymyślony. PHP cały czas się rozwija, ewoluuje, więc, zobaczymy co będzie na przykład, za 5 lat. Możliwe, że niektóre języki przestaną istnieć, a PHP będzie miał wersję 10 i będzie się cieszył świetnym uznaniem i szacunkiem.
O wersji PHP 7 mówiono, że ona ma w sobie wszystko, czego brakowało programistom w poprzednich wersjach. Czy Pana zdaniem tak naprawdę jest?
Tak, chodziło tu przede wszystkim o poprawę wydajności. Jak mówiłem wcześniej, PHP zostało stworzone tak, żeby programowanie w nim było przede wszystkim prostym, lekkim, otwartym. Dużo błędów, więc, polegało na tym, że nie do końca udawało się doprecyzować co chcieliśmy osiągnąć. A w związku z tym, że technologia cały czas idzie do przodu i pewne rzeczy stają się coraz bardziej skomplikowane, wersja 7 już się zbliża do takich mocno obiektowych języków. Więc, jak najbardziej jest to sprawa zwiększenia wydajności, jakości. Wszystko idzie w kierunku profesjonalnych rozwiązań nastawionych na techniki webowe.
Czy ta wersja wymaga wiecej zasobów niż wersje poprzednie?
Z punktu widzenia użytkownika czy programisty sama instalacja nie uległa zmianie, nie jest obecnie cięższa. PHP 7 ma jakieś swoje dodatki, ale serwer tego nie czuje. Jest duża poprawa jakości, a praktycznie nie trzeba rezygować z hardware czy maszyny, na której stała poprzednia wersja. I to jest duzym plusem.
Czy Pana zdaniem PHP należy do tych najprostszych języków, od których można zaczynać naukę programowania?
To jest język, który daje bardzo dużo możliwości. W tej chwili mamy wersję 7, w której już programuje się inaczej niż w poprzednich wersjach, bardziej profesjonalnie. Ale początkujący programiści też mogą używać tej wersji w sposób bardziej prosty, "starodawny". Obecnie, jak już mówiłem, w PHP można pracować na poziomie jak zaawansowanym i profesjonalnym, tak i na etapie rozpoczęcia swojej przygody z programowaniem.
Czy Pana zdaniem PHP ma swoje wady lub coś, co należałoby zmienić?
Nie mówiłbym, że są jakieś błedy w języku PHP. Po prostu trzeba dobrze przejrzeć dokumentację i zapoznać się z tym, co danna metoda lub funkcja robi. Czasem myślimy, że program powinien zachowac się w jakiś określony sposób, a jak zaczniemy czytać dokumentację bardziej szczegółowo, to okazuje się, że pewne metody robią trochę co innego i nie do końca są dopracowane, ale nie jest to wina używanego języka. Do tego powiem, że dużym plusem PHP jest jego dostępność. Jakikolwiek nie wykupilibyśmy serwer dostępny na rynku nie tylko w Polsce, prawie każdy usługodawca oferuje interpreter PHP, a to jednak o czymś mówi. Małe i duże strony, sklepy internetowe – większość stoi na PHP. Takie sklepy jak Prestashop, Shopify – to wszystko jest napisane w PHP, a to jednak przemawia za siłą i stabilnością.
Co by Pan poradził początkującym programistom? Czy początkujący programista powinien od razu uczyć się jakichkolwiek frameworków czy dodatowych narzędzi?
To przede wszystkim zależy od tego, czego chce się osiągnąć. Frameworki są głównie potrzebne do pracy w dużych przedsięwzięciach. Uważam, że zanim usiądzi się za naukę jakiegoś frameworka, warto najpierw zapoznać się z tym, jak ten framework działa tak od kuchni. Dzięki temu można zdobyć dobre dośwadczenie i już później, podczas pracy z frameworkiem, to pozwoli zrozumieć co konkretny framework robi źle i na co trzeba zwrócić uwagę. To jest jak w gotowaniu – fajnie zjeść coś gotowego, ale warto też nauczyć się gotować samemu, od podstaw. Zarówno frameworki jak i samodzielne pisanie mają swoje plusy i minusy. Framework nie jest potrzebny kiedy chcemy stworzyć coś małego i nie ma sensu uruchamiać dużej machiny dla małego rozwiązania. Natomiast jeżeli chodzi o naukę, no to trzeba wszystkiego popróbować, zobaczyć jak co działa, jakie ma funkcjonalności.
Co może Pan powiedzieć o wykorzystaniu frameworków PHP na rynku?
Kiedy ja zacząłem pracę w jednej firmie, nie znałem żadnego frameworka i nie wiedziałem po co to jest. Zacząłem się uczyć i zacząłem postrzegać, że w pracy zespołowej ten czy inny framework ma duże korzyści, ponieważ łatwiej jest w kilka osób pracować na pewnym takim szablonowym schemacie programu. Framework to wszystko systematyzuje. Później, kiedy już zacząłem szukać nowej pracy, okazało się, że pracodawcy po dwóch czy trzech latach zmienili punkt widzenia i znajomości jednego frameworku było już za mało. Pracodawcy chcą, zeby potencjalny pracownik znał dwa-trzy frameworki w nowych i starych wersjach, ponieważ planują, na przykład, za jakiś czas przejść z obecnie wykorzystywanego frameworka na inny. Dużo firm pracuje nadal w starych wersjach frameworków lub nie korzystają z frameworków w ogóle z tego powodu, że zaczęli swoją pracę, na przykład, 10 lat temu i nie są w stanie zastopować tego koła i przejść na coś nowszego. Każda firma tak naprawdę ma swoją specyfikę pracy, na przykład, niektóre "grube ryby" mają własne frameworki. Dla pracownika to nie jest dobre, bo idąc do nowej firmy, cała wiedza i doświadczenie z autorskim framworkiem firmy poprzedniej idzie dosłownie do kosza na śmieci. W dzisiejszych czasach nikt prawie nie pracuje 10 czy 20 lat w jednej firmie, dlatego takie własne firmowe framewori nie są dobre z punktu widzenia pracownika.
Czy chciałby Pan nauczyć się czegoś innego lub przejść na inny język programowania w przyszłości?
Wydaje mi się, że kiedy zna się jeden język dobrze, to jest się w stanie rozwiązać każdy problem. Konkurencją PHP obecnie można nazwać Python, ale według mnie nie ma sensu przesiadać się na inny język który robi prawie to samo. Więc zamierzam się w przyszłości nauczyć czegoś innego, mianowicie myślałem o Node.js i technologii, których się w tym obszarze wykorzystuje. Moim zdaniem, to może dać mi możliwość poszerzyć swoje umietności w programowaniu.
A jakie jest Twoje zdanie na temat PHP? Najciekawsze opinie i komentarze możemy wziąć pod uwagę w następnym artykule na ten temat.