stringtranslate.com

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

Симметрию относительно точки можно получить, используя всего несколько инструкций, что позволяет пользователям рисовать гипотрохоиды, подобные показанной здесь.

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

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

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

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 годах.

Черепаха и графика

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

Самая известная особенность Logo — черепаха (первоначально происходящая от робота с таким же названием ), [5] экранный « курсор », который показывает вывод команд для движения и небольшого выдвижного пера, вместе производя линейную графику. Традиционно он отображался либо в виде треугольника, либо в виде значка черепахи (хотя он может быть представлен любым значком). Графика черепахи была добавлена ​​в язык Logo Сеймуром Папертом в конце 1960-х годов для поддержки версии робота-черепахи Паперта, простого робота, управляемого с рабочей станции пользователя, который разработан для выполнения назначенных ему функций рисования с помощью небольшого выдвижного пера, установленного или прикрепленного к телу робота.

С практической точки зрения использование геометрии черепахи вместо более традиционной модели имитирует фактическую логику движения робота-черепахи. Черепаха движется с помощью команд, которые относятся к ее собственному положению, LEFT 90 означает поворот влево на 90 градусов. Некоторые реализации Logo, особенно те, которые позволяют использовать параллелизм и несколько черепах, поддерживают обнаружение столкновений и позволяют пользователю переопределять внешний вид курсора черепахи, по сути позволяя черепахам Logo функционировать как спрайты .

Геометрия черепахи также иногда используется в средах, отличных от Logo, как альтернатива строго координатно-адресованной графической системе. Например, идея графики черепахи также полезна в системе Линденмайера для генерации фракталов .

Реализации

Экран приветствия логотипа IBM LCSI
Исходный код и вывод в IBM LCSI Logo

Некоторые современные производные Logo позволяют тысячам независимо движущихся черепах. Существует две популярные реализации: StarLogo Массачусетского технологического института и NetLogo Северо -Западного университетского центра связанного обучения (CCL) . Они позволяют исследовать возникающие явления и поставляются со многими экспериментами в социальных исследованиях, биологии, физике и других областях. NetLogo широко используется в агентном моделировании в биологических и социальных науках.

Хотя единого стандарта нет, существует широкий консенсус по основным аспектам языка. В марте 2020 года было подсчитано 308 реализаций и диалектов Logo, каждая из которых имеет свои сильные стороны. [8] Большинство из этих 308 больше не используются широко, но многие все еще находятся в стадии разработки. Коммерческие реализации, широко используемые в школах, включают MicroWorlds Logo и Imagine Logo .

Устаревшие и текущие реализации включают:

Впервые выпущен в 1980-х годах.
Впервые выпущен в 1990-х годах.
Впервые выпущен с 2000 года

Влияние

Logo оказал основное влияние на язык программирования Smalltalk . Он также оказал основное влияние на образовательную среду программирования и язык Etoys , который по сути является вариантом Logo, написанным на Squeak (который сам является вариантом Smalltalk). Logo повлиял на модель процедуры/метода в AgentSheets и AgentCubes для программирования агентов, похожих на понятие черепахи в Logo. Logo предоставил базовый язык для Boxer. Boxer был разработан в Калифорнийском университете, Беркли и Массачусетском технологическом институте и основан на модели грамотности , что делает его более простым в использовании для нетехнических людей. [28]

KTurtle — это вариация Logo, реализованная в Qt для среды KDE и основанная на Logo. [29]

Еще два результата влияния Logo — это Kojo , вариант Scala, и Scratch , визуальный язык с функцией перетаскивания, работающий в веб-браузере.

Ссылки

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

Дальнейшее чтение

Внешние ссылки