Je to skriptovací jazyk na tvoření home page ...
Nevím jak sledujete web posledních 25 let, ale těch prvních 20 byl veliký problém sehnat webhosting který by uměl nabídnout něco jiného než PHP. Ostatní řešení programování na straně serveru neuměla (z pohledu správce webhostingu) tak snadné oddělení jednotlivých stránek/zákazníků.
Je to jako videopřehrávače VHS vs. Beta - nejde o to nabídnout nejlepší technologii, ale tu "nejpoužitečnější".
No a PHP byla přesně to. Rychlá a snadná na nasazení na webhostingu, rychlá na naučení a nasazení pro uživatele.
Že v PHP vznikají molochy jako Wordpress, Drupal ... kde se musí hledat rovnák na vohejbák, aby ta "cloud enterprise application" držela pohromadě. Tak to není problém PHP ...
Zajímalo by mne jak se v tomhle světle díváte na JavaScript ...
Na JavaScript se dívám s absolutní hrůzou :)
V tom, proč se PHP ujalo, máte samozřejmě pravdu. To nic nemění na tom, že to není dobrá technologie - je to jenom technologie, kterou bylo a stále ještě je velice snadné nasadit. Proti Wordpressu, Dupalu apod celkem nic nemám, kdyby nic jiného, mají aspoň tu výhodu, že s nimi se člověk může prakticky vyhnout kontaktu se samotným PHP. Hlavní problém PHP je jazyk samotný, ani ne tolik nástroje, které kolem něj vznikly.
Ad Betamax vs VHS: to je otřelé klišé ale z velké části mýtus. Z několika hledisek bylo VHS lepší technologie, než Betamax.
„Proti [...] Dupalu [...] celkem nic nemám, kdyby nic jiného, mají aspoň tu výhodu, že s nimi se člověk může prakticky vyhnout kontaktu se samotným PHP.“
V případě Drupalu 8 si dovoluji silně nesouhlasit. Možná to platí v případě jednoduchých webů (blogů), ale oproti D6 jsem si spousty věcí musel doprogramovávat. Jistě, záleží na tom, co od toho člověk očekává a můžete namítnout, že autoři D8 nemají pod kontrolou rozsah pluginů třetích stran - - - ale vzhledem k tomu, že jako jedna z hlavních featur Drupalu se prezentují pluginy, tak pro běžného uživatele je to dost podstatný faktor...
Drupal 8 je uplne neco jinyho nez predchozi verze. Je to postavene na Symfony komponentach. By me zajimalo co sis musel tak moc doprogramovat oproti D6. BTW hlavni vyhoda je to, ze k tomu z velke casti je to jiz OOP dle Symfony style zatimco k D6 kdyz prisel programator se znalosti jakehokoliv frameworku tak netusil ktera bije.
„By me zajimalo co sis musel tak moc doprogramovat oproti D6.“
Popravdě, už jsem většinu z toho vytlačil z paměti, nicméně namátkou;A kromě doprogramování jsem se musel v PHP hrabat kvůli migracím. Dokumentace je tak omezená a chybové hlášky většinou chybí, nebo jsou totálně nevypovídající, že jsem nakonec debugoval samotný migrační kód, což mi dalo chybějící informace.
Ono vlastně ve chvíli, kdy chci po D8 (jak v případě jádra, tak modulů) cokoliv víc, než je popsáno v dokumentaci, která většinou pokrývá jen „první kroky“, se ukázalo debugování jako nejspolehlivější zdroj informací (tím druhým je samozřejmě Google).
Především kapacita záznamu. První trh mimo Japonsko, kde se videorekordéry začaly prodávat, byly USA a je známé, že americké publikum vzrušovala hlavně možnost si nahrávat zápasy NFL, kde jedno utkání může v pohodě trvat dvě nebo i tři hodiny. První generace Betamaxu dokázala na jednu kazetu nahrát maximálně 60 minut, což bylo v tomto případě nepoužitelné, kdežto VHS hned zpočátku nabízelo 120 nebo 180 minut, postupně i 240 minut.
Druhá věc byly seriály - Star Trek, Twilight Zone apod. Jedna epizoda trvala cca 45-50 minut, což by Betamax v principu umožňoval, jenže kazety byly zpočátku drahé, takže spotřebitelé byli radši, když si na jedu kazetu mohli během týdne nahrát tři a pak se na ně v klidu dívat o víkendě
Navíc videorekordéry VHS prakticky hned zpočátku uměly zvýšit rychlost pásku a nahrávat ve vyšší kvalitě (a připravit tak Betamax o svoji výhodu, nebo ji aspoň značně zmenšit), nebo naopak nahrávat ve snížené kvalitě, kde se na jednu kazetu vešly hodiny a hodiny záznamu. Sony potom uvedlo rekordér Betamax, který tohle měl taky, ale už bylo pozdě.
A kromě toho všeho VHS byla otevřená technologie, JVC poskytovalo licence každému, kdo měl zájem ho vyrábět, kdežto Betamax byl striktně proprietární. Krátce řečeno, VHS plnilo funkce, o které měli spotřebitelé zájem, Betamax je neplnil. VHS kromě toho nabízelo větší flexibiitu a navíc se velmi rychle stalo podstatně levnější.
Podle mě motáte jazyk a punkový patlaly a zároveň jste asi viděl naposled PHP před více než 10 lety. Třeba v Javě jsem viděl podstatně horší kód, než v PHP. Současné PHP už je dost striktní, umí typy skoro všude a kde ne, tam si to člověk (věřim, že) prozatim musí validovat sám, případně šáhnout po nějakym externim toolu, jako například Assertion.
Souhlasím s tim, že pro vývoj webových aplikací, kde se očekává větší nápor requestů, neni PHP ideologisticky ideální, vzhledem k tomu, že s každym requestem se načítá aplikace komplet celá, nicméně se v tom jazyce vyvíjí velmi rychle a dnešní trend je neřešit tolik optimalizace a nahánět to výpočetnim výkonem, protože je to cenově výhodnější.
... vzhledem k tomu, že s každym requestem se načítá aplikace komplet celá ...
Ani to už nemusí byť pravda, viď. PHP 7.4 opcache preloading.
https://wiki.php.net/rfc/preload
To mi připadá přehnané. Python, Ruby, Rust, Ada a další jsou celkem "ohrabané", každý svým způsobem. Mají svá omezení a žádný z nich není univerzální všelék, ale totéž platí o Haskellu. V určitých ohledech je Haskell nádhera, ale některé věci má taky strašně neohrabané nebo neelegantní.
11. 6. 2020, 05:02 editováno autorem komentáře
Mě třeba schází (v těch co jsem vyjmenoval) pattern matching, destructuring assignment, mocnější statické typy (v případě Pythonu ideová záležitost). Tím bych já oddělil jazyky sice dobré, ale přeci jen ne dost dobré (Java, C#, Python, PHP) od jazyků, které jsou mnohem lepší (Haskell, Scala, Elm, Rust).
Pattern matching a statické typy např. v Pythonu celkem nedávají smysl. Python je plně dynamický jazyk se všemi výhodami a nevýhodami, co to obnáší. Na OOP, modelování, metaprogramování, implementaci DSL, ale taky jako moderní nástupce BASICu (ve smyslu snadno použitelného jazyka, kde se dá všechno udělat narychlo a bez boilerplatu) je ideální, mnohem lepší, než kdy bude Haskell nebo Rust. Tam, kde požaduju statickou prokazatelnost nebo mocný typový systém, destrukturaci atd. pochopitelně použiju Haskell Rust, Scala apod.
Ten nejjednodušší pattern maching, tj. v podstatě jenom "switch" dejme tomu rozšířený i na řetězce, stylu
match blah:
'debil': ...
'blbecek': ...
_: ...
to mi skutečně v Pythonu často chybělo a upřímně řečeno nevím, proč to nemá. Destrukturační pattern matching nedává moc velký smysl, protože v Pythonu i objekty téže třídy můžou mít různé atributy a vlastně se chovat jinak. V Pythonu je taky velmi častý kachní polymorfismus, který si taky s destrukturací rozhodně moc nerozumí. Jistě, dá se to částečně ošetřit typovými anotacemi atd, jenže to mi připadá, že se tím už ztrácí to, v čem je síla Pythonu, a staticky typovaným jažykům jako je Rust a Haskell se to přitom nikdy nevyrovná,
"V době sdílených hostingů"
- - - - - - - - - -
Jakože dnes hostingy sdílené nejsou? Asi už jsi dlouho mimo obor, že?
btw. původní zprávička včera na lupě, stále je web z 80% na php a ještě hodně dlouho se nic v neprospěch php odehrávat nebude ;)
https://www.lupa.cz/aktuality/php-dnes-slavi-25-let-stale-je-nejpopularnejsim-jazykem-pro-tvorbu-webu/
tzn. když zohledním banky a korporáty, kde se kdysi zavrtali do javy a teď to musí udržovat senioři (myslím důchodce, ne nutně vždy zkušenosti..), tak to prostě v reálném světě webových aplikací nemá konkurenci..
9. 6. 2020, 15:56 editováno autorem komentáře