Scratch — это уже не игрушки.
Скорее всего, вы знаете, что Scratch — это язык программирования для детей, в котором используются визуальные блоки:
Как и многие родители в пандемию, я недавно познакомил с ним моих детей. Он постепенно начал их захватывать, и я осознал, что под его поверхностью скрывается нечто большее. Я решил присмотреться, и вот что обнаружил.
Не просто язык программирования
Scratch — это онлайн-среда программирования, расположенная на scratch.mit.edu. В ней используется визуальный редактор, который выглядит вот так:
Язык и редактор нацелены на создание игр, анимаций, историй и других визуальных произведений. Пользователи Scratch (скрэтчеры) могут создавать и сохранять проекты в своём аккаунте, а также публично делиться ими.
Именно благодаря публикации проектов всё становится интереснее. Scratch — это не просто язык, это сообщество.
Веб-сайт Scratch позволяют с лёгкостью просматривать проекты чужие проекты, «лайкать» и добавлять их в избранное, писать комментарии, просматривать исходники и переделывать их на свой вкус. Можно подписываться на других пользователей и совместно работать над курированием коллекций проектов, называемых «студиями» (на которые тоже можно подписываться и оставлять комментарии).
В этом смысле он похож на Github или Codepen, только Scratch предназначен для детей. Пик распределения возрастов новых скрэтчеров приходится на 12 лет, а большинству меньше 16 лет:
Именно функции сообщества по-настоящему увлекли моих детей. Они очень радовались, когда кто-то подписывался на них или «лайкал» один из их проектов. Это давало им мотивацию создавать более амбициозные вещи.
Амбициозность проектов иногда сильно впечатляет. Скрэтчеры часто создают копии «реальных» игр наподобие Cut the Rope, Super Mario Bros и Terraria. Функции наподобие облачных переменных позволяют им создавать многопользовательские онлайн-игры типа Taco Burp (очень популярной в моём доме):
Я, мастерски выносящий девятилеток
Кто-то даже построил Scratch внутри Scratch!
Это был только вопрос времени
Нахождение подобных проектов стало для меня потрясением. Скрэтчеры создавали проекты, способные конкурировать с лучшими примерами, которые я видел на Codepen. И всё это на визуальном языке программирования для детей!
Кроме редактора есть и другие ресурсы, помогающие детям быть продуктивными:
- На веб-сайте Scratch есть туториалы, wiki и форумы, которыми часто пользуются дети, чтобы задавать вопросы и помогать друг другу.
- Интерфейсы REST API позволяют использовать сторонний инструментарий наподобие Turbowarp — параллельного сайта, позволяющего выполнять проекты Scratch в двадцать раз быстрее.
- Десктопное приложение Scratch позволяет разрабатывать проекты на Scratch офлайн.
- Планшетное приложение ScratchJr представляет собой упрощённую версию редактора Scratch для маленьких детей (5-7 лет).
Так что нет, Scratch — это не просто язык программирования. Это экосистема приложений, ресурсов и функций работы с сообществом, дающая детям первый положительный опыт программирования. И это крайне впечатляет.
Масштабы Scratch
Как и у многих других онлайн-занятий, популярность Scratch за время пандемии выросла, однако, в отличие от остальных, её рост не замедляется:
Обратите внимание, что заметен циклический паттерн использования, совпадающий со школьным учебным годом. Его пик приходится на весну, а снижение — на лето, что даёт нам представление о том, в какой степени работа со Scratch связана с его применением в школах.
Благодаря этому недавнему росту Scratch ворвался в двадцатку самых популярных языков программирования индекса Tiobe. На момент написания поста (июль 2022 года) он находится на 21-м месте, обгоняя Typescript, Rust, Julia и другие важные языки. Индекс Tiobe несовершенен, однако тенденции очевидны.
Из-за новообретённой популярности языка такие скрэтчеры, как Griffpatch, Will_Wam и другие стали мини-знаменитостями, собирающими сотни тысяч подписчиков на scratch.mit.edu и других платформах (Griffpatch имеет более 175 тысяч подписчиков на Youtube, где он публикует туториалы Scratch по таким аспектам разработки игр, как скроллинг фона и рейкастинг).
Другую статистику можно посмотреть на странице статистики сообщества и в ежегодном отчёте Scratch. По любым возможным метрикам Scratch испытывает бум популярности (по всему миру!) и не думает останавливаться.
Почему так получилось
Для этого у Scratch есть множество хороших свойств.
Он бесплатен (благодаря Scratch Foundation), а туториалы позволяют постепенно знакомиться с языком, что упрощает его использование в школе и дома.
У платформы есть чёткие правила сообщества, и она хорошо модерируется (по крайней мере, моя семья пока не столкнулась ни с чем подозрительным).
И самое важное: просмотр чужих проектов показывает, что это возможно. Ребёнок начинает с того, что играет, потом ему становится любопытно, и вот он уже изменяет код, чтобы добавить себе жизней.
Всё это появилось не само собой. Это стало реализацией более пятидесяти лет работы программистов и педагогов, стоявших на плечах таких великанов, как Logo и LEGO Mindstorms. Если вам стало любопытно, прочитайте про теорию конструкционизма!
Если вам важно обучение программированию и вы ищете проект, которому можно помочь материально, то вряд ли найдёте что-то лучше.
А если вы знаете детей, заинтересованных в программировании, то расскажите им о Scratch. Пусть они какое-то время поиграют в созданные другими пользователями игры, исходный код которых находится на расстоянии всего одного клика.
Автор:
SportmasterLab