ToonTalk - ToonTalk
Парадигма | параллельная логика ограничений |
---|---|
Разработано | Кен Кан |
Разработчик | Кен Кан |
Впервые появился | 1995 |
Стабильный выпуск | 3.0 / {2009} |
Платформа | Рабочий стол - это Microsoft Windows, а ToonTalk Reborn - это HTML5 |
Лицензия | Версии 1.0 и 2.0 имели коммерческие лицензии от нескольких разных издателей по всему миру, но версия 3.0 теперь бесплатна. ToonTalk Reborn - это BSD 3.0 |
Расширения имени файла | .tt для настольных компьютеров ToonTalk |
Интернет сайт | ToonTalk IDE и язык (анимированные программы) и ToonTalk Reborn для Интернета |
Основной реализации | |
ToonTalk IDE и ToonTalk Reborn для Интернета | |
Диалекты | |
Desktop ToonTalk и ToonTalk возрождается для Интернета | |
Под влиянием | |
Янус; Актерская модель |
ToonTalk это компьютерная система программирования, предназначенная для программирования детьми. Часть "Toon" означает мультфильм. Система представлена в виде анимированных персонажей, в том числе роботов, которых можно обучить на собственном примере. Это одна из немногих успешных реализаций за пределами академических кругов параллельное программирование логики ограничений парадигма.
Он был создан Кеннет М. Кан в 1995 г.[1] и реализован как часть ToonTalk IDE,[2] пакет программного обеспечения, распространяемый по всему миру с 1996 по 2009 год. С 2009 года его спецификации публикуются в научных публикациях.[3] и его реализация находится в свободном доступе.
Начиная с 2014 года версия ToonTalk для JavaScript HTML5 под названием ToonTalk Reborn для Интернета[4][5][6] был доступен. Он работает в любом современном веб-браузере и несколько отличается от настольной версии ToonTalk. Программы ToonTalk могут работать на любом элементе DOM, и для программ ToonTalk доступны различные возможности браузера (аудио, видео, таблицы стилей, ввод и вывод речи и события браузера). Интегрированы веб-сервисы, такие как Google Drive. ToonTalk Reborn распространяется бесплатно и с открытым исходным кодом.
Помимо коммерческого продукта, ToonTalk развивался благодаря значительному академическому использованию в различных исследовательских проектах, особенно в Лондонская лаборатория знаний и Институт Образования - проекты Детская площадка и WebLabs, в котором участвовали партнеры по исследованиям из Кембриджа (Эддисон Уэсли Лонгман через их дочернюю компанию Logotron), Португалия (Cnotinfor и Лиссабонский университет ), Швеция (Королевский технологический институт ), Словакия (Коменский университет ), Болгария (Софийский университет ), Кипр (Университет Кипра ) и Италии (Институт образовательных технологий Consiglio Nazionale delle Ricerche ). Это также стало источником академического интереса в Швеции, где Микаэль Киндборг предложил статическое представление программ ToonTalk.[7] и в Португалии, где Леонель Моргадо изучал его потенциал для компьютерного программирования безграмотными детьми.[8]
ToonTalk находился под влиянием Язык программирования Janus и Актерская модель. Основная коммуникационная абстракция в ToonTalk - это пара птица / гнездо. Когда вы (программист или робот) даете вещь птице, она летит в свое гнездо и кладет в него вещь, а затем возвращается. Если одна или несколько вещей уже занимают гнездо, птица кладет новую под другие.
Программа ToonTalk - это последовательность правил, в которой у каждого правила есть начало и конец. Голова - это шаблон, который может быть сопоставлен с аргументом, который должен быть кортежем. В презентации ToonTalk правило отображается как робот, программа - как команда роботов, а кортеж - как коробка, которая может иметь любое количество отверстий или отсеков, в которые могут быть помещены предметы. В алфавит входят цифровые и текстовые панели, другие коробки, команды роботов, птицы, гнезда и вещи из некоторых других категорий. Процесс представляет собой ящик, над которым работает команда роботов. Если ни один из шаблонов не соответствует полю, процесс приостанавливается. В противном случае срабатывает первое совпадающее правило. Конец хвоста правила может либо разрушить процесс, либо продолжить его с той же командой. Если шаблон требует чего-то другого, кроме пустого гнезда, в котором присутствует пустое гнездо, процесс приостанавливается до тех пор, пока какая-то птица не поместит что-то в гнездо (обычно в результате действий других процессов). Гнездо с чем-то на нем соответствует шаблону, как если бы гнезда не было, а только что-то (верхнее). Действия в хвосте также управляют чем-то, а не всем гнездом. Следовательно, гнездо можно использовать для программирования будущее.
ToonTalk можно прочитать в обязательном или декларативном порядке. Если мы проигнорируем определенные конструкции, предназначенные для облегчения ввода-вывода, мы увидим, что ToonTalk не имеет общего доступа к изменяемой памяти. Механизм птица / гнездо напоминает коммуникацию в модели Актера, но с дополнительной властью, позволяющей перемещать гнезда вокруг и для процесса, чтобы удерживать более одного гнезда (что также верно в Янус ). Разница между общением в модели «Актер» и в ToonTalk заключается в том, что ToonTalk сохраняет порядок сообщений; однако ToonTalk также может обеспечивать неопределенное слияние потоков сообщений.
Рекомендации
- ^ Кан, Кен (22–25 апреля 1995 г.). «Дизайн метафор - пример анимированной среды программирования» (PDF). Труды конференции разработчиков компьютерных игр (CGDC), 1995, 9-я ежегодная всемирно известная. Конференция разработчиков компьютерных игр. Конференция разработчиков компьютерных игр. п. 241.
- ^ Кан, Кен (1996). «ToonTalk ™ - Анимированная среда программирования для детей» (PDF). Журнал визуальных языков и вычислений. 7 (2): 197–217. Дои:10.1006 / jvlc.1996.0011. ISSN 1045-926X.
- ^ Моргадо, Леонель; Кан, Кен (2008). «К спецификации языка ToonTalk» (PDF). Журнал визуальных языков и программирования. 19 (5): 574–597. Дои:10.1016 / j.jvlc.2007.10.002. ISSN 1045-926X.
- ^ Кан, Кен (2014). «TOONTALK REBORN Повторное внедрение и переосмысление ToonTalk для Интернета» (PDF). Материалы конференции «Конструкционизм 2014».
- ^ Кан, Кен (2016). Интеграция языков программирования с веб-браузерами. http://cmu.us11.list-manage.com/track/click?u=fa4a7ca1f97066875abea84d1&id=f9def33e7a&e=4693519f32: Фонд Суксапаттаны. С. 141–149. ISBN 978-616-92726-0-1.CS1 maint: location (связь)
- ^ Кан, Кен (01.01.2016). «Демонстрация ToonTalk, где дети создают программы путем демонстрации в игровом мире». Материалы 15-й Международной конференции по интерактивному дизайну и детям - IDC '16. Материалы 15-й Международной конференции по интерактивному дизайну и детям. IDC '16. Нью-Йорк, Нью-Йорк, США: ACM. С. 676–679. Дои:10.1145/2930674.2938611. ISBN 9781450343138. S2CID 19973661.
- ^ Микаэль, Киндборг (2001). Представление программ ToonTalk в виде комиксов. Международный семинар "Детская площадка". Casa de Vilar, Порту, Португалия.
- ^ Моргадо, Леонель (2005). Рамки компьютерного программирования в дошкольных учреждениях и детских садах (PDF) (докторская диссертация). Universidade de Trás-os-Montes e Alto Douro, Вила-Реал, Португалия.