Technologie i narzędzia: język PHP 5, Java, JavaScript, Python, system Zend Framework, Django, biblioteka jQuery, Smarty, platforma Eclipse, MySQL, SVN, CVS, UML, Firefox.
WebProgramming - wszystko o serwisach internetowych
O serwisach internetowych.
[php] Jaki kierunek język PHP powinien obrać?
Do największych bolączek programistów PHP (moim zdaniem) do tej pory można było zaliczyć:
- Niezgodność nazw funkcji, mało spójne API.
- Brak oficjalnego frameworka.
- Wydajność aplikacji.
Czy coś się zmieniło? Postanowiłem przeanalizować aktualną sytuację w ramach w/w punktów
- Niezgodność nazw funkcji (np. strpos, str_replace), mało spójne API (kolejność parametrów w funkcjach operujących na napisach).
Niestety dopóki autorzy interpretatora będą chcieli zachować zgodność z poprzednimi wersjami PHP dopóty ten problem nie zniknie. Według mnie przyszedł czas na odświeżenie podstawowych funkcji i metod i ujednolicenie wszystkiego, nawet kosztem kompatybilności. W szczególnym przypadku można stworzyć nowe, spójne funkcje/metody nie rezygnując ze starych (oznaczając je jednocześnie jako deprected). - Brak oficjalnego frameworka.
W ciągu kilku ostatnich lat powstało dużo frameworków dla PHP (CakePHP, PRADO, phpMVC itp.) jednak wszystkie były tworzone przez programistów “na własną rękę” - cześć z nich natomiast było przeszczepieniem znanego frameworka w określonej technologii (np. Java) do środowiska PHP (np. phpMVC było inspirowane frameworkiem Struts) - niestety nie zawsze udanym. Całe szczęście firma, która najbardziej jest związana z PHP (czyli Zend) przebudziła się ze śpiączki i stworzyła bardzo ciekawy system Zend Framework (o świetnej dokumentacji i bardzo fajnej budowie). Jest to według mnie bardzo jasne światełko w tunelu, do którego śmiało można podążać. - Wydajność aplikacji.
Bardzo często mówi się o wydajności aplikacji napisanych w PHP, niestety w porównaniu z niektórymi językami wydajność może okazać się trochę mniejsza (głównie ze względu na fakt, iż język Java, Python są kompilowane do kodu pośredniego). Jednak dzięki akceleratorom takim jak “Zend Optimalizer”, “eAccelerator”, czy też “Alternative PHP Cache” wydajność ta drastycznie wzrasta, w związku z czym różnice wydajności również drastycznie maleją. Co ciekawsze ostatni z wymienionych ma być dostępny domyślnie wraz z PHP 6… pytanie tylko kiedy ona będzie oficjalnie wydana.
Jak widać póki co tylko punkt pierwszy nie jest “ruszony”, w związku z czym pozostaje nam albo korzystanie z dostępnych funkcji (korzystając z pomocy Eclipse można się nawet do nich przyzwyczaić ;)) albo opakowanie ich w bardziej przystępny (na przykład obiektowy) sposób.
Nie ulega jednak wątpliwości, iż do walki ruszyły dwa dość ciekawe języki (mam tutaj na myśli oczywiście Python ze swoim Django oraz Ruby wraz z Ruby on Rails) w związku z czym PHP musi coraz bardziej walczyć jeżeli nie chce stracić swoich zwolenników.
PS. Czy pominąłem coś, co powinno się znaleźć na tej liście?
Napisz komentarz