Автор получил возможность вести курс программирования для школьников средних и старших классов — 12 занятий по часу в неделю — и вместо привычных Python или Scratch выбрал Forth, стековый конкатенативный язык из 1970 года. Ему хотелось избежать возни с синтаксисом и дать фундаментальные понятия, а ещё он рассчитывал, что необычный язык удержит внимание даже тех, кто уже немного кодил.
Главной структурой здесь оказался стек. Прежде чем запускать код на компьютере, автор раздал каждому стопку бумажных тарелок и попросил писать на них числа. По команде «push» ребята клали тарелку наверх стопки, а для операции вроде сложения снимали две верхние, считали и водружали результат обратно. Так они буквально сами становились интерпретаторами Forth — и только потом разрешили машине делать то же самое.
В качестве среды взяли Easy Forth, написанный Nick Morgan. Автор сначала пытался слепить собственный Forth на Rust и встроить его прямо в сайт класса через WASM, но не успел вычистить баги и переключился на готовое решение. Слайды и планы уроков выкладывались в онлайн-портал, куда была вшита и копия Easy Forth. Никаких установок: всё работало в браузере, независимо от операционной системы учеников.
Финальным проектом стало творчество в графическом фреймворке, встроенном в Easy Forth. Дети рисовали попиксельно, кто-то модифицировал демку «змейки» — меняли цвета и правила несколькими строчками. Серьёзного рефакторинга никто не делал, но само прикосновение к коду перестало пугать.
Оглядываясь назад, автор сомневается, что Forth — лучший выбор для начального обучения. Синтаксиса почти нет, зато стек всё время перед глазами, а это та часть системы, которую многие программисты привыкли держать глубоко под капотом. Возможно, конкатенативный язык с конструкциями повыше, вроде Factor, сработал бы лучше. Но в целом важнее другое: среда с быстрым и наглядным откликом. Если дети видят результат своих действий сразу, они будут копаться и творить. Драйв даёт не язык, а возможность самостоятельно направлять свой поиск.
Отдельно автор подчёркивает ценность живого обучения именно сейчас, когда все бросаются к LLM. Полностью положиться на стохастического попугая — значит атрофировать навык, которого у новичков могло и не быть. Технология бывает неточной, льстивой, а для детей, только осваивающих мир, ещё и опасной. Поэтому нужно создавать пространства, где знания передаются от человека к человеку. Даже не будучи профессиональным педагогом, стоит осваивать умение учить, устраивать такие встречи и держаться подальше от автоматических подсказчиков.