Язык общего назначения, Logo широко известен своим использованием графики черепахи , в которой команды для движения и рисования производили линейную или векторную графику , либо на экране, либо с помощью небольшого робота, называемого черепахой . Язык был задуман для обучения концепциям программирования, связанным с Lisp , и только позже для того, чтобы сделать возможным то, что Паперт назвал « телесно-синтонным рассуждением», где студенты могли понимать, предсказывать и рассуждать о движении черепахи, представляя, что бы они сделали, если бы они были черепахой. Существуют существенные различия между многими диалектами Logo, и ситуация запутывается регулярным появлением программ графики черепахи, которые называются Logo.
Logo обычно является интерпретируемым языком , хотя были разработаны компилированные диалекты Logo (такие как Lhogho и Liogo). Logo не чувствителен к регистру, но сохраняет регистр, используемый для форматирования.
История
Logo был создан в 1967 году в исследовательской фирме Bolt, Beranek and Newman (BBN) в Кембридже, штат Массачусетс , Уолли Фейрзейгом , Синтией Соломон и Сеймуром Папертом . [5] Его интеллектуальные корни лежат в области искусственного интеллекта , математической логики и психологии развития . В течение первых четырех лет исследования, разработки и преподавания Logo проводились в BBN. Первая реализация Logo, названная Ghost, была написана на LISP на PDP-1 . Целью было создание математической страны, где дети могли бы играть со словами и предложениями. [6] Смоделированный на основе LISP, цели дизайна Logo включали доступную мощность [ требуется разъяснение ] и информативные сообщения об ошибках. Использование виртуальных черепашек позволяло получать немедленную визуальную обратную связь и отлаживать графическое программирование.
Первый рабочий робот-черепаха Logo был создан в 1969 году. Демонстрационная черепаха предшествовала физической напольной черепахе. Современный Logo не сильно изменился по сравнению с основными концепциями, предшествовавшими первой черепахе. Первая черепаха была привязанным напольным бродягой, а не радиоуправляемым или беспроводным . В BBN Пол Вексельблат разработал черепаху по имени Ирвинг, которая имела сенсорные датчики и могла двигаться вперед, назад, вращаться и звонить в колокольчик. Первые школьные пользователи Logo в течение года были в 1968–69 годах в школе Muzzey Jr. High в Лексингтоне, штат Массачусетс . Виртуальные и физические черепахи впервые были использованы учениками пятого класса в школе Bridge в том же городе в 1970–71 годах.
Черепаха и графика
Самая известная особенность Logo — черепаха (первоначально происходящая от робота с таким же названием ), [5] экранный « курсор », который показывает вывод команд для движения и небольшого выдвижного пера, вместе производя линейную графику. Традиционно он отображался либо в виде треугольника, либо в виде значка черепахи (хотя он может быть представлен любым значком). Графика черепахи была добавлена в язык Logo Сеймуром Папертом в конце 1960-х годов для поддержки версии робота-черепахи Паперта, простого робота, управляемого с рабочей станции пользователя, который разработан для выполнения назначенных ему функций рисования с помощью небольшого выдвижного пера, установленного или прикрепленного к телу робота.
С практической точки зрения использование геометрии черепахи вместо более традиционной модели имитирует фактическую логику движения робота-черепахи. Черепаха движется с помощью команд, которые относятся к ее собственному положению, LEFT 90 означает поворот влево на 90 градусов. Некоторые реализации Logo, особенно те, которые позволяют использовать параллелизм и несколько черепах, поддерживают обнаружение столкновений и позволяют пользователю переопределять внешний вид курсора черепахи, по сути позволяя черепахам Logo функционировать как спрайты .
Геометрия черепахи также иногда используется в средах, отличных от Logo, как альтернатива строго координатно-адресованной графической системе. Например, идея графики черепахи также полезна в системе Линденмайера для генерации фракталов .
Реализации
Некоторые современные производные Logo позволяют тысячам независимо движущихся черепах. Существует две популярные реализации: StarLogo Массачусетского технологического института и NetLogo Северо -Западного университетского центра связанного обучения (CCL) . Они позволяют исследовать возникающие явления и поставляются со многими экспериментами в социальных исследованиях, биологии, физике и других областях. NetLogo широко используется в агентном моделировании в биологических и социальных науках.
Хотя единого стандарта нет, существует широкий консенсус по основным аспектам языка. В марте 2020 года было подсчитано 308 реализаций и диалектов Logo, каждая из которых имеет свои сильные стороны. [8] Большинство из этих 308 больше не используются широко, но многие все еще находятся в стадии разработки. Коммерческие реализации, широко используемые в школах, включают MicroWorlds Logo и Imagine Logo .
Устаревшие и текущие реализации включают:
Впервые выпущен в 1980-х годах.
Apple Logo для Apple II Plus и Apple Logo Writer для Apple IIe , разработанные компанией Logo Computer Systems, Inc. (LCSI), были наиболее широко используемыми и распространёнными ранними реализациями Logo, пик популярности которых пришёлся на начало-середину 1980-х годов.
Aquarius LOGO был выпущен в 1982 году на картридже компанией Mattel для домашнего компьютера Aquarius .
Color Logo был выпущен в 1983 году на картриджах (26–2722) и дисках (26–2721) компанией Tandy для цветного компьютера TRS-80 .
Commodore Logo был выпущен с подзаголовком "Язык для обучения" компанией Commodore International . Он был основан на логотипе MIT и улучшен Terrapin, Inc. Версия Commodore 64 (C64105) была выпущена на дискете в 1983 году; версия Plus/4 (T263001) была выпущена на картридже в 1984 году. [9] [10]
ExperLogo был выпущен в 1985 году на дискете компанией Expertelligence Inc. для Macintosh 128K .
Hot-Logo был выпущен в середине 1980-х годов компанией EPCOM для 8-битных компьютеров MSX со своим собственным набором команд на бразильском португальском языке.
Логотип TI (для компьютера TI-99/4A ) использовался в начальных школах, подчеркивая полезность Logo в обучении основам вычислительной техники начинающих программистов.
Sprite Logo, также разработанный Logo Computer Systems Inc., имел десять черепашек, которые могли работать как независимые процессы. Он работал на компьютерах Apple II с помощью карты Sprite, вставленной в один из слотов компьютера.
IBM выпустила на рынок собственную версию Logo (P/N 6024076), разработанную совместно с Logo Computer Systems, Inc. (LCSI), для своего тогда еще нового IBM PC.
ObjectLOGO — это вариант Logo с объектно-ориентированными расширениями программирования и лексической областью действия. Версия 2.7 была продана Digitool, Inc. [11] Она больше не разрабатывается и не поддерживается и не работает на версиях операционной системы Mac более поздних, чем 7.5. [12]
Dr. Logo был разработан компанией Digital Research и распространялся на компьютерах, включая IBM PCjr , [13] Atari ST и Amstrad CPC . [14] [15] [16]
Acornsoft Logo был выпущен в 1985 году. Это коммерческая реализация Logo для 8-битных компьютеров BBC Micro и Acorn Electron . [17] Он был разработан для Acorn Computers как полная реализация Logo. Он включает в себя несколько экранных черепашек и четырехканальный звук. Он был предоставлен на двух 16kB ROM , с утилитами и драйверами в качестве сопутствующего программного обеспечения. [18]
Впервые выпущен в 1990-х годах.
В феврале 1990 года Electron User опубликовал простую реализацию логотипа Тимоти Грэнтэма для Acorn Electron в статье «Talking Turtle» [19] .
Comenius Logo — это реализация Logo, разработанная факультетом математики и физики Университета Коменского . Разработка началась в декабре 1991 года, в других странах она также известна как SuperLogo, MultiLogo и MegaLogo. [20]
Lego Logo — это версия Logo, которая может управлять роботизированными блоками Lego , присоединёнными к компьютеру. [21] Она была реализована на Apple II и использовалась в американских и других начальных школах в конце 1980-х и начале 1990-х годов. [22] Lego Logo является предшественником Scratch . [23]
UCBLogo , также известный как Berkeley Logo, является бесплатной кроссплатформенной реализацией стандартного Logo, последний раз выпущенного в 2009 году. Джордж Миллс из Массачусетского технологического института использовал UCBLogo в качестве основы для MSWLogo , который является более утонченным и также бесплатным. Джим Мюллер написал книгу The Great Logo Adventure , которая была полным руководством по Logo и использовала 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 — это онлайн-интерпретатор Logo с открытым исходным кодом на основе JavaScript, созданный и активно разрабатываемый (по состоянию на 2021 год) для программы Learning by Making Государственного университета Сонома . [27] Он включает в себя традиционное программирование Logo, подключение к настраиваемому микроконтроллеру и интеграцию с современным редактором кода.
Влияние
Logo оказал основное влияние на язык программирования Smalltalk . Он также оказал основное влияние на образовательную среду программирования и язык Etoys , который по сути является вариантом Logo, написанным на Squeak (который сам является вариантом Smalltalk). Logo повлиял на модель процедуры/метода в AgentSheets и AgentCubes для программирования агентов, похожих на понятие черепахи в Logo. Logo предоставил базовый язык для Boxer. Boxer был разработан в Калифорнийском университете, Беркли и Массачусетском технологическом институте и основан на модели грамотности , что делает его более простым в использовании для нетехнических людей. [28]
KTurtle — это вариация Logo, реализованная в Qt для среды KDE и основанная на Logo. [29]
Еще два результата влияния Logo — это Kojo , вариант Scala, и Scratch , визуальный язык с функцией перетаскивания, работающий в веб-браузере.
Ссылки
^ Абельсон, Хэл; Гудман, Нат; Рудольф, Ли (декабрь 1974 г.). «Logo Manual». Лаборатория искусственного интеллекта, Массачусетский технологический институт . hdl :1721.1/6226. Архивировано из оригинала 11 сентября 2016 г. Получено 28 августа 2016 г.
^ Голденберг, Э. Пол (август 1982 г.). «Логотип – Культурный глоссарий». Байт . стр. 218. Получено 19 октября 2013 г.
^ "The Logo Tree Project" (PDF) . elica.net . Архивировано из оригинала (PDF) 2009-03-06 . Получено 2020-03-25 .
↑ Брэйн, Джим; Циммерман, Бо (2017-10-30). «Канонический список продуктов Commodore». Архивировано из оригинала 20-12-2017 . Получено 03-12-2017 .
^ "Логотип – Подробности программного обеспечения". Plus/4 World . Архивировано из оригинала 2017-12-04 . Получено 2017-12-03 .
↑ Логотип объекта. Архивировано 30 апреля 2008 г. на странице Wayback Machine на веб-сайте Digitool (дата обращения 4 марта 2008 г.)
↑ Страница заказа логотипа объекта на сайте Digitool (дата обращения: 4 марта 2008 г.)
^ "DRI поставляет 128K версию Dr. Logo" (PDF) . Micro Notes - Техническая информация о продуктах Digital Research . Том 2, № 2. Pacific Grove, CA, USA: Digital Research, Inc. Май 1984. стр. 4. NWS-106-002. Архивировано (PDF) из оригинала 2020-02-11 . Получено 2020-02-11 . […] Dr. Logo впервые появился на розничном рынке осенью 1983 года для IBM PC и поднялся на вершину списка Softsel Hot List . Розничный релиз включал SpeedStart CP/M , сокращенную версию CP/M , которая загружается автоматически при включении системы. […][1]
^ "Поиск по каталогу | Музей истории компьютеров". www.computerhistory.org .
^ "Amstrad CPC 6128 - Компьютер - История вычислительной техники". www.computinghistory.org.uk .
^ Филд, Грэм (1985). ЛОГОТИП на компьютере BBC и Acorn Electron . Macmillan . ISBN0-333-39566-2.
^ Рэдберн, Дерек. «Четыре логотипа для BBC Micro». Специальный выпуск по образованию пользователей Micro . Пользователь Micro . Получено 20 февраля 2012 г.
^ "Talking Turtle". Февраль 1990. С. 20–21. Архивировано из оригинала 28 марта 2017.
^ Резник, Митчел (июль 1993 г.). «Комплекты для конструирования поведения». Communications of the ACM . 36 (7): 64–71. doi : 10.1145/159544.159593 . S2CID 9263998. Получено 5 января 2022 г.
^ Булл, Г.; Гарофало, Дж.; Хгуен, Н. (2020), «Размышления о вычислительном мышлении: истоки вычислительного мышления в образовательной вычислительной технике», Журнал цифрового обучения в педагогическом образовании , 36 (1): 6–18, doi : 10.1080/21532974.2019.1694381, S2CID 214563715
^ Мюллер, Джим (ноябрь 2001 г.). "MSWLogo, Образовательный язык программирования" . Получено 5 января 2022 г.
^ Андрей, Калас; Блахо, Иван (2000). Представьте себе... новое поколение Logo: программируемые изображения. OCLC 854959806.
^ "Проект KDE Education – KTurtle". edu.kde.org . Архивировано из оригинала 2006-08-27.
Дальнейшее чтение
Искусственный интеллект (1976) Ранний учебник по искусственному интеллекту, в котором широко используется Logo. (Используется диалект Эдинбургского университета , AI2LOGO)
Черепашья геометрия Абельсон и диСесса
Children Designers , Idit Harel Caperton, Ablex Publishing Corporation ISBN 0893917885. Доступно онлайн
Learning With Logo , Дэниел Уотт, McGraw Hill, ISBN 0-07-068570-3 . Доступно через Amazon
Обучение с логотипом: строительные блоки для обучения, Молли Уотт и Дэниел Уотт, Эддисон Уэсли (теперь Пирсон) 1986, ISBN 0-201-08112-1 Доступно на Amazon
"Логотип" (PDF) . Байт . Т. 7, № 8. McGraw-Hill. 1982.( Специальный выпуск журнала Byte за 1982 год, содержащий несколько статей о логотипе).
Внешние ссылки
Медиафайлы по теме Logo (язык программирования) на Wikimedia Commons