Já v přechodu mezi PHP 5 a PHP 7 neměl nějaký zvláštní problém, PHP 7 jsem nasazoval celkem brzo a dle statistik jsem nebyl sám. A nevzpomínám si, že bych nějak výrazně předělával projekty. O zpětné kompatibilitě bychom mohli polemizovat roky, já měl například větší problémy mezi Pythonem 2 a 3 než mezi PHP 5 a PHP 7. Zpětná komatibilita, to rozhodně není u PHP tak výrazný problém (v porovnání s ostatními projekty).
Python provedl za posledních 10-15 let provedl jednu jedinou nekompatibilní změnu, z Pythonu 2 na 3. Nutno říci, že jazyk byl značně pročištěn a vylepšen, byť změna nebyla zcela nutná. Já sám jsem to komentoval nelibě.
K PHP jsem se dostal někde na rozhraní PHP/FI, PHP 3. Od té doby je to jedna nekompatibilní změna za druhou. Největší průšvih byl asi přechod PHP 4 na PHP 5. To byl takový průšvih i pro autory PHP, že sami ztratili odvahu. Přechod trval obrovskou spoustu let.
Aby ospravedlnili další změny, slíbili že v příští verzi PHP 6 bude konečně ten datový typ "textový řetězec" (věc, kterou má Python či Java od samého začátku, ale PHP dodnes chybí). Dopadlo to tak, že žádný "textový řetězec" není dodnes. A verze PHP 6 byla přeskočena, protože autoři jazyka dali k dispozici tuny a tuny materiálů, jak bude vypadat PHP 6 - že vyšlo tisíce knih na téma PHP 6.
V každé verzi mizí řada knihoven, takže přepisům zdrojového kódu se nejde vyhnout.
... hateři PHP se do toho vlákna vtírají a otravují ostatní tím, že vytrubují do světa nesmysly o PHP. Sám moc dobře víte, že každý jazyk má své slabiny a že pro každý se dá udělat seznam věcí, které prostě nefungují dobře.
Já hlavně nemám rád nálepkování "hateři" a "nesmysly", aniž by byly věcné argumenty.
Tazatel se ptal, jaký webový framework zvolit, že dělá PHP a láká ho Python. Pak je naprosto přirozené, že mu lidi radí přechod od PHP k tomu Pythonu. Protože po všech stránkách je to lepší řešení - na web i jinam.
PHP jazyk těžce zaspal. Python nabízí zcela základní a samozřejmé věci, které na web potřebujete:
1) Má textový řetězec jako datový typ, a propracovanou práci s textovými řetězci přímo v jazyce. Web je o práci s texty.
2) Python se překládá do binární podoby jen jednou, nikoli při každém spuštění. Nesnižuje se tedy drasticky výkon webového serveru jen proto, že každý request znamená nový překlad zdrojáků.
3) Python má ladící nástroje už v základním balíčku. Zato PHP v základním balíčku vypadá spíše jako standard IT roku 1950 podle své vybavenosti.
4) Python může běžet tak, že nemusí nutně končit všechny objekty s requestem. U PHP kromě persistentního database connection a serializovaného ukládání bajtového řetězce někam nic takového.
Atd. atd. atd.
PHP ani ve verzi 7 neřeší základní problémy webového vývoje, tedy toho, na co je určen. Ono je hrozně fajn, že každá další verze je rychlejší než předchozí, když to zároveň PHP výkonově zatluče překladem zdrojových kódů při každém requestu, a nutností budovat všechny objekty znovu od začátku při každém requestu. V roce 2018 už je to výsměch do očí programátorům, to se na mě nezlobte.
Ve své podstatě PHP frameworky do značné míry řeší nedostatečnosti PHP jazyka.
Zuckerberg napsal něco v PHP a výsledek je takový, že je 5. nejbohatší muž na světě. Jeho projekt v PHP byl a je výdělečný. Tečka.
Protože v roce 2004 byla PHP verze 4 docela dobrá volba. Dnes by zvolil něco jiného. To je to základní umění, zvolit dobré nástroje vhodné pro daný cíl a danou dobu.
Zuckerberg nakonec musel svou nevhodnou volbu řešit. Takže si buďte jist, že žádný facebook na současném PHP interpretru, který si stáhnete z
www.php.net neběží.
-- PHP je tak nevhodný, že každý větší projekt, který PHP použil musel řešit těžké a drastické problémy zejména s výkonností.
1) Facebook je řešil tak, že si napsal vlastní překladač ze své verze PHP do C++. Takže nakonec přeložil zdrojáky kompilátorem C++, a tak to dnes běží. Tím mimo jiné vyřešil i to, že mu autoři PHP neustále přepisují PHP jazyk pod rukama, což už Zuckerberga nemusí trápit.
2) Wikipedii si nakonec napsala vlastní optimalizovaný PHP interpretr. Ale i tak potřebuje mnohonásobek serverů, než kdyby wikipedii běžela v rozumnějším nástroji než PHP.