Все новички спрашивают постоянно, а не выучить мне язык прог. X или Y.
Это неправильный подход, потому что он сродни с подходом "выпил лекарство и мне полегчает".
Чтобы стать специалистом, нету такого, что выучу нечто одно и я матерый волк в этом деле.
Вы должны присматриваться к областям разработки, которые вам интересны, смотреть, какие в них проблемы и задачи всплывают.
После этого вы обращаете внимание на инструменты, которыми решаются эти задачи.
Вот в них вы уже замечаете, что есть не один язык разработки X, но и Y, и даже Z.
Более того, обнаруживается, что требуется некоторые творческие навыки, например, проведение исследования функционала существующих ПО, выявления требований к своему программному продукту, составлению технического задания, чтения и проверка соответствия техническому заданию, методик тестирования. И кодинг может стоять на 5 и 10 месте.
Чтобы научиться базовым навыкам программирования подойдет любой язык прогр. из академической среды Pascal или C++, более продвинутые сразу изучают C#, Java, Python.
Дальше вы обязаны выбирать уже не язык, а свою проблемную область, где собираетесь стать матерым волком, и изучаете ее инструментарий, а в первую очередь процесс разработки (кодинг НЕ хватаем в первую очередь).