Логотип (язык программирования)

Из Википедии, бесплатной энциклопедии
Логотип
L-система (кривая Коха) изображение черепахи
Парадигмы Мультипарадигмальность : функциональная , образовательная , процедурная , рефлексивная.
Семья Лисп
Разработано Уолли Фёрзейг , Сеймур Паперт , Синтия Соломон
Разработчик Болт, Беранек и Ньюман
Впервые появился 1967 год ; 57 лет назад ( 1967 )
Дисциплина набора текста динамичный
Основные реализации
UCBLogo и многие другие.
Диалекты
StarLogo , NetLogo и AppleLogo
Под влиянием
Лисп
Под влиянием
AgentSheets , NetLogo , Smalltalk , Etoys , Scratch , Microsoft Small Basic , KTurtle, REBOL , Boxer
Симметрию вокруг точки можно получить, используя всего несколько инструкций, что позволяет пользователям рисовать гипотрохоиды , как показано здесь.

Logo — это образовательный язык программирования , разработанный в 1967 году Уолли Фёрзейгом , Сеймуром Пейпертом и Синтией Соломон . [1] Логотип не является аббревиатурой: название было придумано Фёрцайгом, когда он работал в компании Bolt, Beranek and Newman . [2] и происходит от греческого логоса , что означает слово или мысль .

Язык общего назначения Logo широко известен благодаря использованию черепашьей графики , в которой команды для перемещения и рисования создают линейную или векторную графику либо на экране, либо с помощью небольшого робота, называемого черепахой . Язык был задуман для обучения концепциям программирования, связанным с Лиспом , и лишь позже для того, чтобы сделать возможным то, что Пейперт называл « телесно-синтоническим рассуждением», когда студенты могли понимать, предсказывать и рассуждать о движении черепахи, представляя, что бы они сделали, если бы они были черепаха. Между многими диалектами логотипа существуют существенные различия, и ситуацию усложняет регулярное появление программ черепашьей графики под названием Logo.

Logo — это мультипарадигмальная адаптация и диалект Lisp, функционального языка программирования . [3] Стандартного логотипа нет, но у UCBLogo есть лучшие возможности. [ по мнению кого? ] для обработки списков, файлов, операций ввода-вывода и рекурсии в сценариях и может использоваться для обучения всем концепциям информатики, как это Калифорнийского университета в Беркли сделал преподаватель Брайан Харви в своей «Стиль логотипа компьютерных наук» . трилогии [4]

Логотип обычно является интерпретируемым языком , хотя были разработаны скомпилированные диалекты логотипа (такие как лого и лиого). Логотип не чувствителен к регистру, но сохраняет регистр, используемый для форматирования.

История [ править ]

Логотип был создан в 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 годах.

Черепаха и графика [ править ]

Анимированная гифка с черепахой в MSWLogo ( кардиоида ) [7]

Самая известная особенность логотипа — черепаха (первоначально заимствованная у одноименного робота ). [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 был выпущен в 1982 году на картридже компанией Mattel для домашнего компьютера Aquarius .
  • Логотип Atari был выпущен на картридже компанией Atari, Inc. для 8-битных компьютеров Atari .
  • Color Logo был выпущен в 1983 году на картридже (26-2722) и диске (26-2721) компанией Tandy для цветного компьютера TRS-80 .
  • с подзаголовком «Язык для обучения» Логотип Commodore был выпущен компанией 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 ) использовался в начальных школах, подчеркивая полезность логотипа при обучении начинающих программистов основам вычислений.
  • 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]
  • Логотип Dr. был разработан компанией Digital Research и распространялся на компьютерах, включая IBM PCjr , [13] Atari ST и Amstrad CPC . [14] [15] [16]
  • Логотип 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 , также известный как логотип Беркли, представляет собой бесплатную кроссплатформенную реализацию стандартного логотипа, последний раз выпущенного в 2009 году. Джордж Миллс из Массачусетского технологического института использовал UCBLogo в качестве основы для MSWLogo , который является более совершенным и бесплатным. Джим Мюллер написал книгу « Великое приключение с логотипом» , которая представляла собой полное руководство по логотипам и в которой MSWLogo использовался в качестве демонстрационного языка. [24] MSWLogo превратился в FMSLogo .
Впервые выпущен с 2000 года.
  • aUCBLogo — это переписанная и улучшенная версия UCBLogo .
  • Imagine Logo является преемником логотипа Comenius, реализованного в 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 , визуальный язык перетаскивания, который работает в веб-браузере.

