Коротко: у 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. Там видно порядок тем і те, у якому місяці з'являється кожна.