Язык общего назначения Logo широко известен благодаря использованию черепашьей графики , в которой команды для перемещения и рисования создают линейную или векторную графику либо на экране, либо с помощью небольшого робота, называемого черепахой . Язык был задуман для обучения концепциям программирования, связанным с Лиспом , и лишь позже для того, чтобы сделать возможным то, что Пейперт называл « телесно-синтоническим рассуждением», когда студенты могли понимать, предсказывать и рассуждать о движении черепахи, представляя, что бы они сделали, если бы они были черепаха. Между многими диалектами логотипа существуют существенные различия, и ситуацию усложняет регулярное появление программ черепашьей графики под названием Logo.
Логотип обычно является интерпретируемым языком , хотя были разработаны скомпилированные диалекты логотипа (такие как лого и лиого). Логотип не чувствителен к регистру, но сохраняет регистр, используемый для форматирования.
История
Логотип был создан в 1967 году в исследовательской фирме Bolt, Beranek and Newman (BBN) в Кембридже, штат Массачусетс , Уолли Фёрзейгом , Синтией Соломон и Сеймуром Папертом . [5] Его интеллектуальные корни лежат в искусственном интеллекте , математической логике и психологии развития . В течение первых четырех лет работы над логотипом исследования, разработки и преподавание проводились в BBN. Первая реализация Logo, названная Ghost, была написана на LISP на PDP-1 . Целью было создать математическую страну, где дети могли бы играть со словами и предложениями. [6] Созданный по образцу LISP, цели дизайна логотипа включали доступную мощность [ необходимы пояснения ] и информативные сообщения об ошибках. Использование виртуальных черепах позволило обеспечить немедленную визуальную обратную связь и отладку графического программирования.
Первый работающий робот-черепаха Logo был создан в 1969 году. Демонстрационная черепаха предшествовала физической напольной черепахе. Современный логотип не сильно изменился по сравнению с основными концепциями, существовавшими до появления первой черепахи. Первая черепаха была привязанным напольным бродягой, а не радиоуправляемой или беспроводной . В BBN Пол Вексельблат разработал черепаху по имени Ирвинг, которая имела сенсорные датчики и могла двигаться вперед, назад, вращаться и звонить в колокольчик. Первые годичные пользователи Logo были в 1968–69 годах в школе Muzzey Jr. High в Лексингтоне, штат Массачусетс . Виртуальные и физические черепахи впервые были использованы пятиклассниками школы Бридж в том же городе в 1970–71 годах.
Самая известная особенность логотипа — черепаха (первоначально созданная на основе одноименного робота ), [5] экранный « курсор », который показывает выходные данные команд движения и небольшого выдвижного пера, вместе создающие линейную графику. Традиционно он отображается либо в виде треугольника, либо в виде значка черепахи (хотя он может быть представлен любым значком). Графика черепахи была добавлена в язык логотипа Сеймуром Пейпертом в конце 1960-х годов для поддержки версии робота-черепахи Пейперта, простого робота, управляемого с рабочей станции пользователя, который предназначен для выполнения возложенных на него функций рисования с помощью небольшого набора выдвижных ручек. в корпус робота или прикреплен к нему.
На практике использование геометрии черепахи вместо более традиционной модели имитирует реальную логику движения робота-черепахи. Черепаха движется по командам, которые соответствуют ее собственному положению: ВЛЕВО 90 означает поворот влево на 90 градусов. Некоторые реализации логотипа, особенно те, которые позволяют использовать параллелизм и несколько черепах, поддерживают обнаружение столкновений и позволяют пользователю переопределять внешний вид курсора-черепахи, по сути позволяя черепахам логотипа функционировать как спрайты .
Геометрия черепахи также иногда используется в средах, отличных от Logo, в качестве альтернативы графической системе со строгой координатной адресацией. Например, идея черепашьей графики также полезна в системе Линденмайера для генерации фракталов .
Реализации
Экран приветствия логотипа IBM LCSIИсходный код и вывод в логотипе IBM LCSI.
Некоторые современные производные от логотипа позволяют тысячам черепах самостоятельно передвигаться. Существует две популярные реализации: StarLogo Массачусетского технологического института и NetLogo Центра подключенного обучения Северо-Западного университета (CCL) . Они позволяют исследовать возникающие явления и сопровождают множество экспериментов в социальных исследованиях, биологии, физике и других областях. NetLogo широко используется в агентном моделировании в биологических и социальных науках.
Хотя единого стандарта не существует, существует широкий консенсус по основным аспектам языка. В марте 2020 года было насчитано 308 реализаций и диалектов логотипа, каждый из которых имеет свои сильные стороны. [8] Большинство из этих 308 больше не широко используются, но многие все еще находятся в стадии разработки. Коммерческие реализации, широко используемые в школах, включают MicroWorlds Logo и Imagine Logo .
Устаревшие и текущие реализации включают в себя:
Впервые выпущен в 1980-х годах.
Логотип Apple для Apple II Plus и Apple Logo Writer для Apple IIe , разработанные компанией Logo Computer Systems, Inc. (LCSI), были наиболее широко используемыми и распространенными ранними реализациями логотипа, пик которых пришелся на начало-середину 1980-х годов.
Aquarius LOGO был выпущен компанией Mattel в 1982 году на картридже для домашнего компьютера Aquarius .
ExperLogo был выпущен в 1985 году на дискете компанией Expertelligence Inc. для Macintosh 128K .
Hot-Logo был выпущен в середине 1980-х годов компанией EPCOM для 8-битных компьютеров MSX с собственным набором команд на бразильском португальском языке.
Логотип TI (для компьютера TI-99/4A ) использовался в начальных школах, подчеркивая полезность логотипа при обучении начинающих программистов основам вычислений.
Sprite Logo, также разработанный компанией Logo Computer Systems Inc., имел десять черепах, которые могли работать как независимые процессы. Он работал на компьютерах Apple II с помощью карты Sprite Card, вставленной в один из слотов компьютера.
IBM выпустила на рынок свою собственную версию логотипа (номер по каталогу 6024076), разработанную совместно с Logo Computer Systems, Inc. (LCSI), для своего тогда нового IBM PC.
ObjectLOGO — это вариант Logo с расширениями объектно-ориентированного программирования и лексической областью действия. Версия 2.7 продавалась компанией Digitool, Inc. [11] Она больше не разрабатывается и не поддерживается, и не работает в версиях операционной системы Mac позже 7.5. [12]
Логотип Acornsoft был выпущен в 1985 году. Это коммерческая реализация логотипа для 8-битных компьютеров BBC Micro и Acorn Electron . [17] Он был разработан для Acorn Computers как полная реализация Logo. Он оснащен несколькими экранами- черепахами и четырехканальным звуком. Он поставлялся на двух ПЗУ по 16 КБ с утилитами и драйверами в качестве сопутствующего программного обеспечения. [18]
Впервые выпущен в 1990-х годах.
В феврале 1990 года журнал Electron User опубликовал простую реализацию Тимоти Грэнтэма логотипа для Acorn Electron в статье «Говорящая черепаха». [19]
Логотип Comenius — это реализация логотипа, разработанного факультетом математики и физики Университета Comenius . Он начал разрабатываться в декабре 1991 года и также известен в других странах как SuperLogo, MultiLogo и MegaLogo. [20]
Lego Logo — это версия Logo, которая может манипулировать роботизированными кубиками Lego , прикрепленными к компьютеру. [21] Он был реализован на Apple II и использовался в американских и других начальных школах в конце 1980-х и начале 1990-х годов. [22] Логотип Lego является предшественником Scratch . [23]
UCBLogo , также известный как Berkeley Logo, представляет собой бесплатную кроссплатформенную реализацию стандартного логотипа, последний раз выпущенного в 2009 году. Джордж Миллс из Массачусетского технологического института использовал UCBLogo в качестве основы для MSWLogo , который является более совершенным и бесплатным. Джим Мюллер написал книгу « Великое приключение с логотипом» , которая представляла собой полное руководство по логотипам и в которой MSWLogo использовался в качестве демонстрационного языка. [24] MSWLogo превратился в FMSLogo .
Впервые выпущен с 2000 года.
aUCBLogo — это переписанная и улучшенная версия UCBLogo .
Imagine Logo является преемником Comenius Logo, реализованного в 2000 году. [25] Английская версия была выпущена компанией Logotron Ltd. в 2001 году. [26]
LibreLogo — это расширение некоторых версий LibreOffice. Выпущенный в 2012 году, он написан на Python . Он позволяет писать векторную графику в Writer.
Logo3D — это трехмерная версия Logo.
POOL — диалект Logo с объектно-ориентированными расширениями, реализованный в 2014 году. Программы POOL компилируются и запускаются в графической IDE на Microsoft Windows . Для систем, поддерживающих .NET Framework , доступна упрощенная кроссплатформенная среда .
QLogo — это кроссплатформенная переработка UCBLogo с открытым исходным кодом , обеспечивающая почти полную совместимость с UCB и использующую графику с аппаратным ускорением.
Lynx — это онлайн-версия Logo, разработанная компанией Logo Computer Systems Inc. Она может запускать большое количество черепах, поддерживает анимацию, параллельные процессы, определение цвета и столкновений.
LogoMor — это онлайн-интерпретатор 3D-логотипов с открытым исходным кодом, основанный на JavaScript и p5.js. Он поддерживает 3D-рисунки, анимацию, мультимедиа, 3D-модели и различные инструменты. Он также включает полнофункциональный редактор кода на основе CodeMirror.
LbyM — это онлайн-интерпретатор логотипов с открытым исходным кодом, основанный на JavaScript, созданный и активно развиваемый (по состоянию на 2021 год) для программы Learning by Making Университета штата Сонома . [27] Он оснащен традиционным программированием логотипов, возможностью подключения к индивидуальному микроконтроллеру и интеграцией с современным редактором кода.
Влияние
Логотип оказал основное влияние на язык программирования Smalltalk . Это также основное влияние на среду и язык образовательного программирования Etoys , который по сути представляет собой вариант логотипа, написанный на Squeak (который сам по себе является вариантом Smalltalk). Логотип повлиял на модель процедуры/метода в AgentSheets и AgentCubes , запрограммировав агентов аналогично понятию черепахи в Logo. Логотип стал основным языком для Boxer. Boxer был разработан в Калифорнийском университете в Беркли и Массачусетском технологическом институте и основан на модели грамотности , что упрощает его использование людьми, не имеющими технических знаний. [28]
KTurtle — это вариант логотипа, реализованный в Qt для среды KDE, в общих чертах основанный на логотипе. [29]
Еще двумя результатами влияния Logo являются Kojo , вариант Scala, и Scratch , визуальный язык перетаскивания, который работает в веб-браузере.
Рекомендации
^ Абельсон, Хэл; Гудман, Нэт; Рудольф, Ли (декабрь 1974 г.). «Руководство по логотипам». Лаборатория искусственного интеллекта Массачусетского технологического института . hdl : 1721.1/6226. Архивировано из оригинала 11 сентября 2016 года . Проверено 28 августа 2016 г.
^ Гольденберг, Э. Пол (август 1982 г.). «Логотип - культурный глоссарий». Байт . п. 218 . Проверено 19 октября 2013 г.
^ «Проект дерева логотипов» (PDF) . Элика.нет . Архивировано из оригинала (PDF) 6 марта 2009 г. Проверено 25 марта 2020 г.
^ Брейн, Джим; Циммерман, Бо (30 октября 2017 г.). «Канонический список продуктов Commodore». Архивировано из оригинала 20 декабря 2017 г. Проверено 3 декабря 2017 г.
^ «Логотип - Подробности программного обеспечения» . Плюс/4 Мир . Архивировано из оригинала 4 декабря 2017 г. Проверено 3 декабря 2017 г.
^ Логотип объекта. Архивировано 30 апреля 2008 г. на странице Wayback Machine на веб-сайте Digitool (по состоянию на 4 марта 2008 г.).
^ Страница заказа логотипа объекта на веб-сайте Digitool (по состоянию на 4 марта 2008 г.)
^ «DRI поставляет 128-тысячную версию логотипа Dr. Logo» (PDF) . Micro Notes — техническая информация о продуктах Digital Research . Том. 2, нет. 2. Пасифик Гроув, Калифорния, США: Digital Research, Inc., май 1984 г., с. 4. СЗВ-106-002. Архивировано (PDF) из оригинала 11 февраля 2020 г. Проверено 11 февраля 2020 г. […] Dr. Logo впервые появился на розничном рынке осенью 1983 года для IBM PC и поднялся на вершину Hot List Softsel . Розничная версия включала SpeedStart CP/M , сокращенную версию CP/M , которая загружается автоматически при включении системы. […][1]
^ «Поиск по каталогу | Музей компьютерной истории» . www.computerhistory.org .
^ "Amstrad CPC 6128 - Компьютер - История вычислений" . www.computinghistory.org.uk .
^ Булл, Г.; Гарофало, Дж.; Хгуен, Н. (2020), «Размышления о вычислительном мышлении: истоки вычислительного мышления в образовательных вычислениях», Журнал цифрового обучения в педагогическом образовании , 36 (1): 6–18, doi : 10.1080/21532974.2019.1694381, S2CID 214563715
^ Мюллер, Джим (ноябрь 2001 г.). «MSWLogo, образовательный язык программирования» . Проверено 5 января 2022 г.
^ Андрей, Калас; Блахо, Иван (2000). Представьте себе... новое поколение логотипов: программируемые изображения. ОСЛК 854959806.
^ "Представьте | Пресс-релиз" . 17 апреля 2001 г. Архивировано из оригинала 17 апреля 2001 г. Проверено 12 октября 2022 г.
^ «Обучение путем создания ¦ Make@SSU» . 14 августа 2017 года . Проверено 8 января 2022 г.
^ "Боксер - EduTech Wiki" . edutechwiki.unige.ch . Проверено 10 апреля 2024 г.
^ «Образовательный проект KDE - KTurtle» . edu.kde.org . Архивировано из оригинала 27 августа 2006 г.
дальнейшее чтение
К искусственному интеллекту (1976). Ранний учебник по искусственному интеллекту, в котором широко используется логотип. (Используется диалект Эдинбургского университета , AI2LOGO)
Обучение с логотипом , Дэниел Уотт, МакГроу Хилл, ISBN 0-07-068570-3 . Доступно через Amazon
Преподавание с логотипом: строительные блоки для обучения, Молли Уотт и Дэниел Уотт, Эддисон Уэсли (ныне Пирсон), 1986, ISBN 0-201-08112-1 , доступен на Amazon
«Логотип» (PDF) . Байт . Том. 7, нет. 8. МакГроу-Хилл. 1982.( Специальный выпуск журнала Byte за 1982 год, содержащий несколько статей о логотипе).
Внешние ссылки
СМИ, связанные с логотипом (языком программирования) на Викискладе?