Pět věcí, které nasnáším na PHP

Z mj41.cz

Článek ze série Pět věcí, které nasnáším na .... Pohled programátora Perlu, který se posledních několik let živí programováním v PHP.

Obsah

Nemožnost deklarovat proměnné

Překlep v názvu proměnné se dají ve vlastním kódu obejít použitím E_NOTICE. V cizím kódu kdy po zapnutí E_NOTICE na vás kompilátor vychrlí stovky upozornění je to mnohem obtížnější a chybami tohoto typu se občas zbytečně zdržíte.

Druhý záludnější problém vzníká při použití již existující proměnné někde ve vnořeném bloku pro něco úplně jiného, čímž si přepíšete původní hodnotu. Tomto problém je obecně méně častý. Dodržování pravidla, že jeden blok kódu (jedna funkce) by neměla být delší než jedna obrazovka a vybíráním dosti přesných názvů proměnných se jeho četnost dále snižuje. Bohužel, když se objeví (po někom tuto chybu opravujete nebo někde něco dopíšete a ono to jde celé do kytek), tak vám může dát pořádně zabrat.

Chybějící jmenné prostory

Když nepoužíváte objekty, tak nemáte možnost jak psát moduly a balíky, používáte vše z jedné hromady a před názvy dávate prefixy.

Nikdo nepoužívá E_NOTICE

Tento bod souvisí s bodem jedna. Chyby vznikající z překlepů a tím, že někde chybí data, se velmi špatně hledají. Při použití neošetřeného cizího kódu (včetně knihoven) to pak "stoji" za to. Bohužel 9 z 10 PHP programátorů (včetně např. Jakuba Vrány) doporučují E_NOTICE nepoužívat. Vysvětlujte pak v týmu, že v případě větších projektů, jako je ten náš tohle už neplatí.

Kvalita

Návrh samotného jazyka, pokud se dá vůbec říci, že tento jazyk někdo navrhl je hrozný. Množství funkcí na jedné hromadě, navíc s nekonzistentním pojmenováním. Navíc mi připadá, že kvalita implementace neroste, ale kolísá. Málo testových případů, bezpečnostní problémy to vše mě vede k následujícímu bodu ...

Na Perl nemá

Jsem perfekcionista, kdyby to šlo tak se raději naučím jeden programovací jazyk pořádně, včetně jeho internals (vnitřností). I když má Perlu své vlastní nedostatky a já již slušně okusil PHP, tak nadále zůstávám fandou Perlu. Méně markantní nedostatky, CPAN, snadná dostupnost na mnoha platformách, pohodlné a mocnější regulární výrazy, jednoduchost psaní skriptů, to vše jsou plusy pro Perl a místa kde PHP ztrácí body.

Související stránky

Externí odkazy

spřízněné weby
Jazyk