Jump to content

Щелчок ! (язык программирования)

(Перенаправлено с BYOB (язык программирования) )
Щелчок !
Щелчок ! Логотип
Парадигма объектно-ориентированный , образовательный , событийно-ориентированный
Разработано Брайан Харви и Йенс Мёниг
Разработчик Йенс Мёниг
Впервые появился 2011 год ; 13 лет назад ( 2011 )
Стабильная версия
9.2.17 / 24 апреля 2024 г .; 3 месяца назад ( 24.04.2024 ) [1]
Дисциплина набора текста динамичный
Язык реализации Морфический.js [2] (написано на JavaScript ); [Примечание 1]
ТЫ Кросс-платформенный
Лицензия АГПЛ
Расширения имен файлов .xml (Привязка ! )
Веб-сайт щелчок .Беркли .edu
Под влиянием
Скретч , Схема , Логотип , Smalltalk , APL
Под влиянием
BeetleBlocks, NetsBlox, Dragme IDE, Turtlestitch

Щелчок ! графический язык программирования на основе блоков (ранее Build Your Own Blocks) — это бесплатный образовательный и онлайн-сообщество. Snap позволяет учащимся исследовать, создавать и смешивать интерактивные анимации, игры, истории и многое другое, одновременно изучая математические и вычислительные идеи. Вдохновленный Scratch , Snap ! имеет множество расширенных функций. Снап ! редактор и программы, созданные в нем, представляют собой веб-приложения , которые запускаются в браузере (например, Scratch 3 ), не требуя установки . [Примечание 2] Он построен на основе Morphic.js , [2] Морфический графический интерфейс, написанный Йенсом Мёнигом как «средний уровень» между Snap! сам по себе и «голый» JavaScript.

Пользовательский интерфейс

[ редактировать ]

В Snap ! , экран состоит из трех столбцов изменяемого размера, содержащих пять областей: селектор группы блоков (верхняя часть левого столбца), палитра блоков (левый столбец), основная область (средний столбец) и область сцены (верхняя часть правого столбца). с селектором спрайтов (также называемым загоном спрайтов), под которым отображаются миниатюры спрайтов. [Примечание 3]

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

Категория Примечания Категория Примечания
 Движение Перемещает и поворачивает спрайты  Контроль Если высказывания, события,
петлевые структуры,
сцены, ООП,
metaprogramming
 выглядит Контролирует видимость,
костюмы и продукция
 зондирование Обнаружение всех попаданий в спрайты
и пользовательский ввод
 Звук Воспроизводит аудиофайлы и
программируемый секвенсорный звук
 Операторы Математические, текстовые и
логические операторы; лямбда
 Ручка Пишите, рисуйте или
штамп на сцене
 Переменные Переменные, списки,
включая списки списков, списки блоков и т. д.
Три столбца изменяемого размера, содержащие пять регионов, в интегрированной среде разработки Snap! при запуске.

Щелчок !' Блоки разделены на восемь групп: «Движение», «Вид», «Звук», «Перо», «Управление», «Обнаружение», «Операторы» и «Переменные». Расположение этих групп в селекторе групп блоков показано в таблице ниже.

В центральной области могут отображаться сценарии, костюмы/декорации или звуки, связанные с выбранным спрайтом. То, что отображается в этой области, зависит от выбранной вкладки.

Наиболее важные функции Snap ! предлагает, но не Scratch, включает в себя:

  • Выражения, использующие анонимные функции, представленные блоком внутри серого кольца, имеющие один или несколько пустых слотов/аргументов, которые заполняются «функцией более высокого порядка» (той, которая вызывает анонимную). (Их теоретическая основа информатики — это первоклассные функции , которые, в свою очередь, имеют лямбда-исчисление в качестве еще более абстрактной и математической основы)
  • Списки первого класса (включая списки списков/массивов )
  • Спрайты первого класса (или, другими словами, прототипно-ориентированное бесклассовое объектное программирование на основе экземпляров )
  • «Гиперблоки»: функции, естественной областью которых являются скаляры (текст или числа), расширенные для приема списков в качестве входных данных и применения базовой функции к скалярам в списке или подсписке.
  • Вложенные спрайты
  • Кодификация Snap ! программы на текстовые языки, такие как Python , JavaScript, C и т. д.
  • Метапрограммирование , рефлексия и макросы

Талисман

[ редактировать ]

Алонсо, талисман Snap ! , носит имя Алонзо Чёрча , изобретателя модели вычислений, в которой универсальная функция, представленная лямбда-выражением, может создавать любое поведение функции, вызывая ее сама на себя в различных комбинациях. Талисман представляет собой модифицированную версию Гобо из Scratch , созданную с разрешения команды Scratch. Поскольку работа Алонсо Чёрча называется лямбда-исчислением , волосы талисмана имеют форму греческой буквы лямбда .

Блоки специального назначения (библиотеки)

[ редактировать ]

