Moim zdaniem przyszłośćdla php jest, niestety nie rysuje sę ona w różowych barwach. Dlaczego? Wciąż welu programistów wynajduje koło na nowo. Tak bardzo typowe dla php jest powielanie przez wszystkich kodu który setki razy był napsany. Są świetne biblioteki, niestety wiele osób z nich nie korzysta, znakomite frameworki do nikogo nie docierają bo są zbyt mało popularne bądź źle udokumentowane.
Patrząc na kod php trudno nie zauważyć, że często - nie okłamujmy się - tworzą go dzieci. Gimnazjaliści, licealiści którzy dzięki rostocie php zostawiają w kodzie śmietnik jakiego mało. Oczywiśce, żaden język nie jest wolny od takich osób, ale tworzących w ten sposób w php jest bardzo wiele.
Jeśli w PHPowcy będą dalej trwać w swych przekonaniach i pisać wszystko na nowo nie wygrają walki z czasem.
Zend Framework w chwil obecnej uznaję za dziejową pomyłkę, ponieważ nic nie wnosi do tematu, powiela istniejące rozwiązania a przede wszystkim jest tworzony zbyt późno.
Czy php rozwija się szybko? Hm.. względem Ruby i całego boomu który teraz na niego jest - nie, rozwija się bardzo wolno. W chwili obecnej Ruby dostał turbodopalacza właśnie dzięki Rails. W chwili obecnej ciężko określić czy ktoś taki dopalacz da php. Skoro ZF nim nie będzie, to co? Jeżeli już mówimy o prędkości rozwijania się php to dlaczego w PHP5 dodano type-hinting ale tylko dla typów obiektowych a nie dla prostych? W php 5.1 dodano do type hintingu bodajże tablice. Pełny type hinting ma być dopiero w php 6. Mówiąc o PHP5 można wspomnieć również o interfejsach. Wprowadzono standardową nazwę konstruktorów ale w interfejsach nie można wymusić konstruktora. Dlaczego? Nie wiadomo, będze to dopiero w 6.
Patrząc na PHP6 - znowu zostanie wprowadzona obsługa var, które w 5 powoduje błąd E_STRICT wstecznictwo? pomyłka? brak przemyślenia?
W PHP6 ma być pełne wsparcie dla UTF-8, ale czemu do ciężkiej cholery ma być możliwość jego włączania/wyłączania?
Dalej - ma być type-hinting dla wartości zwracanych, ale nie będze dla pól klas. Dlaczego? Bo to nie po PHPowemu. Wybaczcie, ale z jednej strony developerzy php dążą w kierunku stworzenia języka o ścisłej kontroli typów a z drugiej strony unikają podstawowej kontroli typów zmiennych i pól w klasach.
Skoro mówmy już o obiektówce. W php jest możliwa absurdalna sytuacja, gdzie interfejs klasy pochodnej nie pokrywa się z interfejsem klasy bazowej (chodzi mi tutaj o argumenty przy metodach). Owszem, można wymusić to metodą abstrakcyjną, ale, co jeśli w metodzie pochodnej chce wywołać parent:: bo nie chce powielić całego kodu metody?
Developerzy php wciąż tkwią w błędach, które ciągną od początku - nie chcą zrobić porządku w nazewnictwie funkcji i kolejności argumentów. W kodzie źródłowym php też porządku nader wielkiego nie ma.
Są również kroki, które mają na celu zrobienie z php języka do wszystkiego, co jest totalną pomyłką. Dlaczego? Dlatego, że do tego nie zostało stworzone. Aplikacje okienkowe zostawmy językom, które do tego zostały stworzone. Jeśli ktoś chce wszystko zrobić w php bo mu łatwiej, nawet GUI to przepraszam co to jest? To jest po prostu lenistwo i brak chęci (bądź strach) przed poznaniem nowych technologi. php ngdy nie był językiem do wszystkiego i nigdy nim nie będzie.
Owszem można mówić, że społeczność php jest wielka, ale jak się ona zachowa gdy pojawi się coś lepszego (czyżby wspominany wcześniej Ruby?). Pozostaną początkujący oraz garstka narwańców którzy będą w dalszym ciągu tworzyć w php.
Proszę nie odczytywać tego jako ataku na php. Kocham ten język, ale mimo wszystko nie chcę w nim cały czas tkwić. Myślę, że są języki lepsze od php i ich nie poznanie jest błędem. Nie tylko samym php człowiek żyje, a uczymy się całe życie.
ps. Cieszy mnie to, że ktoś zagląda do mojego bloga.