Лучшие вопросы
Таймлайн
Чат
Перспективы
Snap! (язык программирования)
Из Википедии, свободной энциклопедии
Remove ads
Snap! (англ. щелчок, ранее назывался Build Your Own Blocks или BYOB[2]) — бесплатный, основанный на блоках и браузере образовательный язык визуального программирования, позволяющий начинающим программистам создавать интерактивные анимации, компьютерные игры, сценарии и многое другое с изучением математических и вычислительных идей.[3]
Разработчики языка: Брайан Кейт Харви — вдохновитель идеи и Дженс Дженс Мёниг.
Remove ads
Пользовательский интерфейс
В Snap! экран организован в трех изменяемых по размеру столбцах, содержащих пять областей: селектор (выбор) групп блоков (вверху левой колонки), палитра блоков (левая колонка), основная область (средняя колонка) и сценическая область (вверху правой колонки) с набором спрайтов, под которым отображаются миниатюры спрайтов.

Спрайты, которые будут участвовать в сценарии, создаются с помощью встроенного простого графического редактора или выбираются двойным щелчком мыши из уже существующих в каталоге. Отдельные блоки можно перетаскивать из палитры на область сценариев, которая будет ассоциироваться с выбранным спрайтом.
Блоки разделены на восемь групп: Движение, Внешность, Звук, Перо, Управление, Сенсоры, Операторы и Переменные.
В основной области могут быть показаны сценарии, костюмы или звуки, связанные с выбранным спрайтом. То, что показывает основная область, зависит от выбранной вкладки.
Remove ads
Особенности языка
К наиболее важным функциям, предлагаемым в Snap!, но не включённым в Scratch, относятся:
- выражения, использующие "вложенные функции", состоящие из одной или нескольких "анонимных функций", каждая из которых представлена блоком, имеющим один или несколько пустых слотов/параметров, которые ожидают заполнения результатами выполнения "функцией более высокого порядка" (той, которая вызывает анонимную). Применение лямбда-функции;
- списки (включая списки списков);
- спрайты первого класса (другими словами, прототипно-ориентированное бесклассовое программирование на базе экземпляров);
- вложенные спрайты;
- кодификация программ Snap! для основных языков, таких как Python, JavaScript, C и др.
Remove ads
Лицензионная политика
Исходный код Snap! распространяется под лицензией Affero General Public License (AGPL) и размещен на GitHub[4]. Более ранняя, настольная версия 3.x, доступна по лицензии, которая допускает модификацию только для некоммерческого использования и может быть загружена с сайта UC Berkeley или со страниц загрузки CNET's[5][6] и TechTracker.
Платформа
Сам Snap! реализован на языке JavaScript с использованием интерфейса прикладного программирования (API) HTML5 Canvas, благодаря чему проекты могут исполняться на основных веб-браузерах на устройствах под управлением операционных систем Windows, iOS, OS X и Linux.
Интересные факты
Существует проект, с помощью которого можно создавать исполняемые приложения для Windows и MacOs из проектов Snap.[7]
Создание проектов возможно на 44 языках, включая русский.
Примечания
Ссылки
Источники
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads