Lehké mudrování o tom, co se stane s PHP v blíže neurčené budoucnosti, aneb "mám se to tedy učit?"
2.2.2005 15:00 | Petr Zajíc | přečteno 37645×
Dnes se zamyslíme nad tím, jaké perspektivy nejspíše čekají jazyk
PHP a jaká budoucnost čeká ty, kdo tento jazyk ovládají. Nejsem
samozřejmě věštec, ale mnohé se dá vyčíst ze směru, jakým se tento
jazyk a komunita kolem něj v posledních několika letech vyvíjí.
Zejména v souvislosti s vydáním "pětkové" verze PHP je na webu k
dispozici mnoho článků, které se tak či onak zabývají směřováním PHP do
budoucna. Je to logické; vydání nové hlavní verze čehokoli,
programovací jazyk nevyjímaje, udává jasně směr, kterým se daná věc
bude ubírat. Pojďme si pro zpestření poukázat na některá zajímavější
místa na webu, která se tím zabývají nebo zabývala. Pokud si budete
články číst, doporučuji podívat se i na diskuse pod nimi. Mnohdy jsou
protichůdné a mnohdy jsou velmi zajímavé.
Pozn.: Jste-li milovníky historie,
můžete na internetu najít i články z doby, kdy se filozofovalo o
přechodu z PHP 3 na PHP 4. Uvidíte z toho dvě věci: 1) Mnoho argumentů
se vyřeší "samo" tím, že se nová verze používá, a 2) Diskuse kolem
přechodu PHP4->PHP5 jsou mnohem vášnivější, než byly diskuse u
přechodu z PHP3 na PHP4.
Při tom humbuku kolem PHP 5 bychom ale neměli zapomínat na jednu
věc: PHP se bude vyvíjet dál. Podpora dalších technologií se bude
zlepšovat (třeba XML, SOAP), možnosti jazyka se budou rozšiřovat
(strukturovaná správa výjimek, objekty) a jádro ZEND se asi bude rovněž
zrychlovat.
V té záplavě informací o budoucnosti PHP bych si dovolil být
optimistou. PHP 5 samozřejmě nemá všechny vlastnosti, po nichž vývojáři
volali, ale některé má. Jiné se připravují. Další osud PHP bych
rozhodně neviděl černě. Komunita kolem něj je obrovská a existují
životaschopné projekty psané v PHP, které hned tak nezaniknou.
Jiná otázka je, zda se PHP "vypracuje" na jazyk, v němž bude možné
vyvíjet i ty největší internetové aplikace. To si netroufám odhadnout;
v očích mnoha odborníků je totiž PHP dodnes považováno za záležitost
pro "malé až střední" projekty. Už sama definice toho, co to je "malý
až střední" projekt je samozřejmě obtížná. Nicméně, úměrně tomu, jak se
budou v PHP zlepšovat podmínky pro práci s objekty, budou se i zvyšovat
jeho možnosti pro nasazení na "velkých" věcech.
Pozn.: To je logické. Každý velký
projekt totiž skončí u objektů, protože procedurální programování
nemůže nabídnout takový stupeň znovupoužitelnosti kódu a flexibility,
jaký je pro vývoj mamutích aplikací potřeba.
Abychom pochopili, jaké má PHP vyhlídky, můžeme se rovněž krátce
zamyslet nad jeho alternativami. Pro vývoj webu to může být například
Perl nebo Python. Oba tyto jazyky jsou v mnoha ohledech dále než
samotné PHP (ve zmiňovaných objektech, například). Problémem je však
jejich nízká rozšířenost na komerčních hostinzích. Dostáváme se tak
vlastně do bludného kruhu.
Pro provoz aplikací na platformě Windows se kdysi používal jazyk ASP
(active server pages). Vypadá to, že byl s nástupem PHP zatlačen
poněkud do pozadí, navíc není přenositelný na jiný server a musí běžet
na Microsoft Internet Information serveru, tedy na Windows.
Nejvážnějšími konkurenty pro PHP se pak stávají "zbraně těžkého
kalibru", jako je platforma .NET (se svým ASP.NET) či Java. V jistém
smyslu o nějakém srovnávání nemůže být ani řeč, protože jak .NET, tak
Java jsou skutečně platformy,
kdežto PHP je "jen" jazyk.
Domnívám se, že PHP nikdy nebude tak silné, aby mohlo konkurovat
například Javě - a myslím, že by se o to PHP ani nemělo snažit.
Jestliže uvažujeme o PHP, měli bychom rovněž přihlédnout k obecným
trendům ve tvorbě webu, protože tam se PHP uplatňuje nejčastěji.
(Konečně už) je pryč doba, kdy "letěly" weby přeplácané, nadupané
grafikou a animacemi a weby s pramalou informační hodnotou. Význam
získávají weby jednoduché na orientaci, přehledné, čtivé. PHP samo o
sobě samozřejmě můžete použít jak ke tvorbě webu hezkého a čtivého, tak
i ke spáchání webdesignérského paskvilu prvního stupně.
Ale o to nejde. Zdá se totiž, že na popularitě získávají
"předpřipravená" řešení typu různých CMS (content managemet systems,
systémů pro správu obsahu). Není divu, tyto systémy mají mnoho výhod -
od tolik potřebné možnosti oddělit obsah webu od jeho formy, přes
možnost práce více uživatelů na obsahu, centrální správu, až třeba po
rychlost, s jakou mohou tato řešení být nasazena do praxe.
Pozn.: Můžete se přesvědčit sami, o CMS
máme totiž na Linuxsoftu seriál.
A právě - naprostá většina alespoň těch nejznámějších redakčních
systémů je napsaná v PHP. Zdá se, že to je přesně segment, v němž PHP
plní svou úlohu velmi dobře - a že to je oblast, v níž se síly a
kvalita tohoto jazyka budou i nadále projevovat. PHP tedy budete moci
použít jak pro napsání takového
software, tak i pro jeho uživatelské úpravy
(pokud vám to umožní příslušná licence).
... tolikrát jsi člověkem. Tohle v oblasti počítačů neplatí. Každý
jazyk je totiž primárně určen na něco jiného, má své silné a slabé
stránky a při jeho používání se stanete "mistrem" až za nějakou dobu.
Jestliže budete chtít kromě PHP umět i jiné programovací jazyky, nebo
jestliže se kromě jiných programovacích jazyků budete chtít naučit PHP,
možná vezmete zavděk nísledující postřehy:
Pakliže jste se naučili PHP, a chtěli byste pokračovat nějakým
"vyšším" programovacím jazykem, máte v podstatě dvě možnosti: "céčko"
nebo Javu. Rozebírat výhody a nevýhody těchto jazyků nebo je srovnávat
je již nad rámec naší úvahy; každopádně vás možná potěší, že oba jazyky
mají s PHP trochu společné syntaxe. Mám tím na mysli to, že některé
části kódu psané v Javě nebo C byste tedy mohli pochopit pomocí
znalostí, které máte z PHP.