Коротко: в Minecraft можно писать и на Python, и на JavaScript, но мы сознательно выбрали Python: к нему есть библиотека mcpi, управляющая миром напрямую, и именно Python ребёнок заберёт с собой в любой следующий курс. JavaScript в программе нет, и это выбор, а не пропуск.

Вопрос задают подростки, успевшие почитать форумы: там советуют то один язык, то другой. Ответ честнее, чем «Python лучше».

Чем вообще можно управлять игрой

Технически путей несколько. В Minecraft Education встроен Code Builder с блоками и JavaScript. Для Java Edition пишут моды на Java. А для управления миром снаружи есть mcpi — библиотека, которая принимает команды Python и ставит блоки в игре.

На младшем курсе ребёнок работает именно в Code Builder — там блоки, и язык под ними вторичен. На старшем подключается mcpi, и здесь выбор языка уже имеет значение: на нём держится вся ступень «Minecraft + Python», все 52 занятия.

Один цикл на двух языках

# Python: стена из десяти блоков
for i in range(10):
    mc.setBlock(x + i, y, z, 1)

// JavaScript: то же самое
for (let i = 0; i < 10; i++) {
    world.setBlock(x + i, y, z, STONE);
}

Тот же результат. В Python три строки и ни одной скобки, кроме круглых; в JavaScript пять строк, три вида скобок, точка с запятой и объявление переменной. В десять лет каждый из этих символов стоит внимания, которое лучше потратить на логику.

Откуда взялся mcpi

История у него школьная. Сначала была отдельная бесплатная версия Minecraft для Raspberry Pi, и к ней сделали простой Python-интерфейс — чтобы дети на дешёвом одноплатнике могли управлять миром кодом. Потом появился плагин, принёсший тот же интерфейс в обычную Java Edition.

Отсюда и характер библиотеки: в ней мало возможностей, зато все они очевидны. Поставить блок, прочитать, что стоит в точке, узнать координаты игрока, написать сообщение в чат. Для обучения это плюс — нечего изучать, кроме самого языка.

Причина первая: перенос

Python из этого курса открывает следующие — ботов, работу с данными, машинное обучение. Подросток, написавший класс Builder в Minecraft, читает код в любом из них без переводчика. Именно поэтому язык выбирался не под игру, а под то, что будет после неё.

Причина вторая: синтаксис не мешает

В Python нет точки с запятой, фигурных скобок и объявления типов. Звучит как мелочь, но на занятии это разница между «не работает, потому что логика неправильная» и «не работает, потому что я забыл скобку». Первое учит, второе только злит.

Отступы в Python тоже ошибка номер один у новичков — но ошибка полезная: она заставляет смотреть на структуру кода, а не на рассыпанные по строке символы.

Причина третья, приземлённая

mcpi работает стабильно и ставится за минуту. Обвязка для JavaScript требует больше настроек, а урок длится 90 минут дважды в неделю — тратить из них двадцать на установку не хочется никому.

Эта причина выглядит самой мелкой из трёх, а на практике решает больше всех. Инструмент, который приходится каждый раз починять, перестают брать в руки — и дети здесь не исключение.

Не потеряет ли ребёнок, не выучив JavaScript здесь

Вопрос, с которого обычно и начинается разговор. Нет, и вот почему. JavaScript в Code Builder — это диалект под конкретную среду: он управляет агентом и миром, но не показывает того, чем язык ценен на самом деле, — работы с браузером, страницей, событиями. Выучить «школьный» JavaScript в игре и думать, что знаешь JavaScript, — хуже, чем не начинать.

Где JavaScript действительно понадобится

В вебе: страницы, интерфейсы, анимации, всё, что происходит в браузере. Это отдельная тема, и в нашей сети она принадлежит курсу веб-разработки, а не Minecraft. Подросток, знающий Python, выучит JavaScript быстрее, потому что мышление уже поставлено: различаются скобки, а не способ думать о задаче.

А Java, если хочется делать моды

Настоящие моды для Java Edition пишут на Java, и это отдельная история — со средой разработки, сборкой проекта и версиями API, которые ломаются между обновлениями игры. Для десяти-четырнадцати лет это слишком много накладных расходов на единицу результата. Что курс даёт вместо модов, описано там, где речь о модах.

Почему не Scratch, если нужны блоки

Блоки в курсе есть, просто они живут в Code Builder внутри игры. Scratch — отдельная среда со своим персонажем и своей сценой, и переносить из неё результат в Minecraft нечем. Младшая ступень поэтому и стоит на Code Builder: блоки те же по идее, а результат виден в мире, который ребёнок уже знает.

Что подросток пишет в первый месяц

Сначала одну команду: поставить блок в точке с известными координатами. Дальше цикл, который делает из этого стену. Потом функцию, которой можно сказать длину и материал. К концу первого месяца появляется скрипт, строящий что-то по формуле, а не по перечисленным вручную координатам.

Момент, после которого интерес обычно уже не исчезает, наступает именно здесь. Когда скрипт возводит пирамиду за две секунды, а одноклассник в игре клал такую же час.

Как устроено занятие старшей группы

90 минут, до шести учеников. Половина времени уходит на код, вторая — на разбор того, почему он не сработал. Преподаватель видит экран каждого, поэтому забытое двоеточие не съедает ползанятия.

Записи остаются, так что пропущенное не теряется. Стоимость зависит только от того, сколько раз в неделю ходить: один — от 1 800 грн в месяц, два — 3 600 грн. Первое занятие ничего не стоит.

Когда мы сами советуем другой язык

Если подросток пришёл с конкретной целью — сделать сайт или бота для сообщества, — Python в Minecraft для него обходной путь. Мы говорим это на пробном занятии и показываем, куда идти вместо нас. Удерживать ученика на курсе, который не ведёт к его задаче, смысла нет ни для кого.

Где в программе проходит граница между блоками и текстом

Граница совпадает со ступенями курса. Младшая, «Minecraft Старт» для 6–10 лет, живёт в блоках Code Builder; старшая, «Minecraft + Python» для 10–14, — в текстовом коде. Ребёнок, который приходит в десять, может начать сразу с текста, если уже уверенно ведёт себя в игре.

Что именно отличает две ступени по содержанию, а не по возрасту, разобрано в отдельном сравнении. Техническая сторона — какая версия игры нужна под каждую — тоже отдельно.

Вопросы о языке

Python — это не устарело?
Нет. Это один из самых распространённых языков в работе с данными и машинном обучении, и спрос на него не зависит от того, что советуют на форумах про Minecraft.

Нужно ли учить английский параллельно?
На уровне узнавания слов — да. Команд в ежедневном обиходе десятки, они запоминаются за первые занятия.

Сколько времени до первого своего скрипта?
Несколько занятий. Как устроен переход от блоков к тексту, показано в статье о Python в Minecraft.

Где посмотреть полный перечень тем?
В программе курса — Minecraft + Python. Там видно порядок тем и то, в каком месяце появляется каждая.