Это языки для разных целей C++ нужен тогда, когда нам нужна максимальная производительность аппаратной части. Используют для разработки игр, ОС, нагруженного ПО (графика, видео и тд) C# и Java конкуренты на рынке бизнес приложений Если ты хочешь писать приложения под Android или реализовывать многопоточные сервисы - это Java Если ты хочешь писать чисто корпоративное ПО для офисных работников - то C# Примечание: с C# ты также можешь разрабатывать игры в Unity
Хороший программист это тот программист который не огранивается знанием только одного языка, а имеет хорошую базу языков и главное знает где их применять и в каких случаях.