Я обычно рекомендовал Python как первый язык программирования, плюсы очевидны - простота, популярность, гайды, широкий инструментарий.
Но недавно начал изучать платформу Roblox, и был приятно удивлён её простотой и мощностью. Код в нём пишется на языке Lua (если быть точнее, то на специальном подмножестве “Roblox Lua”, но для начинающих это не имеет значения).
На мой взгляд, в обучении программированию очень важен короткий цикл обратной связи - “написал две строчки, запустил, увидел, как они что-то поменяли, продолжаешь”.
Идея Roblox крутится вокруг игровых уровней, которые создают сами участники коммьюнити - причастность к видеоиграм, вероятно, может стать дополнительной мотивацией для начинающих.
После прохождения туториала Coding Fundamentals (около 4 часов в неспешном режиме), я потратил несколько вечеров на создание демонстрации работы “пузырьковой” сортировки.
Код вышел в ~300 строчек с учетом работы с 3D примитивами, которые изображают сортируемый массив:
https://github.com/itlgrim/roblox-demos/blob/main/sorting-algorithms/bubble-sort/BubbleSort.module.lua
Кому интересно, там же лежит файл с уровнем, который можно открыть в Roblox Studio:
https://github.com/itlgrim/roblox-demos/blob/main/sorting-algorithms/bubble-sort/Bubble%20Sort%20Demo%20v1.rbxl
Саму трёхминутную демку залил на YouTube (как оказалось, я не первый, кто пишет сортировки в Roblox, но могу заверить, что эта идея родилась у меня независимо):