PHP nie idzie w dobrym kierunku. Niestety, "moving on" | DailyWeb.pl

PHP nie idzie w dobrym kierunku. Niestety, "moving on"

Opublikowano 6 lat temu - 5


Z PHP jestem niemal od samego początku istnienia tego języka. Doceniam go za prostotę tworzenia aplikacji oraz dużą ilość dostępnych w Sieci materiałów. Niestety, w przypadku tego języka popularność nie idzie w parze z jakością.

Wady w PHP zacząłem dostrzegać już stosunkowo dawno. Na początku chodziło o błahostki - brak możliwości zarządzania pamięcią, itd. Potem jednak, gdy w PHP 4 wprowadzono "jakoś działające" obiekty, zacząłem dostrzegać poważniejsze problemy. Brak wielodziedziczenia jest chyba najpoważniejszy. To jednak nie wszystko. W porównaniu z takimi gigantami jak C++, lub - jeśli już mówimy o językach interpretowanych - Pythonem, PHP wypada naprawdę słabo.

Za PHP przemawiać może fakt, że stworzonych jest w nim wiele potężnych serwisów, m.in. Facebook lub polskie Allegro. Nie oznacza to jednak, że są one wydajne i bezpieczne.
Jako webdeveloper z różnymi językami mam do czynienia  każdego dnia. Poprawki, rozbudowa, modyfikacje. Często jednak, gdy patrzę na kody serwisów dla których aktualnie pracuję mam ochotę złapać się za głowę.
Brak wcięć, brak jakichkolwiek zalążków ponownego wykorzystania kodu. PHP charakteryzuje się tym, że będzie działać o ile kod będzie bezbłędny. Nie oznacza to, że kod będzie napisany dobrze i wydajnie.

Weźmy wspomnianego przeze mnie wcześniej Pythona. Wspaniały język, w którym kod zawsze będzie wyglądał ładnie. Dlaczego? Bo Python interpretuje wcięcia!
Wiele osób może uznać to za wadę. Nieprawda! Dzięki temu nasz kod pozostanie utrzymany w porządku i - przede wszystkim - nie pogubimy się w klamrach. Każdy programista PHP, C++, itp. na pewno miał kiedyś taki problem. Python ma na niego rozwiązanie - wcięcia.

Inną rzeczą, nad którą warto się zastanowić jest to, jak PHP jest rozwijany. Wersja 5.4 jest tuż za rogiem a co w niej debiutuje? Cóż... największą nowością jest prawdopodobnie odwoływanie się do metody w momencie tworzenia instancji obiektu ($x = new JakasKlasa()->metoda();). To też świadczy o tym, że PHP stoi w miejscu, mimo że właśnie teraz, gdy coraz więcej osób zaczyna interesować się programowaniem powinien pokazywać, że to on jest no. 1 i żaden inny język mu nie podskoczy.

Praca nad serwisem #TweetWrapper™ uświadomiła mi, że utrzymanie czystości w kodzie, który ma pracować przede wszystkim szybko i wydajnie, ale który napisany jest w PHP, jest bardzo, bardzo trudne. Nie pomogą tu frameworki ani klasy ułatwiające programowanie. Czas zmienić mój domyślny język programowania. Prawdopodobnie padnie na Pythona - język, który od zawsze cenię.