Nun, auf Deine Frage gibt es keine pauschale Antwort. Natürlich gibt es immer Programmierer, die von "ihrer" Sprache überzeugt sind und "ihre" eine Sprache für das Nonplus Ultra halten. Ich persönlich weiss, dass man viele Probleme mit verschiedenen Sprachen lösen kann und dass es meistens gar nicht so sehr darauf ankommt, welche Sprache man verwendet, sondern wie (d.h. in welchen Stil) man programmiert.
Ich habe im Laufe der Jahre gelernt, dass es klug ist sich nicht auf eine Sprache festzulegen. Gerade wenn Du als Consultant für verschiedene Kunden programmierst, ist es je nach Firmenpolicy u. U. gar nicht möglich Deine Lieblingssprache zu installieren, sondern Du musst eben das nehmen, was bereits da ist. Keep an open mind, heißt die Devise daher.
Wenn Du die wesentlichen Paradigmen, sprich prozedural, imperativ, objektorientiert verstanden und verinnerlicht hast, wird es Dir leicht fallen weitere Programmiersprachen innerhalb der von Dir erlernten Paradigmen zu verstehen. Letzten Endes ist es lediglich die Syntax, die neu erlernt werden muss und sogar diese ist bei vielen Sprachen ähnlich (z.B. C, C++, Java, PHP, z.T. Perl ähneln sich syntaktisch). In die vorhandenen Funktionen (bzw. Methoden bei OOP) findet man sich leicht rein, zumal die gängigen Sprachen mit deren Funktionen/Methoden sehr gut dokumentiert sind (J2EE, STL, CPAN u. Perldoc, ...). Die Essenz am Programmieren ist nicht das Lernen einer bestimmten Syntax wie C oder Python, sondern es ist die Fähigkeit einen Algorithmus zu bilden, der das gegebene Problem möglichst effizient löst oder weniger wissenschaftlich formuliert:
Du musst lernen zu denken wie ein Programmierer. Wenn Du das kannst, spielt die Wahl der Sprache/Syntax eine minderwertige Rolle.
Obgleich man versuchen sollte für neue Sprachen offen zu sein, gibt es Sprachen, die für bestimmte Aufgaben geeigneter sind als andere Sprachen.
Geht es z.B. um eine Benutzeranwendung, die auf verschiedenen Plattformen laufen muss, würde ich aufgrund dessen Plattformunabhängigkeit zu Java tendieren, da der Aufwand mit C / C++ in diesem Falle größer wäre.
Geht es hingegen um eine performanceintensive Applikation (z.B. Batch-Verarbeitung), würde ich Java meiden und stattdessen zu C / C++ und Assembler greifen.
Dateiverarbeitung und komplexe Auswertungen schreien IMHO nach Perl, kleinere bis mittelgroße Steuerabläufe auf Unix / Linux schreibe ich in Shellskript (ksh, bash, je nach Plattform), für Web-Applikationen verwende ich PHP, Mysql, HTML, CSS und Javascript.
Das sind allerdings nur meine persönlichen Präferenzen, die andere Entwickler nicht teilen müssen.
Jede Sprache hat so deren Vor- und Nachteile.
Nun, Dein C++ ist syntaktisch relativ schwer und (zum Teil) objektorientiert. Ich hoffe das ist für den Anfang nicht zu viel des Guten, andererseits: Wenn Du C++ beherrschst, werden Dir Java, Ansi-C und PHP syntaktisch leicht fallen.
Greetz
Hackse