Можно начать с легкого языка. В современном образовании любят Python и на мой личный взгляд не даром. Но только и C++ не самый сложный язык. Он вполне целостный и классический. По нему масса замечательной литературы. Его сложность - миф связанный скорее всего вот с чем. В реальных проектах обычно на C++ решаются достаточно сложные задачи. Вот сложность решаемых на нем задач и переносят на сам язык.
Сложные языки в 90% случаев это либо редкая экзотика. Либо совсем новые. По которым пока нет нормальной литературы и курсов. Не наработаны best practice и специфичные для языка паттерны. В языках высокого уровня существует своего рода естественный отбор. Если язык по определению сложен для понимания он либо быстро уйдет из проектов. Либо останется но уделом каких-то узких, редких, специфичных областей программирования. Если несмотря на свою сложность конкретно в них он действительно хорош. Большая часть оставшихся 10% - это скриптовые языки встроенные внутрь больших систем. Которые могут применяться несмотря на все свои недостатки поскольку сама система имеет много достоинств. Пример такого рода - встроенный язык 1С. Он не то что сложен в изучении но весьма некомфортен.
Вообще вы ведь изучаете программирование для чего-то? Поэтому лучше выбрать сначала свою первую отрасль программирования. А внутри нее уже свой первый язык. Иначе слишком велик риск стать теоретиком. Который блестяще знает теорию но не знает с какого вообще конца подступиться к реальному проекту. А еще долгое отсутствие реальных результатов обучения здорово демотивирует. Хотя бывает так что выбранная вами отрасль программирования слишком нова. И там мало хороших учебников пока. Тогда да можно начать с чего то типа Python, Java, C++. Т.е. достаточно давно и массово применяемого много где.
Это спорное утверждение. Но тем не менее. Я не советую учить программирование на примере устаревших языков которые ныне мало применяются в реальных проектах. Например Pascal. Вроде бы сам язык как раз хорош для обучения. НО. Одновременно с тем что вы будете учиться кодить, изучать алгоритмы и структуры данных, вы будете еще закладывать основные навыки проектирования систем. А кроме того оформления кода и работы с инструментарием. Дело в том что как только язык уходит из широкого употребления, понятия о проектировании, оформлении кода и самих технологий в его сообществе консервируются, отстают от современных. И слишком велик шанс незаметно для себя на первых порах привыкнуть к устаревшим методикам работы. От которых вам потом отучаться в реальных проектах будет гораздо сложнее чем изучить еще один какой уж по счету язык.