Java hat dafür das Problem einer in die Jahre gekommenen API. In C++ gibt es dafür keine wirkliche einheitliche API. Es gibt Boost und diverse Sachen, aber trotzdem habe ich das Gefühl das jedes C++ Programm seine eigenen Standard-Datenstrukturen und Algorithmen schreibt, das Rad also jedes Mal neu erfunden wird oO Was mich in C++ aber eher stört ist, dass es dem Programmierer zu viele Möglichkeiten gibt. Dadurch das selbst so grundlegende Operatoren wie der Zuweisungsoperator überladen werden können, kann man sich letztlich überhaupt nicht mehr darauf verlassen das ein Stück Code das tut was man von ihm erwartet. Hier ist Java halt sehr übersichtlich, da die Sprache in sich recht einfach aufgebaut ist. Dafür muss man halt sehr viel Code schreiben ^^°
So Scriptsprachen wie Python, Ruby oder Lua sind natürlich auch ganz was feines. Ich denke aber das es für Anfänger sehr sinnvoll ist sich erst mal mit einer statisch typisierten Sprache vertraut zu machen um überhaupt die Ideen und Konzepte der Typisierung zu verstehen. Denn auch wenn in Python oder Ruby die Variablen keine Typen haben, sind deren Objekte dennoch strikt typisiert.