EchoOfThePast
Тут уже стоит вопрос: "А что имено прощает?"
Тот же питоне не позволит тебе говнокодить, если у тебя есть статический анализатор. Он будет ныть на все, что касаемо даже отступов, что делает твой код более правильным и чистым, по сравнения с другими языками.
Java сама по себе не сложная, основная сложность после питона будет - статическая типизация и ООП, а в Java оно везде.
С++ - Тут уже не все так прозаично, данный язык дает тебе возможность делать абсолютно все со своим железом. Но какой ценой?
Низкая безопасность, ручное управление памятью. Да я могу даже сделать редефайнуть "{" как begin и "}" как end и писать на еба%он паскале)) Но при этом у тебя на выходе всегда готовый бинарь, который работает очень быстро.
Gruvna
Тут все действительно зависит он желания, твоих усилий и сферы. Если ты не хочешь системного программирования (писать ядра ОС, драйвера и гипервизоры), то тебе стоит начать с языка с СИЛЬНОЙ - СТАТИЧЕСКОЙ типизацией, будь то Java или C#, т.к. они являются средними по сложности. а оттуда уже можешь двигаться как к питону, так и к плюсам.