Щелчок! (язык программирования) - Snap! (programming language)
Парадигма | объектно-ориентированный, образовательный, событийный |
---|---|
Разработано | Брайан Харви и Йенс Мёниг |
Разработчик | Йенс Мёниг |
Впервые появился | 2011 |
Стабильный выпуск | 6.3.7 / 23 ноября 2020 г.[1] |
Печатная дисциплина | динамичный |
Язык реализации | JavaScript (Snap!), Ранее Писк (Версия BYOB) |
Операционные системы | Кроссплатформенность |
Лицензия | AGPL |
Расширения имени файла | .xml (Snap!) |
Интернет сайт | щелчок |
Под влиянием | |
Царапать, Схема, Логотип, Болтовня | |
Под влиянием | |
BeetleBlocks, Snapi, Dragme IDE |
Щелчок! (ранее называвшаяся Build Your Own Blocks или BYOB) - это бесплатный блочный образовательный язык графического программирования и онлайн-сообщество, нацеленное на студентов, которые могут исследовать, создавать и повторно смешивать интерактивные анимации, игры, истории и многое другое, одновременно изучая математические и вычислительные идеи. Хотя вдохновленный Царапать, Щелчок! имеет множество дополнительных функций. Snap! редактор и созданные в нем программы веб-приложения которые запускаются в браузере (например, Царапины 2 и 3 ) без необходимости установка. [Заметка 2]
Пользовательский интерфейс
В Snap!, экран организован в три столбца изменяемого размера, содержащих пять областей: селектор группы блоков (верхний левый столбец), палитра блоков (левый столбец), основная область (средний столбец) и рабочая область (верхняя часть правого столбца). с селектором спрайтов (также называемым загоном спрайтов), отображающим эскизы спрайтов под ним.[Заметка 3]
В интерактивно изменяемом размере рабочей области (также доступен полноэкранный режим) отображаются графические результаты (например, анимация, графика и т. Д.) Сценариев, выполняемых в области сценариев, и / или интерактивно дважды щелкаются отдельные блоки в любой палитре. . Отдельные блоки можно перетаскивать из палитры в область скриптов, чтобы связать их с выбранным спрайтом.
Категория | Примечания | Категория | Примечания | |||
---|---|---|---|---|---|---|
Движение | Перемещает спрайты и меняет углы | Контроль | Если заявления, события, и петлевые конструкции | |||
Выглядит | Контролирует видимость, костюмы и продукция | Зондирование | Обнаружение всех попаданий спрайтов и пользовательский ввод | |||
Звук | Воспроизводит аудиофайлы и программируемое последовательное аудио | Операторы | Математические и Логические операторы | |||
Ручка | Позволяет черепаха графика | Переменные | Переменные, списки, включая списки списков |
Щелчок!'Блоки s разделены на восемь групп: «Движение», «Внешний вид», «Звук», «Перо», «Управление», «Обнаружение», «Операторы» и «Переменные». Расположение этих групп в селекторе групп блоков показано в таблице ниже.
В основной области могут отображаться сценарии, костюмы или звуки, связанные с выбранным спрайтом. То, что отображается в основной области, зависит от выбранной вкладки.
Функции
Наиболее важные функции Snap! предлагает, но не Scratch, включает:
- выражения, использующие «вложенные функции», состоящие из одной или нескольких «анонимных функций», каждая из которых представлена блоком, имеющим один или несколько пустых (ed) слотов / параметров, которые ждут «более высокого порядка» функция "(та, которая вызывает анонимную), которую нужно заполнить. (Их теоретическая основа информатики Функции первого класса, которые, в свою очередь, имеют "Лямбда-исчисление «как их еще более абстрактное, математическое основание),
- списки, которые первый класс (включая списки списков),
- Первый класс спрайты (другими словами прототипно-ориентированное бесклассовое программирование на основе экземпляров ),
- вложенные спрайты
- кодификация Snap! программы на основные языки, такие как Python, JavaScript, C, так далее.
История
Интернет-приложение Snap! и более старые настольные BYOB оба были разработаны Йенсом Мёнигом для Windows, OS X и Linux[2] с дизайнерскими идеями и документацией, предоставленной Брайан Харви[3] из Калифорнийский университет в Беркли и были использованы для проведения вводного курса "Красота и радость вычислений" в Информатика (CS) для студентов, не специализирующихся на CS.[4] Они оба были членами Скретч-команда перед созданием Щелчок![5]. BYOB по-прежнему доступен для скачивания.
Лицензия
Исходный код Snap! является Стандартная общественная лицензия Affero (AGPL) по лицензии и размещается на GitHub.[6] Код более ранней версии 3.x для настольных ПК доступен по лицензии, которая допускает модификацию только для некоммерческих целей, и может быть загружена с веб-сайта Калифорнийского университета в Беркли.[7] или же CNET с Download.com и страницу загрузки TechTracker.[8][9]
Платформы
Щелчок! реализован в JavaScript с использованием HTML5 Холст интерфейс прикладного программирования (API),[Примечание 4][нужна цитата ] и поэтому он работает в основных веб-браузерах на Windows, iOS, OS X и Linux устройств.
Признание
Щелчок! был признан Logo Foundation,[10] и рассмотрено в онлайн-журнале для программистов.[11] С декабря 2014 года 100 средних школ Нью-Йорка (NYC) представят в 2015 году курс «Красота и радость вычислений» Калифорнийского университета в Беркли в качестве нового курса AP Computer Science Principles с использованием Snap !.[12]
Примечания
- ^ Версии программы 6.2.3
- ^ BYOB, Snap! предшественником, была модификация Scratch, которая экспортировала проекты как Исполняемые файлы Windows.
- ^ Способ организации экрана до версии 2.0 Scratch.
- ^ Напротив, Scratch 2.0 был написан на Adobe Flash, поэтому он не может работать в Linux без Adobe Air.
Рекомендации
- ^ "jmoenig / Snap". GitHub. Получено 19 августа 2020.
- ^ «Скретч - представь, запрограммируй, поделись». scratch.mit.edu. Получено 21 мая 2017.
- ^ "Домашняя страница Брайана Харви ([email protected])". people.eecs.berkeley.edu/~bh/. Получено 19 января 2019.
- ^ "UC Berkeley EECS - CS10: Красота и радость вычислений - осень 2011". inst.eecs.berkeley.edu. Получено 21 мая 2017.
- ^ https://forum.snap.berkeley.edu/t/relationship-with-the-scratch-team/1277/2
- ^ "jmoenig / Snap". GitHub. Получено 21 мая 2017.
- ^ «Snap! (Создайте свои собственные блоки) 4.0». snap.berkeley.edu. Получено 21 мая 2017.
- ^ CNET Download.com и CNET TechTracker's BYOB для Windows страница загрузки
- ^ CNET's Download.com и TechTracker BYOB для Mac страница загрузки
- ^ «История логотипов». el.media.mit.edu. Получено 21 мая 2017.
- ^ Редактор. «Visual Language Snap! Выпущена версия 4.0». i-programmer.info. Получено 21 мая 2017.CS1 maint: дополнительный текст: список авторов (связь)
- ^ «ИНФОРМАЦИОННЫЙ БЮЛЛЕТЕНЬ: Новые обязательства по поддержке образования в области компьютерных наук». obamawhitehouse.archives.gov. 8 декабря 2014 г.. Получено 20 января 2019.
внешняя ссылка
- Официальный веб-сайт
- Список курсов, руководств и книг
- Форум на официальном сайте
- исходный код