Ссылки [ править ]

  1. ^ Абельсон, Хэл; Гудман, Нэт; Рудольф, Ли (декабрь 1974 г.). «Руководство по логотипам» . Лаборатория искусственного интеллекта Массачусетского технологического института . hdl : 1721.1/6226 . Архивировано из оригинала 11 сентября 2016 года . Проверено 28 августа 2016 г.
  2. ^ Гольденберг, Э. Пол (август 1982 г.). «Логотип – культурный словарь» . Байт . п. 218 . Проверено 19 октября 2013 г.
  3. ^ CSLS Том 1, Предисловие .pxvi, Харви, 1997 г.
  4. ^ Стиль логотипа компьютерных наук , Брайан Харви, MIT Press (3 тома) ISBN   0-262-58148-5 , ISBN   0-262-58149-3 , ISBN   0-262-58150-7 . Доступно онлайн. Архивировано 4 июля 2013 г. на Wayback Machine.
  5. ^ Перейти обратно: а б «Фонд логотипа» . el.media.mit.edu . Архивировано из оригинала 21 июля 2011 г. Проверено 7 апреля 2011 г.
  6. ^ "логогоны" . logothings.wikispaces.com . Архивировано из оригинала 7 декабря 2011 г.
  7. ^ Пьетрокола, Джорджио (2005). «Тартапелаго» . Маэкла .
  8. ^ «Проект дерева логотипов» (PDF) . Элика.нет . Архивировано из оригинала (PDF) 6 марта 2009 г. Проверено 25 марта 2020 г.
  9. ^ Брэйн, Джим; Циммерман, Бо (30 октября 2017 г.). «Канонический список продуктов Commodore» . Архивировано из оригинала 20 декабря 2017 г. Проверено 3 декабря 2017 г.
  10. ^ «Логотип — сведения о программном обеспечении» . Плюс/4 Мир . Архивировано из оригинала 4 декабря 2017 г. Проверено 3 декабря 2017 г.
  11. ^ Логотип объекта. Архивировано 30 апреля 2008 г. на странице Wayback Machine на веб-сайте Digitool (по состоянию на 4 марта 2008 г.).
  12. ^ Страница заказа логотипа объекта на веб-сайте Digitool (по состоянию на 4 марта 2008 г.)
  13. ^ «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]
  14. ^ «Поиск по каталогу | Музей компьютерной истории» . www.computerhistory.org .
  15. ^ «Amstrad CPC 6128 — Компьютер — История вычислений» . www.computinghistory.org.uk .
  16. ^ "es:manual_del_amstrad_pcw_8256_8512_english [PcwWiki]" . www.habisoft.com
  17. ^ Филд, Грэм (1985). ЛОГОТИП на компьютере BBC и Acorn Electron . Макмиллан . ISBN  0-333-39566-2 .
  18. ^ Рэдберн, Дерек. «Четыре логотипа BBC Micro» . Специальный курс по обучению микропользователей . Микропользователь . Проверено 20 февраля 2012 г.
  19. ^ «Говорящая черепаха» . Февраль 1990. стр. 20–21. Архивировано из оригинала 28 марта 2017 года.
  20. ^ «История логотипа Comenius» . 09.12.2002. Архивировано из оригинала 9 декабря 2002 г. Проверено 12 октября 2022 г.
  21. ^ Резник, Митчел (июль 1993 г.). «Наборы для построения поведения» . Коммуникации АКМ . 36 (7): 64–71. дои : 10.1145/159544.159593 . S2CID   9263998 . Проверено 5 января 2022 г.
  22. ^ «Проект LEGO-LOGO для школ-лабораторий» . Лабораторные школы Чикагского университета . Архивировано из оригинала 20 июля 2011 года.
  23. ^ Булл, Г.; Гарофало, Дж.; Хгуен, Н. (2020), «Размышления о вычислительном мышлении: истоки вычислительного мышления в образовательных вычислениях», Журнал цифрового обучения в педагогическом образовании , 36 (1): 6–18, doi : 10.1080/21532974.2019.1694381 , S2CID   214563715
  24. ^ Мюллер, Джим (ноябрь 2001 г.). «MSWLogo, образовательный язык программирования» . Проверено 5 января 2022 г.
  25. ^ Андрей, Калас; Блахо, Иван (2000). Представьте себе... новое поколение логотипов: программируемые изображения . OCLC   854959806 .
  26. ^ «Представьте | Пресс-релиз» . 17 апреля 2001 г. Архивировано из оригинала 17 апреля 2001 г. Проверено 12 октября 2022 г.
  27. ^ «Обучение через создание ¦ Make@SSU» . 14 августа 2017 года . Проверено 8 января 2022 г.
  28. ^ «Боксер — EduTech Wiki» . edutechwiki.unige.ch . Проверено 10 апреля 2024 г.
  29. ^ «Образовательный проект KDE — KTurtle» . edu.kde.org . Архивировано из оригинала 27 августа 2006 г.

Дальнейшее чтение [ править ]

Внешние ссылки [ править ]