Расширенные наборы блоков можно найти в Snap ! библиотеки, такие как библиотека «streams» , которая позволяет создавать полную бесконечную последовательность Фибоначчи , например, используя специальные блоки («поток», «показать поток», «хвост потока» и «map () поверх поток') из библиотеки.

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

Ограничения

[ редактировать ]

Хотя само программное обеспечение не имеет особых ограничений, оно имеет некоторые ограничения.

К ним относятся следующие:

  • Нет собственных облачных переменных
  • 10  МБ Максимальный размер файла для загрузки — (только Snap ! Cloud)
  • Пользователям приходится вручную включать Javascript при загрузке проекта.

Веб-приложение Snap ! и более старая версия BYOB для настольных компьютеров были разработаны Йенсом Мёнигом для Windows , OS X и Linux. [3] с дизайнерскими идеями и документацией, предоставленными Брайаном Харви [4] из Калифорнийского университета в Беркли и использовались для преподавания вводного курса по информатике (CS) «Красота и радость вычислений» для студентов, не изучающих компьютерные науки. [5] Йенс был членом команды Scratch до создания Snap! . [6] BYOB по-прежнему доступен для скачивания.

Лицензия

[ редактировать ]

Исходный код Snap ! имеет лицензию GNU Affero General Public License (AGPL) и размещен на GitHub . [7] Код более ранней версии 3.x для настольных компьютеров доступен по лицензии, которая позволяет вносить изменения только для некоммерческого использования, и его можно загрузить с веб-сайта Калифорнийского университета в Беркли. [8] или CNET сайт download.com и страницу загрузки TechTracker. [9] [10]

Платформы

[ редактировать ]

Щелчок! работает в основных веб-браузерах на устройствах Windows , iOS , MacOS и Linux .

Поддерживаемые веб-браузеры, такие как

  • Firefox
  • Chrome (и большинство браузеров на базе Chromium).
  • Опера GX
  • Microsoft Край
  • Сафари

Выполнение

[ редактировать ]

Щелчок ! построен на основе Morphic.js , [2] Морфический графический интерфейс, который служит «средним слоем» между Snap! сам по себе и «голый» JavaScript. Он использует (API) HTML5 Canvas интерфейс прикладного программирования .

Все, что видно в Snap ! сами являются морфами, т.е. все кнопки, ползунки, диалоговые окна, меню, поля ввода, рендеринг текста, мигающие курсоры и т. д. создаются с помощью morphic.js, а не с использованием элементов HTML DOM. Щелчок! кэширует формы спрайтов , поэтому спрайт не нужно перерисовывать на новом элементе Canvas каждый раз, когда мышь перемещается над его ограничивающей рамкой. Однако он не кэширует блоки. Вместо этого он управляет внутренней частью C-образных блоков через механизм морфических «отверстий».

Все взаимодействие с пользователем инициируется событиями, которые передаются от корневого элемента «мир» к его подморфам. Удаление морфа приводит к тому, что он становится встроенным в новый морф «владельца» («родителя»). В Morphic предпочтительный способ запуска анимации — зарегистрировать ее в мире, добавив в очередь анимации мира. Мир выполняет каждую зарегистрированную анимацию один раз за цикл отображения независимо от механизма морфического шага.

Признание

[ редактировать ]

Щелчок ! был признан Logo Foundation, [11] и рассмотрен в интернет-журнале для программистов. [12] По состоянию на декабрь 2014 года 100 средних школ Нью-Йорка (Нью-Йорк) представили курс «Красота и радость вычислений» Калифорнийского университета в Беркли в качестве нового курса AP «Принципы компьютерных наук» с использованием Snap ! . [13] Йенс и Брайан получили награду за лидерство в образовании Национального саммита технологических лидеров (NTLS) 2020 года за жизненные достижения, частично основанные на Snap ! .

Примечания

[ редактировать ]
  1. ^ BYOB был написан на языке Squeak .
  2. ^ BYOB, Snap ! Предшественник был модификацией Scratch и мог экспортировать проекты как исполняемые файлы Windows .
  3. ^ Как был организован экран версии до 2.0 Scratch.
  1. ^ "jmoenig/Привязка" . Гитхаб . Проверено 17 мая 2024 г.
  2. ^ Перейти обратно: а б с Мёниг, Йенс. "морфик.js" . Гитхаб . Проверено 7 июня 2023 г.
  3. ^ «Скретч — представь, запрограммируй, поделись» . Scratch.mit.edu . Проверено 21 мая 2017 г.
  4. ^ «Домашняя страница Брайана Харви ( [электронная почта защищена] . люди.eecs.berkeley.edu/~bh / . Проверено 19 января 2019 г.
  5. ^ «UC Berkeley EECS — CS10: красота и радость вычислений — осень 2011 г.» . inst.eecs.berkeley.edu . Проверено 21 мая 2017 г.
  6. ^ «Отношения с командой Scratch — Политика — Форумы Snap!» . forum.snap.berkeley.edu . Архивировано из оригинала 2 января 2020 г.
  7. ^ "jmoenig/Привязка" . Гитхаб . Проверено 21 мая 2017 г.
  8. ^ «Привязка! (Создайте свои собственные блоки) 4.0» . snap.berkeley.edu . Проверено 21 мая 2017 г.
  9. ^ от CNET TechTracker. BYOB для Windows CNET Download.com и страница загрузки
  10. ^ CNET Download.com и TechTracker BYOB для Mac Страница загрузки
  11. ^ «История логотипа» . el.media.mit.edu . Проверено 21 мая 2017 г.
  12. ^ Ну и дела, Сью. «Visual Language Snap! Выпущена версия 4.0» . i-programmer.info . Проверено 21 мая 2017 г.
  13. ^ «ФАКТИЧЕСКИЙ ЛИСТ: Новые обязательства по поддержке образования в области компьютерных наук» . obamawhitehouse.archives.gov . 8 декабря 2014 года . Проверено 20 января 2019 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 53e27f40c89d9b830a2883526cb390e8__1717416960
URL1:https://arc.ask3.ru/arc/aa/53/e8/53e27f40c89d9b830a2883526cb390e8.html
Заголовок, (Title) документа по адресу, URL1:
Snap! (programming language) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)