Par vychytavek PHP (vycuc z /r/lolphp):
...
Uprimne nechapu, jak nekdo muze obhajovat takto neprofesionalne vyvijeny jazyk. Co me zarazi, ze mel tolik casu napravit chyby, ale oni radeji pridavaji dalsi. Napr. takovy JavaScript jde opracnou cestou - postupne se jazyk zlepsuje.
Z mého pohledu to jsou zvěrstva, které v běžné aplikaci nemají co pohledávat. Když někdo použije takový hnus, tak se nemůže divit, že se to chová podivně. Podivně se v PHP chová například typ boolean. Už léta ho nepoužívám, protože mi připadá v dnešní době zbytečný. Kdo ho používá, tak se občas diví.
PHP má za sebou živelný vývoj - je to jeho významné mínus. Bývá však k dispozici prakticky na každém webovém serveru a při dodržování jakési kultury programování se na uvedené problémy ani nenarazí. Zbytek odchytí testy. V PHP se mi programuje mnohem pohodlněji, než například v Javě.
To co popisujes ale znaci spatnou kvalitu jazyka
.
Namatkou par dalsich perel:
- ve standardni knihovne obsahuje funkce, ktere maji
zamerne neopravene bezpecnosti chyby (zpetna kompatibilita FTW)
- jeden typ je podle autora PHP
optimalizovany na pouziti jako pole, vektor, hashmapa, slovnik, kolekce, zasobnik i fronta
-
automaticke pretypovani je
proste genialni- std knihovna je hrozna, bohuzel ne jen jmena jsou problem - napr. "sleep() returns 0 on success, FALSE on error, or when interrupted by a signal returns number of remaining seconds
except on Windows where it returns 192"
Kdyby byl Python nepouzitelny jazyk, jak tvrdis, tak ho nikdo nebude pouzivat, ale on je naopak siroce pouzivany.
Staci se podivat na PHP. Jazyk, ktery mel byt utracen davno (hrozna "specifikace", jazyk i interpret), je to jako splacane od zacinajiciho studentika VS, presto tu dal uspesne preziva. Kvalita nema bohuzel s popularitou nic spolecneho.
Python na me povetsinou pusobi naopak kvalitne (no, veci okolo objektu me moc nesedi, napr. ty __háky__, ale asi spis vec zvyku), akorat je na muj vkus prilis ukecany.
Ja ho naopak preferuji a uprednostnuji kde muzu a nemusim naopak Javu, ktera me osobne prijde celkove tezkopadna a neohrabana.
Python me prijde stejne neohrabany jako Java. Moc to nesleduju, ale Java 8 myslim prinasela dost FP veci, coz vede k mnohem jednodussimu kodu. Osobne me prijde Scala jako dobry kompromis mezi uplatnitelnosti (JVM) a "krasou" jazyka (velmi jednoduse zapsane slozite veci, podpora DSL, FP atd).
V Pythonu me vadi velke mnozstvi boilerplatu (napr. @property, @staticmethod, lambda, nenasel jsem zpusob, jak lehce retezit volani funkci, takze pokusy o FP styl pusobi hrozne) a kod celkove pusobi roztahane.
Samozrejme na Haskell, co se tyce "krasy" a strucnosti, as nic moc nema*. A to jsem v nem "noob", pamatuji si ho pouze ze skoly. Ale uz i jen ty zaklady byly nezapomenutelne (pro ostatni studenty spise v tom spatnem slova smyslu
).
*: Resp. nic lepsiho jsem jeste nevidel. Pokud neco znate, tak sem s tim.
A naopak, moznost program casto a co nejdriv spoustet je jedna z vyhod interpretovanych jazyku.
Vzhledem k tomu, ze existuji inkrementalni prekladace (tusim ze jej ma Java i Scala a urcite mnoho dalsich), tak tohle je standard, ne vyhoda. Stejne tak i kompilovana Scala ma REPL, take to neni vyhrada Pythonu nebo interpretovanych jazyku.