Czy PHP zasługuje na złą opinię?

Czy PHP jest taki zły?

Jedną z kluczowych kwestii przy rozpoczynaniu każdego projektu programistycznego jest zadanie sobie pytania: jaką technologię zastosujemy do tego systemu? Ta pozornie prosta zagwozdka bywa lekceważona przez mniej doświadczone zespoły, które do każdego oprogramowania stosują ten sam język i framework, bardziej patrząc na przyzwyczajenia programistów aniżeli realną potrzebę. Nie ma jednak co demonizować takiego podejścia – często zespoły nie mają pełnej dowolności przy wyborze technologii, gdyż oprócz stricte najlepszych predyspozycji danego języka, muszą uwzględnić również ograniczenia biznesowe, w tym czas na realizację danego projektu. W przypadku stosunkowo krótkiego „deadline’u”, zwyczajnie nie opłaca się inwestować zasobów w rozwiązania zupełnie nowe dla grupy lub mało popularne czy ryzykowne. Oczywiście, sytuacja diametralnie się zmienia, gdy mowa o bardzo dużych systemach, składających się z wielu komponentów, wymagających wyrafinowanej architektury lub kilku baz danych – wówczas etap wyboru technologii jest nie tylko potrzebny, ale i kluczowy oraz często decyduje o sukcesie lub porażce projektu.

Tym niemniej, wiele systemów IT, używanych zarówno publicznie, jak i w mniejszych środowiskach, zostało napisanych z użyciem języka, o którym niektórzy wręcz mówią, że nie powinien nazywać się językiem programowania. Mowa oczywiście o PHP, czyli nadal najpopularniejszej technologii do pisania dynamicznych aplikacji webowych. Czy nadal się go używa, mimo niechęci wielu programistów? Czy warto nadal się nim interesować? Odpowiedź na oba te pytania brzmi: tak. Mimo wielu lat na karku, PHP nadal jest rozwijany i wzbogacany nowymi wersjami. Oznacza to, że technologia jest żywa, a to już sprawia, że popularny „pi-ejdż-pi” nie może być tak z łatwością zignorowany przez firmy programistyczne. Jednak, jeśli rozwój nie jest dla kogoś wystarczającym powodem do pozytywnej opinii (i słusznie!), to można ich podać jeszcze parę.

Jednym z częstszych ograniczeń biznesowych dotyczących projektów IT (szczególnie tych mniejszych lub średnich) jest dostępność infrastruktury serwerowej. W dobie chmur i serwerów VPN, coraz więcej projektów nie nakłada dodatkowych obostrzeń przy wyborze technologii, jednak dobrze wiemy, że nie wszyscy odnajdują się lub mogą sobie pozwolić na tego typu usługi. Nadal popularni są dostawcy hostingów, oferujący gotowe miejsce na serwerze oraz podstawowe oprogramowanie potrzebne do postawienia aplikacji internetowej. Na taką opcję bardzo często decydują się klienci i musimy to uszanować, a to oznacza, że w wielu przypadkach projekty są ograniczone do PHP oraz MySQL. Krótko mówiąc – czasem programiści nie mają wyboru.

Innym powodem jest nie do końca słuszny wizerunek PHP jako „brzydkiego” języka programowania, który hołduje złym praktykom. Z tym można się zgodzić, ale tylko połowicznie. Otóż, mówiąc o języku, że prowadzi do złego kodu, zawierającego wiele tzw. przykrych zapachów, bierzemy pod uwagę konkretne przykłady aplikacji napisanych w tej technologii. Jak już wiemy, PHP jest bardzo popularny, co oznacza, że powstało na nim wiele stron napisanych przez bardzo różne osoby – także amatorów i ludzi, którzy po prostu potrzebowali czegoś na szybko, a ten język to umożliwiał. W takim wypadku faktycznie, większość systemów opartych o tę technologię będzie napisanych brzydko, gdyż zwyczajnie nikt w nich nie dbał o kod (z braku umiejętności pod czasu). Natomiast należy pamiętać, że profesjonaliści potrafią pisać bardzo ładny, obiektowy kod PHP, testy jednostkowe oraz stosować inne techniki ogólnie pojmowane za przyczyniające się do wzrostu jakości oprogramowania. Oczywiście, nadal można napisać coś szybko i brzydko, ale należy pamiętać również o drugiej stronie medalu.

Trzecim i ostatnim przywołanym w tym tekście powodem jest dostępność wielu rozszerzeń i frameworków wspierających systemy pisane w PHP. Przez lata wypracowano wiele użytecznych bibliotek i rozwiązań, dzięki którym tworzenie aplikacji internetowych staje się prostsze i bardziej przystępne. Wielka baza dodatków, dokumentacji, dyskusji na forach – to wszystko sprawia, że PHP nadal się liczy.

Naturalnie, w żadnym wypadku nie oznacza to, że należy pomijać podejścia wykorzystujące Node.js, Ruby, Pythona, Go czy inne. Jak już wspomniano wcześniej – wszystko może być użyteczne w odpowiednim kontekście, a wymienione języki równiez posiadają bogatą społeczność i rozszerzenia. Warto jednak od czasu do czasu zajrzeć do znanego powszechnie PHP i zobaczyć, czy jego wykorzystanie nie będzie pożądane w rozpatrywanym przez nas oprogramowaniu webowym.

Tagi: , ,

mindseater