Was für eine Frage ^.^ Was meinst du denn mit "an den meisten Programmen arbeiten kann"? Du kannst nicht einfach Photoshop, etc. weiterentwickeln, wenn du nicht den Sourcecode hast.
Wichtige Fragen sind (natürlich nur aus meiner Sicht)
Welches Betriebssystem? Komplexität der Programmiersprache. Brauche ich hohe Performance?
Mein Tipp: Wenn du auf "jedem" Betriebssystem (also alle gängigen: Windows, Mac, Linux, Android, (ka, ob man iPhones auch dazu zählen kann)), dann nutze Java. Wenn du jetzt das neue Battlefield programmieren willst, dann nutze am besten C++/C. Hiermit hast du eine etwas höhrere Performance, als mit Java. Wenn du aber Einsteiger bist, dann rate ich dir nicht zu C++/C, da man bei diesen Sprachen Sachen wie "Mehrfachvererbung" hat und du keinen Garbage Collector hast (wie bei Java). Was das genau bedeutet, kannst du ja nachlesen, aber ich sage dir, dass Java einfacher ist, vorallem für Anfänger.
Wenn du ausschließlich für Windows entwickeln willst, kannst du .NET verwenden (Visual Basic, C#, .NET C++ (ist kein echtes C++ hat nur den gleichen Syntaxaufbau). Ansonsten lass die Finger davon!
Man kann sagen, dass Java immer "größer" wird.. Es wir von immer mehr Firmen benutzt, da es Plattenformunabhängig und Achitekturneutral ist. Selbst in Java lassen sich aufwändige Spiele programmieren (kannst ja mal googlen).
Fragen zu Java (verwechsle es bitte nie mit JavaScript), kann ich dir gern beantworten.
Achso du kannst auch C++ für Windows, Max, Linux programmieren. Ein Projekt, dass dieses realisiert nennt sich Qt.