Je otázka, co znamená zvládám php. Nicméně Javu bych moc jako začáteční jazyk nedoporučoval, spíš bych právě doporučil ono C++. Ne jako konečnou, ale jako byť trochu "hardcore" start. Protože C++ ti dá základní náhled na to, jak věci fungujou uvnitř - a zároveň načichneš k objektům a zjistíš co a k čemu jsou.
Až poznáš, co jsou to objekty, pak je dost času přejít na javu, (ale třeba i jinam např. python... javascript, ...). Nevim, možná jsem staromódní, ale imho by každej programátor - a obzvlášť ten, co vyrost na php, měl zjistit, co to znamená porovnat dva řetězce, rozdělit je, co je to tabulka virtuálních metod apod. Aby nepsal jako čuník :-)
Pokud začneš javou, tak nepochopíš, proč je tam spousta věcí řešenejch tak, bude se Ti zdát zbytečně ukecaná a restriktivní, její výhody nepoznáš na jednoduchym projektu, ale na velký věci a na hromadě užitečnejch knihoven (Hibernate, Spring).
Zároveň bych vedle toho doporučoval nějaký přičichnutí k funkcionálním jazykům, dost triků z nich ulehčej programování (a v procedurálních jazycích často chyběj, bééé :-)). Něco je naštěstí i v novym php (např. vybereš z pole prvky splňující určitý kritérium pomocí
Kód:
$result=array()
foreach($pole as $prvek)
if(slozitapodminka) $result[]=$prvek;
return $result;
nebo
Kód:
return array_filter($pole, function($prvek) {return slozitapodminka});
? :-) a to je to nejmensi.
Funkcionální jazyk je třeba i ten javascript (i když to je takovej jazyk sám pro sebe, ale sqělej, když se v něm naučíš). Ale to je jen doplněk, bez toho se dá v pohodě žít, jen Tě to naučí řešit nějaký věci jednodušejc a zároveň efektivnějc.