PHP je možná beznadějným jazykem, ale je o dost pohodlnější než Java a C# dohromady. Je také mnohem stručnější díky svému multiparadigmatickému přístupu. Jen se v něm nesmí programovat v javovském stylu - to je pak tragédie.
Pohodlnější leda na krátkej skript, jen tak vypíchnu pár věcí, co mě čim dál tim víc vytáčej, většina vyplývá z typování:
- Řetězec ani pole není objekt, takže ti znemožňuje řetězcový volání jako např.
myArray.filter(x => x.length > 10).map(x => x.trim()), ale musíš funkce do sebe absolutně nepřehleně zanořit, nebo pro každý volání napsat novej řádek s přiřazenim
- Typy se píšou do bezcennejch komentářů ("anotací") a chybu se dozvíš až za běhu, né jako u staticky typovanejch jazyků, že ti to IDE ukáže. Takže pro to co je v Java/C# pěkně defaultně, ty musíš použít nástroj jako je PHPStan/Phan.
- Typehinty neumí pokročilejší výrazy, např. array<string>, ale musí se to zdlouhavě psát do komentářů
- Anotace je zvykem dělat zdlouhavě /** */ a roztáhnout minimálně na 3 řádky oproti jednoduchýmu @Anotace nebo [Anotace]
- Absence statickýho typování tě nutí myslet na typy. Je taky složitější nastudovat cizí kód.
- Nevim jak ostatní, ale já se trochu bojim používat ===, protože v PHP kdoví v jakym typu číslo přiletí a vznikne logická chyba..
- Minule jsem potřeboval poslat asynchronní dotaz do DB a zpracovat výsledek... Zatímto v JS/C#/Java je asynchronní volání IO operace samozřejmost, v PHP je to neskutečnej problém (když nepočítáme HTTP request). Navíc chybí výrobná async await konstrukce
- Výkon se samozřejmě nedá porovnávat s kompilovanym jazykem, i když nový PHP už je na tom líp než superpomalej Python
Fakt ti ani jedna z těch věcí nevadí?
Když někdo programuje delší dobu, tak snad musí pociťovat, že PHP na seriozní vývoj neni moc vhodný.