Scratch упоминается в любом гайде по детскому программированию. Неудивительно: этот язык был разработан для того, чтобы познакомить детей с общей логикой кодинга, причем в интересной и развлекательной манере. Scratch простой и увлекательный, как конструктор.

Впервые представленный миру в 2007 году, сейчас он превратился в классику, с которой начинают путь в мир разработки многие дети. Его преподают в школе и кружках программирования и изучают даже взрослые, желающие связать карьеру с разработкой или повысить свой уровень цифровой грамотности.

Попробуем разобраться, что такое Scratch, как он работает, и в чем причина его популярности.

Название Scratch произошло от английского выражения «from scratch» — то есть «с нуля». Программа действительно помогает освоить разработку с нулевым знанием кода.

Что такое Scratch

Scratch (Скретч) — событийно-ориентированный язык визуального программирования. «Событийно-ориентированный» означает, что выполнение команды определяется действиями пользователя, событиями операционной системы, других приложений или потоков. Например, задача начнет выполняться после щелчка мышкой или прикосновения к сенсорному экрану. А «визуальное программирование» — его разновидность, основанная на графических элементах.

Тут мы писали об этом подробнее: «Что такое визуальное программирование».

С помощью Scratch можно создавать интерактивные истории, игры и мультфильмы, используя специальные строительные блоки. Код не нужен — программа «пишется» путем перетаскивания блоков в drag-n-drop интерфейсе. Справиться с ним в состоянии даже пятилетние дети и взрослые-новички.

Разработчики Scratch — специалисты МТИ, Массачусетского технологического института, одного из самых престижных технических вузов в мире. Первую версию Scratch они представили в 2007 году, с тех пор он обновляется регулярно, чтобы успевать за стремительно меняющимся миром высоких технологий.

Платформа переведена более чем на 70 языков, включая русский, и доступна бесплатно. Более того: школы, кружки и другие образовательные учреждения могут использовать ее без необходимости покупать лицензии.

Помимо Scratch, более «взрослой» версии, существует еще ScratchJr, рассчитанный на не умеющих читать малышей. Он есть и в виде мобильного приложения с графической средой, так что ребенку совсем необязательно включать на телефоне только мультфильмы — он может учиться программировать!

Основные фичи

Основная задача Scratch — научить ребенка азам программирования, а также развить некоторые «мягкие» навыки, надпрофессиональные скиллы, без которых кодеру будет непросто. Среди них умение нетривиально подходить к решению задач, искать ответы и коммуницировать с другими пользователями, чтобы совместно выполнить задачу.

Вот что делает Scratch:

  • учит детей командам визуального программирования;
  • предлагает для этого простую графическую среду;
  • способствует развитию воображения и умения анализировать;
  • позволяет детям создавать анимации, которыми можно делиться с другими;
  • конвертирует проект в HTML5-код, приложение или файл с расширением «.exe»;
  • располагает большим сообществом, которое всегда радо помочь, и огромным количеством учебных материалов.

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

Несмотря на то, что Scratch не требует выполнения команд на коде, он все равно помогает детям понять глубинный смысл кодинга: взаимосвязи, функции и объекты, логические хитросплетения. Это отличная возможность для старта тем более сейчас, когда визуальное программирование и зерокодинг становятся востребованы в том числе среди профессиональных разработчиков.

Зерокодинг буквально означает «разработка без кода». Это современное направление в IT, позволяющее создавать приложение и сайты с нуля без умения программировать, которое одинаково подходит и детям, и взрослым. Узнайте больше на бесплатной консультации!

Интерфейс и блоки

Условно программирование можно разделить на две большие категории: визуальное и текстовое.

Первое использует графические элементы. Так работает Scratch, а еще огромное количество современных зерокодинговых конструкторов, среди которых Bubble, Adalo, Glide, Tilda. Второе — то, что мы привыкли видеть, представляя себе разработку: строки в редакторе кода. К текстовым языкам относятся JavaScript, C++, Python и десятки других.

Scratch принадлежит к визуальному типу. Выглядит его интерфейс вот так:

Он разделен на несколько зон. Справа находится персонаж — спрайт. Располагается он на сцене или на холсте. Эта зона показывает результат выполнения команды: например, персонажа можно заставить двигаться, издавать звуки и совершать другие действия.

Слева расположена палитра блоков. Они перетаскиваются в пустое пространство по центру, в редактор кода. Программист располагает их в определенном порядке, чтобы запустить череду событий, из которых можно составить анимацию, мультфильм или игру. Перетаскивая блоки, можно заставить героя переместиться по оси координат X или Y.

Блоки соединяются друг с другом по принципу пазла. Они разделены по цветам, каждый из которых что-то обозначает, например:

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

Сверху видны вкладки. «Костюмы» меняет внешний вид спрайта или активирует простой редактор, чтобы программист нарисовал свой уникальный вариант. Вкладка «звуки» подключает музыку и другое звуковое сопровождение.

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

Вот так при помощи блоков событий и движений программист заставил спрайта-сову воспарить над своим насестом, а если говорить техническим языком, то сместиться по вертикали:

Дополнения для Scratch

За долгие годы существования Scratch успел обрасти дополнениями. Нажав на синюю кнопку, открывается большое разнообразие —

К Scratch можно подключить:

  • музыку;
  • видео, в том числе через камеру;
  • переводчик — скажем, если что-то пока не русифицировано;
  • перо, с помощью которого можно набросать собственный рисунок;
  • озвучивание текста вслух, что очень помогает слабовидящим;
  • дополнение LEGO MINDSTORM EV3, буквально подключающее программу к набору для робототехники от LEGO.

Огромный плюс Scratch — разработчики не планируют бросать свое детище. С каждым годом платформа становится лучше, в нее внедряются передовые фичи из мира IT. Ребенок, даже познавая самые базовые азы, будет знать, что сейчас актуально.

Изучать Scratch можно прямо сейчас — это бесплатно, официальный сайт переведен на русский и находится вот тут.

Язык создан быть интуитивно понятным, но если хочется поддержки, то можно обратиться к учебникам. Их тоже достаточно: «Программирование для детей. Делай игры и учи язык Scratch!» от Эла Свейгарта для детей постарше, «Scratch для юных программистов» от Дениса Голикова или «Путешествие в страну Алгоритмию с котенком Скретчем» от Елены Зориной для тех, кто помладше. Купить их можно на любом маркетплейсе.