Už zase? PanKapitán nám zase udělal přednášku o tom jak je PHP k ničemu a že všichni kdo se jím zabývají jsou lepiči po vzoru CTRL+C(izí) a CTRL+V(lastní). Výborně! Tleskám.
A teď vážně. Už jednou jsem s ním nesouhlasil a budu znova. Navíc čím dál víc mě ujišťuje v názoru, že v PHP nikdy nic nedělal, proto by se k tématu, podle mého, neměl vyjadřovat. Minimálně ne tímto způsobem. S PHP dělám víc než 10 let (a nějaký ten rok i Javu), tudíž si dovolím tvrdit, že o PHP něco vím. Už jednou jsme tu měli přirovnání Mercedesu (Java) a Trabantu (PHP). Když jsem se ptal, co za web aplikaci nejde v PHP napsat a v Javě ano, tak nikdo neodpověděl. Ale jedovatý slinty lítají pořád.
"Zatímco v řadě jazyků je obvyklé, že konstruktor třídy se jmenuje stejně, jako třída samotná, tak v PHP to je "function __construct()" a takových věcí je víc a víc."
Aha...hmmm a to je jako nepřekonatelný problém nebo co to je za argument? Mě se taky nelíbí v JavaScriptu
var promenna = jinaPromenna || false;
a taky kvůli tomu nezatracuju celej jazyk. Jazyk to umožňuje, někdo to tak chce používat tak ať. Nemusím je hned označovat za "prasiče" a "polo-programátory", ne?
"Zeptejte se PHP programátora na unit-testy a většinou řekně "Unity? To znám, to je nějaká knihovna ne?"... co na to říct."
No, že jste se setkal s blbcem.
BTW taky už jsem potkal 2 Javisty a ani jeden neznal JUnit...
"Je to tak, že programátor v J2EE dnes musí znát daleko víc věcí než chirurg provádějící operace mozku."
Ano, to je možná pravda, ale proč se mám učit takový kvanta informací, když drtivá většina webů na netu jsou malé nebo středně velké weby?
Proč si každý myslí, že bude dělat megaprojekty? A proč by na to nemělo stačit PHP? I ten už zmiňovaný a mnou proklínaný Facebook jede na PHP. Proč ho nepřepsali do Javy pokud byl čas když je PHP k ničemu? Co teda nejde napsat v tom PHP? Já to fakt nevím. Možná jsem nedosáhnul takových výšin jako vy... Psát běžné weby v J2EE je jako chodit s kanónem na vrabce.
Java měla dost času na to aby sesadila PHP z trůnu nejpoužívanějšího server-side jazyka a nikdy se jí to nepovedlo.
http://w3techs.com/technologies/overview/programming_language/all"PHP je jednoduché a na jednoduché věci přímo dělané.
Člověk nemusí chápat to, co je to model MVC a podobné věci, které jsou na "hraní" naprosto zbytečné."
Tohle jste snad nemyslel ani vážně...
Takže abych odpověděl tázajícímu:
Nejpoužívanějším jazykem je PHP. Není dokonalý, ani nijak zvlášť robustní, má své chyby (tak jako všechny ostatní jazyky), ale jde v něm udělat totéž co v jiných. Dokonce už jsem někde viděl web Javistů, kterej byl napsanej v PHP. To snad mluví samo za sebe. Jinak vážně záleží na tom, čeho chcete dosáhnout.
Výhody PHP
- není nouze o práci
- jednodušší na zvládnutí než Java
- rozšířenost (drtivá většina webů je postavěna na PHP)
- velký výběr hostingů (těch dobrých je jak šafránu)
- dostupnost zdrojů ke studiu (na Amazonu jde koupit výborný start do čistého PHP v podání Matta Zandstry - PHP 5 Objects, Patterns and Practice, zahrnuje úvod do OOP v PHP, práce s db, výjimky, návrhové vzory, jednotkové testy a UML)
Nevýhody PHP
- mraky tutoriálů, které jsou věnované procedurálnímu stylu nebo končí hned po představení proměnných a funkcí
- nejednotnost (jmenné konvence...)
- nižší finanční ohodnocení než v případě Javy
- člověk je navždy zařazen jako programátorský plebejec bez ohledu na to jak dobře svůj jazyk ovládá
- vždycky bude platit pravidlo, že bastlíř v Javě je víc než výborný programátor v PHP a bude muset poslouchat nadávky do "lepičů kódu", "polo-programátorů", "prasičů" apod. po celou dobu používání jazyka
Výhody Javy EE
- o práci není nouze
- Java EE se hodí více na velké projekty
- pravděpodobně odbornější komunita
- vyšší fin. ohodnocení
- stanete se lepším člověkem :-)
Nevýhody Javy EE
- o dost menší nabídka hostingů (těch dobrých je méně než šafránu)
- větší objem informací potřebných ke zvládnutí (víc než chirurg provádějící operace mozku)
- o Javu se stará firma Oracle, která se macešsky chová i k ostatním svým produktům (viz. MySQL) a pomalu je posílá do kopru
ASP.NET, Ruby atd. neznám, proto o nich nepíšu, ale zvažoval bych možná Python.