ToonTalk
Парадигма | Параллельная логика ограничений |
---|---|
Разработано | Кен Кан |
Разработчик | Кен Кан |
Впервые появился | 1995 |
Стабильная версия | 3.0
/ {2009} |
Платформа | Рабочий стол — это Microsoft Windows, а ToonTalk Reborn — HTML5. |
Лицензия | Версии 1.0 и 2.0 имели коммерческие лицензии от нескольких разных издателей по всему миру, но версия 3.0 теперь бесплатна. ToonTalk Reborn — это BSD 3.0. |
Расширения имен файлов | .tt для рабочего стола ToonTalk |
Веб-сайт | www |
Основные реализации | |
ToonTalk IDE и ToonTalk возродились для Интернета | |
Диалекты | |
Desktop ToonTalk и ToonTalk возродились для Интернета | |
Под влиянием | |
Янус ; Модель актера |
ToonTalk — это система компьютерного программирования, предназначенная для программирования детьми. Часть «Toon» означает мультфильм. Система представлена в виде анимированных персонажей, в том числе роботов, которых можно обучать на личном примере. Это одна из немногих успешных реализаций парадигмы программирования логики параллельных ограничений за пределами академических кругов .
Он был создан Кеннетом М. Каном в 1995 году. [ 1 ] и реализован как часть ToonTalk IDE, [ 2 ] пакет программного обеспечения, распространявшийся по всему миру в период с 1996 по 2009 год. С 2009 года его спецификация публикуется в научных публикациях. [ 3 ] и его реализация находится в свободном доступе.
Начиная с 2014 года версия ToonTalk на JavaScript HTML5 под названием ToonTalk Reborn for the Web. [ 4 ] [ 5 ] [ 6 ] был доступен. Он работает в любом современном веб-браузере и несколько отличается от настольной версии ToonTalk. Программы ToonTalk могут работать с любым элементом DOM, и программам ToonTalk доступны различные возможности браузера (аудио, видео, таблицы стилей, речевой ввод и вывод, а также события браузера). Веб-сервисы, такие как Google Drive, интегрированы. ToonTalk Reborn бесплатен и имеет открытый исходный код.
Помимо коммерческого продукта, ToonTalk развивался благодаря значительному академическому использованию в различных исследовательских проектах, в частности в Лондонской лаборатории знаний и Институте образования - проектах Playground и WebLabs, в которых участвовали партнеры по исследованиям из Кембриджа ( Аддисон Уэсли Лонгман через их дочернюю компанию Logotron). ), Португалия ( Кнотинфор и Лиссабонский университет ), Швеция ( Королевский технологический институт ), Словакия ( Университет Коменского ) , Болгария ( Софийский университет ), Кипр ( Кипрский университет ) и Италия (Институт образовательных технологий Национального совета делле Ричерш ). Это также стало источником академического интереса в Швеции, где Микаэль Киндборг предложил статическое представление программ ToonTalk. [ 7 ] и в Португалии, где Леонель Моргадо изучал потенциал компьютерного программирования для неграмотных детей. [ 8 ]
ToonTalk находился под влиянием языка программирования Janus и модели Actor . Основная коммуникационная абстракция в ToonTalk — пара птица/гнездо. Когда вы (программист или робот) даете птице вещь, она летит в свое гнездо, кладет туда вещь, а затем возвращается. Если один или несколько предметов уже занимают гнездо, птица кладет новый под остальные.
Программа ToonTalk представляет собой последовательность правил, где каждое правило имеет начало и конец. Голова — это шаблон, который можно сопоставить с аргументом, который должен быть кортежем. В презентации ToonTalk правило представлено в виде робота, программа — в виде команды роботов, а кортеж — в виде коробки, в которой может быть любое количество отверстий или отделений, в которые можно помещать предметы. Алфавит вещей включает в себя цифровые и текстовые панели, другие коробки, команды роботов, птиц, гнезда и вещи из некоторых других категорий. Процесс представляет собой коробку, над которой работает команда роботов. Если ни один из шаблонов не соответствует полю, процесс приостанавливается. В противном случае срабатывает первое подходящее правило. Окончание хвоста правила может либо уничтожить процесс, либо продолжить его той же командой. Если шаблон требует чего-то иного, чем пустое гнездо, где оно присутствует, процесс приостанавливается до тех пор, пока какая-нибудь птица не поместит что-нибудь в гнездо (обычно в результате действий других процессов). Гнездо с чем-то на нем соответствует шаблону, как если бы гнезда не было, а было только что-то (верхнее). Действия в хвосте также манипулируют чем-то, а не всем гнездом. Следовательно, гнездо можно использовать для программирования будущее .
ToonTalk можно читать как императивное, так и декларативное. Если мы проигнорируем определенные конструкции, предназначенные для облегчения ввода-вывода, мы увидим, что ToonTalk не имеет общего доступа к изменяемой памяти. Механизм «птица/гнездо» напоминает коммуникацию в модели Актера, но с дополнительными возможностями, позволяющими передавать гнезда и процессу удерживать более одного гнезда (что также верно в Janus ). Разница между общением в модели Actor и в 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 . S2CID 13442755 .
- ^ Кан, Кен (2014). «TOONTALK REBORN Новая реализация и новая концепция ToonTalk для Интернета» (PDF) . Материалы конференции «Конструктивизм 2014» . Архивировано из оригинала (PDF) 14 марта 2017 г. Проверено 18 ноября 2016 г.
- ^ Кан, Кен (2016). Интеграция языков программирования с веб-браузерами . Фонд Суксапаттана. стр. 141–149. ISBN 978-616-92726-0-1 .
- ^ Кан, Кен (01 января 2016 г.). «Демонстрация ToonTalk, где дети создают программы путем демонстрации в игровом мире». Материалы 15-й Международной конференции по интерактивному дизайну и детям . ИДЦ '16. Нью-Йорк, штат Нью-Йорк, США: ACM. стр. 676–679. дои : 10.1145/2930674.2938611 . ISBN 9781450343138 . S2CID 19973661 .
- ^ Микаэль, Киндборг (2001). Представление программ ToonTalk в виде комиксов . Международный семинар по игровым площадкам. Каса-де-Вилар, Порту, Португалия.
- ^ Моргадо, Леонель (2005). Основы компьютерного программирования в дошкольном и детском саду (докторская диссертация). Университет Трас-уш-Монтес и Альту-Дору, Вила-Реал, Португалия. hdl : 10348/5344 . Архивировано из оригинала 7 декабря 2022 года.
Внешние ссылки
[ редактировать ]