Очень хороший вопрос, это зависит от возраста и заинтересованности ребёнка!
Если говорить про начало-"нулевой уровень" и возраст около 7-10 лет, то подойдут любые графические редакторы с элементами блочного программирования, такие как Minecraft или Scratch.
Для подростков 5 - 9 класс можно изучать более серьёзный язык программирования. Все любят Pyton, но так упускается большой пробел по работе с память, потому я бы рекомендовал любой Си подобный язык.
Сам учил Java как первый язык и ушёл в мобильную разработку. Язык сложный для первого изучения, но даёт отличную базу на всю оставшуюся жизнь. Да детям бывает трудно и иногда более правильным решение дать более простой язык, не сильно завязанный но ООП.
Вообще ООП преподают и оставляют для вузов - я уверен что ученики 9-11 классов прекрасно справятся с ООП и к моменту поступления в институт будут иметь более продвинутое представление о том с чем им предстоит работать. Так же Kotlin- как up lvl Java))
Ребенок пробовал и Scratch и Minecraft. Наверно, это не вина редакторов, но интерес со временем пропал.
Всё верно, программирование решает реальные задачи бизнеса, а не просто в вакууме существует.