Я обычно рекомендовал Python как первый язык программирования, плюсы очевидны - простота, популярность, гайды, широкий инструментарий. Но недавно начал изучать платформу Roblox, и был приятно удивлён её простотой и мощностью. Код в нём пишется на языке Lua (если быть точнее, то на специальном подмножестве “Roblox Lua”, но для начинающих это не имеет значения). На мой взгляд, в обучении программированию очень важен короткий цикл обратной связи - “написал две строчки, запустил, увидел, как они что-то поменяли, продолжаешь”. Идея Roblox крутится вокруг игровых уровней, которые создают сами участники коммьюнити - причастность к видеоиграм, вероятно, может стать дополнительной мотивацией для начинающих. После прохождения туториала Coding Fundamentals (около 4 часов в неспешном режиме), я потратил несколько вечеров на создание демонстрации работы “пузырьковой” сортировки. Код вышел в ~300 строчек с учетом работы с 3D примитивами, которые изображают сортируемый массив:
https://github.com/itl