Скретч
Содержание
Скрытые пункты в меню.
При клике на пункт меню Файл при нажатом Shift появятся дополнительные пункты в выпадающем меню. Причем выпадающее меню будет разным в оффлайновом и онлайновом редакторах. Вот меню оффлайнового редактора, которое выпадает при нажатой клавише Shift.
В нем появилось несколько новых пунктов.
Принудительное обновление файла справки.
Show version details – показывает подробную информацию о версии Scratch такого вида.
Импортировать экспериментальное расширение HTTP – позволяет подключать дополнительные модули к Scratch.
Вот меню онлайнового редактора.
Дополнительные пункты меню позволяют скачать описание проекта в формате TXT и посмотреть информацию о версии.
Выпадающее Меню Редактировать также изменится, если кликать удерживая Shift. Вот как оно будет выглядеть в оффлайновом редакторе.
Появились два пункта для экспорта переведенных строк.
В онлайновом редакторе интереснее.
Помимо пунктов по экспорту переведенных строк, появился редактор цветов блоков.
Этот редактор позволяет изменить стандартные цвета блоков Scratch. Это открывает большие возможности для розыгрышей!
Остальные пункты меню нужны для разработчиков.
>Быстрый переход в Турбо режим.
Для быстрого перехода в Турбо режим удерживая Shift, кликните на зеленый флаг.
>Запуск проекта без звуков.
Для запуска проекта без воспроизведения звуков, кликните на зеленый флаг удерживая Ctrl.
Скретч (язык программирования)
У этого термина существуют и другие значения, см. Scratch.
событийно-ориентированная
графический, учебный
интерпретатор
Митчелл Резник (англ. Mitchel Resnick)
MIT Media Lab
.sb , .sb2 , .sb3
- 3.0 (2 января 2019)
динамическая
Snap!
Лого, Smalltalk, HyperCard, StarLogo, AgentSheets, Etoys, Tweak
Snap!, AppInventor, Pocket Code
GNU GPL
Windows, MacOS, HTML5
Кот «Скретчер» — официальный персонаж в языке программирования Скретч, с которым ассоциируется вся история языка.
Пример программы в Скретч 1.4 (запущен под OS X)
Интерфейс редактора Скретч 2.0 Offline Editor
Интерфейс редактора Scratch 3.0 Scratch Desktop 1.2.1
Скретч (англ. Scratch, МФА:skræt͡ʃ) — визуальная событийно-ориентированная среда программирования, созданная для детей и подростков. Название произошло от слова scratching — техники, используемой хип-хоп-диджеями, которые крутят виниловые пластинки вперед-назад руками для того, чтобы смешивать музыкальные темы.
Скретч создан как продолжение идей языка Лого и конструктора Лего. Скретч 1.4 был написан на языке Squeak, Скретч 2.0 и 3.0 ориентированы на работу онлайн. Скретч 2.0 был переписан на Flash и ActionScript. Скретч 3.0 (текущая версия) является улучшенной версией Скретч 2.0 и сделана на HTML5, используя движок WebGL, что даёт ему возможность работать на мобильных устройствах и планшетах. Скретч разрабатывается небольшой командой программистов для детей в Массачусетском технологическом институте. Текущая версия — Скретч 3.0, выпущена в январе 2019 года. В 2008 году Скретч был портирован для микроконтроллерного модуля Arduino. Проект носит название S4A.
Программы на Скретче состоят из графических блоков, подписи к которым зависят от выбранного для интерфейса языка. Может быть выбран один из 50 языков интерфейса, включая русский. Для подключения интерфейса на новом языке используются стандартные gettext-файлы.
Также недавно был создан Скретч 3.0, который доступен пользователям на сайте Скретч с января 2019 года.
Программирование
Основными компонентами скретч-программы являются объекты-спрайты. Спрайт состоит из графического представления — набора кадров-костюмов (англ. costume) и сценария-скрипта. Для редактирования костюмов спрайтов в скретч встроен графический редактор (англ. Paint Editor). Действие Скретч-программы происходит на сцене (англ. stage) размером 480×360 (условных) пикселей с центром координат в середине сцены.
Для программирования сценариев в Скретче используется drag-and-drop-подход: блоки из палитры блоков перетаскиваются в область скриптов.
По функциональному назначению блоки делятся на 10 групп, принадлежность блока к той или иной группе обозначается его цветом.
Группа | Английское название | Цвет | Примечание |
---|---|---|---|
Движение | Motion | синий | управляют движением спрайта (не применяется в фоне) |
Внешний вид | Looks | фиолетовый | управляют внешностью спрайта |
Звук | Sounds | розовый | управляют звуком спрайта |
События | Events | жёлтый | проверка наличия событий, отправка сигналов ко всем спрайтам |
Управление | Control | оранжевый | управляющие конструкции, заголовки обработчиков событий |
Сенсоры | Sensing | голубой | опрос устройств ввода, таймер и имя участника |
Операторы | Operators | зелёновый | арифметико-логические операции |
Переменные | Variables | оранжевый | раздел для управления переменными и списками |
Другие блоки | My Blocks | светло-розовый | преобразуют комбинацию блоков в один блок, что упрощает код,
или же упрощает создания своего личного блока |
Добавить
Расширения |
Extensions | темно-зелёный | расширяют возможности Скретч. Есть разные виды расширений, такие, как: музыка, перо, видео распознавание, текст в речь, переводчик, Makey Makey, micro:bit, LEGO MINDSTORMS EV3 и LEGO Education WeDo 2.0 |
У многих блоков имеется редактируемое белое поле для вводимых скретч-программистом параметров.
Блоки бывают трёх видов: блоки стека, блоки заголовков и блоки ссылок.
Блоки стека (большая часть блоков) (англ. Stack Blocks) сверху имеют выемку, а снизу — выступ, с их помощью они объединяются в группу блоков, называемую стеком. Стеки можно копировать и перемещать как единый блок. Особой разновидностью блоков стека являются управляющие конструкции, такие как циклы — они имеют С-образную форму, и могут охватывать собой вложенный стек скретч-блоков.
Блоки заголовков (их также называют шапками) (англ. Hats) имеют выпуклый верхний край и выступ для объединения снизу — они образуют заголовки скретч-стеков. К блокам-заголовкам относятся блоки «когда …» (англ. when …) из группы «Контроль», позволяющие организовать обработчики сообщений: внешних — от клавиатуры и мыши, и внутренних — передаваемых между спрайтами и позволяющих объектно-ориентированное программирование в smalltalk-стиле.
Наконец, блоки ссылок (англ. Reporters) предназначаются для заполнения внутренних полей других блоков.
Язык Скретч (как и Лого) оперирует числами, текстовыми строками, логическими значениями, а также списками, играющими роль динамических массивов.
Хотя архитектура скретч-программ в виде набора спрайтов Скретча, обменивающиеся друг с другом событиями, напоминает объектно-ориентированную, Скретч не является объектно-ориентированным языком: в нём (ни в каком виде) нет механизмов наследования (в последних версиях расширенного диалекта скретча BYOB введено прототипное наследование).
Исходный код
После выхода версии 1.4 исходный код Скретча был открыт на условиях Scratch Source Code License — представляющей собой простую копилефтную лицензию, с дополнительными ограничениями по неиспользованию оригинальных торговых марок (в более мягкой форме подобные ограничения включены, к примеру, в PHP License).
Код может быть загружен с официального сайта. Условия его использования и распространения следующие:
- Вы не можете использовать слово «Scratch» для обозначения производных работ (за исключением фразы «на основе кода Scratch, созданного MIT Media Laboratory»),
- Вы не можете использовать в производных работах логотип Scratch или официального кота Scratch, защищённого авторским правом,
- Вы не можете реализовать возможность загружать проекты на любой веб-сайт MIT Scratch (в настоящее время — на сайт http://scratch.mit.edu),
- копии или производные работы должны сохранять уведомления об авторских правах и лицензии Scratch, и
- исходный код производных работ должны оставаться доступным.
Оригинальный текст (англ.)
Распространяемый исходный код уже удовлетворяет данным условиям: в нём заменены логотип и спрайт с котом и удалён код сохранения Скретч-проекта на сайт.
Впрочем, поскольку Скретч (1.4) написан на Squeak, доступ к его исходным текстам существует и без предоставления их пользователю в явном виде — они хранятся вместе с результатом их компиляции в файле образа Smalltalk-системы. Хотя доступ к инструментам программирования и отладки языка Smalltalk, таким, как, System Browser по умолчанию в Скретч закрыт, разработчики оставили лёгкий способ получения доступа к этим возможностям. Достаточно зажать клавишу ⇧ Shift и кликнуть мышью по букве «R» в логотипе Scratch в левом верхнем углу окна программы, и выбрать в появившемся выпадающем меню пункт «Turn fill screen off».
13 мая 2014 исходный код Скретч 2.0 был открыт под лицензией GPLv2.
Модификации и дальнейшее развитие
На основе исходного кода Scratch 1.4 был создан ряд модификаций языка, таких как:
- BYOB (ныне Snap!)
- Panther
- Slash (модификация BYOB)
BYOB (Snap!)
Разработан в Университете Беркли. Основным расширением языка, которое было введено в BYOB, стала возможность построения составных пользовательских блоков — аналога процедур обычных языков программирования. Поддерживаются рекурсия, замыкания и лямбда-выражения. Также добавлены отладчик и возможность компиляции в исполняемые файлы, вложенные спрайты, многомерные списки, улучшенная работа со скроллингом и компиляция исполняемых файлов. Начиная с версии 3.1 в BYOB добавлена поддержка ООП — спрайты BYOB теперь позволяют наследование на основе прототипов. Для этого в язык, в частности, введён механизм клонирования спрайтов.
Panther
Panther — расширяет Скретч поддержкой drag-n-drop управления спрайтами, возможностью клонирования спрайтов (объектов), и подсистемой CYOB (которая, как и BYOB, позволяет создавать собственные командные блоки, но требует для этого знания языка Squeak (современный диалект Smalltalk, на котором написан Скретч и его модификации).
Механизм Mesh
И BYOB, и Panther включают поддержку механизма mesh, обеспечивающее взаимодействие скретч-программ через сеть посредством разделяемых переменных и посылки широковещательных сообщений.
Slash
Slash дополняет возможности BYOB 3.0 новыми возможностями Panther: клонированием и перетаскиванием спрайтов (объектов).
StarLogo TNG
В 2008 году в Массачусетском технологическом институте также разработан образовательный язык программирования StarLogo TNG, который расширяет возможности системы StarLogo возможностями трёхмерной графики и скретчподобным языком визуального блочного программирования. В отличие от оригинального OpenStarLogo и MIT Scratch — StarLogo TNG в настоящее время не является программным продуктом с открытым исходным кодом.
Скретч 2.0
В феврале 2011 была выпущена первая онлайновая бета-версия Скретч 2.0, в который планируется включение некоторых из возможностей BYOB (таких, как создание пользовательских процедур), векторной графики, клонирование спрайтов, возможность групповой работы над проектами и т. д.. Официально бета-версия вышла в релиз 9 мая 2013.
Скретч 3.0
Бета-версия Скретч 3.0 была выпущена в августе 2018 года. Версия ещё не была встроена в сайт Скретч, но пользователи могли протестировать редактор 3.0 по ссылке beta.scratch.mit.edu. Новая версия предлагала обновлённый дизайн, новые блоки, облегчающие работу и расширения, которые позволяют подключаться к различным сервисам. 2 января 2019 года Скретч 3.0 официально вышел в релиз. Были изменены страница редактора и страницы проектов на сайте Скретч.
App Inventor
Основная статья: App Inventor
Ещё одной средой программирования, использующей стыковку визуальных логических блоков в стиле мозаики стал App Inventor — экспериментальная система визуального программирования для платформы Android.
Более прямым аналогом языка Скретч на Android является язык Catroid, который разрабатывается в Институте Технологий Программного Обеспечения Технического Университета Граца в Австрии.
> См. также
- Алиса (ПО)
- EToys
- KTurtle
- ДРАКОН
Примечания
- Scratch 3.0 is here!
- Creating from Scratch: New software from the MIT Media Lab unleashes kids’ creativity online
- Lifelong Kindergarten Group
- http://s4a.cat (англ.). — проект Скретч для Arduino.
- В версиях более ранних, чем 1.4 — числа (англ. numbers)
- Scratch Source Code (недоступная ссылка). Дата обращения 25 июля 2008. Архивировано 6 июля 2008 года.
- Smalltalk Television Video Collection | Applications | Scratch hacking 1 Архивная копия от 13 ноября 2010 на Wayback Machine, 2 Архивная копия от 13 ноября 2010 на Wayback Machine, 3 Архивная копия от 13 ноября 2010 на Wayback Machine
- How to hack Scratch!
- Scratch 2.0 Offline Open Source Code! — Discuss Scratch
- Scratch Modifications
- Build Your Own Blocks (BYOB) home page
- Build Your Own Blocks (BYOB) (Scratch Modification) in Scratch wiki
- Panther — based on Scratch home page
- Panther (Scratch Modification) in Scratch wiki
- Slash Project
- Slash (Scratch Modification) Архивная копия от 15 ноября 2010 на Wayback Machine in Scratch wiki
- Mesh
- StarLogo TNG
- OpenStarLogo (недоступная ссылка). Дата обращения 26 апреля 2011. Архивировано 17 мая 2011 года.
- Scratch 2.0
- Catroid Website
Литература
- Super Scratch Programming Adventure! Learn to Program. — No Starch Press, 2012. — 160 p. — ISBN 978-1-59327-409-2, 978-1-59327-531-0.
- Jr. Jerry Lee Ford. Scratch Programming for Teens. — Cengage Learning PTR, 2008. — 336 p. — ISBN 978-1598635362.
- Sam Patterson. Ch. 6. Scratch and Other Web-Based Progtamming Platforms // Programming in the Primary Grades: Beyond the Hour of Code. — Rowman & Littlefield, 2016-03-21. — 121 с. — P. 49—58. — 98 p. — ISBN 9781475825459.
- Е.Д. Патаракин. Учимся готовить в среде Скретч. Придумай — Запрограммируй — Поделись.
- Е. Д. Патаракин. Педагогический дизайн социальной сети Scratch // Образовательные технологии и общество (Educational Technology & Society). 2013. № 2. P. 505—528. http://ifets.ieee.org/russian/depository/v16_i2/html/12.htm
- В.Г Рындак, В.О. Дженжер, Л.В. Денисова. Проектная деятельность школьника в среде программирования Scratch. Учебно-методическое пособие / Оренбургский государственный институт менеджмента. — Оренбург, 2009.
- Д.В. Голиков, А.Д. Голиков. Книга юных программистов на Scratch. — SmashWords, 2013. — ISBN 978-1310227554.
- Александр Казанцев. Школа. Исполнители и алгоритмы // Linux Format. — январь 2010. — № 126—127 (1).
- Carolyn Y. Johnson. With simplified code, programming becomes child’s play (англ.), The Boston Globe (15 May 2007). Дата обращения 16 апреля 2012.
- Валерий Рубанцев. Занимательные уроки со Скретчем. RVGames. 2016—260 с.
Добавить комментарий