Специализация С++ слишком узкая. И сейчас больше подойдет для написания библиотек с критичных к скорости, как позвоялет делать еще делать ассемблерные вставки. Функции можно илайнить и пр... Так же от разработчика требуется обязательно инициализировать все создаваемые объекты и убирать за собой мусор.
C# и Java языки более высоко уровня и многих плюшек в отличии от С++ лишены. Многие вещи делать не позволяют, но обладают иными достоинствами. Главная особенность это возможность гибкого подключения разного рода фрейворков и генераторов кода. Если научиться всем этим пользоваться, можно достаточно быстро разрабатывать большие приложения. Работать с базами данных, генерировать классы и таблицы.
Я начинал с С++ с форумом на геймдеве. Делал всякие эксперименты на OpenGL и DirectX. Потом были эксперименты C# MVC.
Сейчас работаю в IT-конторе на поддержке банковских интеграционных шин на Weblogic и Oracle SOA Suite.