Java je neoblíbená především u lidí, kteří "programují pro zábavu". Ten jazyk je sice čistý, ale programy v něm jsou pohádka na dobrou noc. V C# a v PHP např. můžu předat anonymní funkci jako argument do jiné funkce, v Javě musím vytvořit novou třídu (naštěstí stačí anonymní), která implementuje rozhraní IRunnable a tu teprve předat.
V C# můžu vzít kolekci a transformovat ji na jinou (kolekce.Select(...)), stejně tak v PHP (array_map(...)). V Javě to udělat nelze - je třeba vytvořit instanci nové kolekce, foreachem projít původní a přidávat prvek po prvku do té nové.
Místo použití .Net třídy ObservableCollection, která všem objektům, které o to mají zájem, dá pomocí eventů echo o tom, že se do ní přidaly / z ní odebraly prvky, musím v Javě řešit přes ObserverPattern. Srovnej třídu přímo v .Netu
http://msdn.microsoft.com/cs-cz/library/ms668604.aspx a v ApacheCommons (která sice není součástí Javy, ale mnoho lidí ji bere jako "základní knihovnu", asi jako boost u C++)
http://commons.apache.org/dormant/events/apidocs/org/apache/commons/events/observable/ObservableCollection.html Atd... je toho hodně.
Takto se dá pokračovat. Zatímco jazyk PHP je prasárna a nic víc než zpropadená prasárna, rychlost vývoje je vyšší a u drobných aplikací máš menší paměťové nároky a kratší (= čitelnější a přehlednější) kód. Upřímně (přestože jsem full-time C# vývojář), PHP jsme na jeden projekt použili taky: Win8 Store aplikačka si potřebuje zjistit, odkud si stáhnout data a někam uložit adresu notifikačního kanálu. Nemá smysl kvůli tomu rozbíhat JavaEE server nebo platit za další Azure server, když pro těch pár tisíc uživatelů stačí malá databáze a něco, co může komunikovat přes REST "protokol". A strčit "ven" další linuxový server s PHP a deploynout projekt je téměř zadarmo. O Javu se musíš starat přece jenom víc. Výhody Javy se projeví až na větších projektech, které ale většina nadšenců nedělá, neb by jim to zabralo víkendy na několik let dopředu. A právě tito lidé (často to ani nejsou profi programátoři; mnozí z nich ani nepracují v IT a nemají IT vzdělání) jsou nejvíce vidět na diskusních fórech. Pro ně je ideální právě PHP a proto to vypadá, že JavaEE je neoblíbená a PHP velmi oblíbené, ačkoliv u profesionálů je pravdou přesný opak.
Pokud Ty se nechceš JavouEE živit, tak spíš než na JSP, které jsou hodně low-level (podobně jako čisté PHP bez frameworku), se můžeš zkusit zaměřit na nějaký high-level framework: mně na školní projekt kdysi celkem sedlo tohle:
http://wicket.apache.org/ . Případně na Grails (
http://www.grails.org/), což je framework pro Groovy. Groovy je druhý ze dvou oficiálních jazyků pro Java Virtual Machine (první je samozřejmě Java), jedná se o dynamický jazyk, ve kterém se mně osobně pracuje podobně (ne)příjemně jako v C#. Java je opravdu velmi rozvláčná a existuje jedna pravda, že programový kód je to místo, kde jsou chyby. Proto ho piš co nejméně, k čemuž Groovy pomůže. Případně můžeš zkusit jazyk jménem Clojure (taky běží na JVM) - získáš ještě přehlednější a kratší kód (byť si na ten jazyk musíš nejprve zvyknout, přeci jen je to odnož LISP-1) a webové framewroky jsou pro něj taky.
A přestože si na to mnoho vývojářů-nadšenců nepotrpí, tak pro Javu/Groovy lze sehnat lepší vývojová prostředí. NetBeans je dobrý základ, Eclipse má pluginy pro všechno (i když pohodlnost použití pro vývojáře pokulhává) a hlavně IntelliJ IDEA, za kterou se sice platí, ale je úplně the best. Nic takového pro PHP neseženeš a usnadní to hodně práce.