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

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

Logo - это образовательный язык программирования , разработанный в 1967 году Уолли Ферзейг , Сеймуром Папертом и Синтией Соломон . Логотип не является аббревиатурой: это имя было придумано Ферзейгом, когда он работал в Bolt, Beranek и Newman , и происходит от греческого logos , что означает слово или мысль .

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

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

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

История

Логотип был создан в 1967 году в исследовательской компании Bolt, Beranek and Newman (BBN), Кембридж, Массачусетс , Уолли Ферзейг , Синтия Соломон и Сеймур Пейперт . Его интеллектуальные корни лежат в искусственном интеллекте , математической логике и психологии развития . Первые четыре года исследований, разработок и обучения Logo проводились в BBN. Первая реализация Logo, названная Ghost, была написана на LISP на PDP-1 . Цель состояла в том, чтобы создать математическую страну, где дети могли бы играть словами и предложениями. Созданный по образцу LISP, цель разработки логотипа заключалась в доступной мощности и информативных сообщениях об ошибках. Использование виртуальных черепах позволило мгновенно получить визуальную обратную связь и отладить графическое программирование.

Первый рабочий робот-черепаха Logo был создан в 1969 году. Выставочная черепаха предшествовала физической напольной черепахе. Современный логотип не сильно изменился по сравнению с основными концепциями, предшествовавшими первой черепахе. Первая черепаха была привязанным напольным бродягой, а не радиоуправляемой или беспроводной . В BBN Пол Вексельблат разработал черепаху по имени Ирвинг, которая имела сенсорные датчики и могла двигаться вперед, назад, вращаться и звонить в колокольчик. Первые годичные школьные пользователи Logo были в 1968–69 в школе Муззи-младшего в Лексингтоне, штат Массачусетс . Виртуальные и физические черепахи впервые были использованы пятиклассниками в школе «Бридж» в том же городе в 1970–71 годах.

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

Анимированный гиф с черепахой в MSWLogo ( Кардиоид )

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

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

Несколько черепах поддерживаются MSWLogo , а также 3D - графики. MSWLogo также разрешает ввод с COM-портов и LPT-портов через графический интерфейс Windows. Прерывания могут быть вызваны событиями клавиатуры и мыши. Простые анимации GIF можно также создавать в MSWLogo версии 6.5 с помощью команды gifsave .

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

Реализации

Экран приветствия логотипа IBM LCSI
Исходный код и вывод в логотипе IBM LCSI, работающий в DOSBox

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

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

Унаследованные и текущие реализации включают:

  • Логотип Apple для Apple II Plus и средство записи логотипов Apple для Apple IIe , разработанные Logo Computer Systems, Inc. (LCSI), были наиболее широко используемыми и распространенными ранними реализациями Logo, пик которых пришелся на период с начала до середины 1980-х годов.
  • ЛОГОТИП Aquarius был выпущен в 1982 году на картридже от Mattel для домашнего компьютера Aquarius .
  • Логотип Atari был выпущен на картридже Atari для 8-битного семейства Atari .
  • Цветной логотип был выпущен в 1983 году на картридже (26-2722) и диске (26-2721) компанией Tandy для цветного компьютера TRS-80 .
  • Commodore Logo был выпущен компанией Commodore Electronics с подзаголовком "A Language for Learning" . Он был основан на логотипе MIT и усовершенствован Terrapin, Inc. Версия Commodore 64 (C64105) была выпущена на дискете в 1983 году; Plus / 4 версии (T263001) была выпущена в 1984 году картридж.
  • ExperLogo был выпущен в 1985 году на дискете компанией Expertelligence Inc. для Macintosh 128K .
  • Hot-Logo был выпущен в середине 80-х EPCOM для 8-битных компьютеров MSX с собственным набором команд на бразильском португальском языке.
  • Логотип TI (для компьютера TI 99 / 4A ) использовался в начальных школах, подчеркивая полезность Logo в обучении основам вычислительной техники начинающих программистов.
  • IBM продавала собственную версию логотипа (P / N 6024076), совместно разработанную Logo Computer Systems, Inc. (LCSI), для своего нового на тот момент ПК IBM.
  • UCBLogo , также известный как Berkeley Logo, представляет собой бесплатную кроссплатформенную реализацию стандартного логотипа, последний раз выпущенного в 2009 году. Джордж Миллс из Массачусетского технологического института использовал UCBLogo в качестве основы для MSWLogo, который является более усовершенствованным и к тому же бесплатным. Джим Мюллер написал книгу The Great Logo Adventure , которая представляла собой полное руководство по логотипу и использовала MSWLogo в качестве демонстрационного языка. Сейчас он распродан, но Джим выпустил все файлы в формате pdf. (Подробности см. На веб-сайте Logo Foundation.) MSWLogo превратился в FMSLogo: образовательную среду программирования .
  • ObjectLOGO - это вариант логотипа с расширениями объектно-ориентированного программирования и лексической областью видимости. Версия 2.7 была продана компанией Digitool, Inc. Она больше не разрабатывается и не поддерживается, а также не работает в версиях операционной системы Mac позже, чем версия 7.5.
  • aUCBLogo - это переработка и расширение UCBLogo .
  • Logo3D является трехмерна версия логотипа и могут быть найдены на Логотип (язык программирования) на SourceForge .
  • Логотип Dr.Logo был разработан Digital Research и распространен на компьютерах, включая IBM PCjr , Atari ST и Amstrad CPC .
  • Логотип Acornsoft был выпущен в 1985 году. Это коммерческая реализация логотипа для 8-битных компьютеров BBC Micro и Acorn Electron . Он был разработан для Acorn Computers как полная реализация логотипа. Он имеет несколько экранных черепах и четырехканальный звук. Он был предоставлен на двух ПЗУ по 16 КБ с утилитами и драйверами в качестве сопутствующего программного обеспечения.
  • В феврале 1990 года, Electron User опубликовал простую реализацию Тимоти Грэнтэма логотипа для Acorn Electron под статьей «Говорящая черепаха».
  • LibreLogo - это расширение некоторых версий LibreOffice. Выпущен в 2012 году, написан на Python . Это позволяет писать векторную графику в Writer.
  • Логотип Lego - это версия логотипа, которая может управлять роботизированными кубиками Lego, подключенными к компьютеру. Он был реализован на вычислительной платформе Apple II и использовался в американских и других начальных школах в конце 1980-х - начале 1990-х годов. Логотип Lego - это предшественник Scratch .
  • Можно найти по крайней мере две веб-реализации с использованием логотипа Berkeley, HTML5, CSS3 и JQuery .
  • POOL - это диалект Logo с объектно-ориентированными расширениями, реализованный в 2014 году. Программы POOL компилируются и запускаются в графической среде IDE в Microsoft Windows . Для систем, поддерживающих .NET Framework, доступна упрощенная кроссплатформенная среда .
  • QLogo - это кроссплатформенная переписанная версия UCBLogo с открытым исходным кодом с почти полной совместимостью с UCB, в которой используется графика с аппаратным ускорением.

Влиять

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

KTurtle - это вариант Logo, реализованный в Qt для среды KDE , основанный на Logo.

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

Смотрите также

использованная литература

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

  • Большое Приключение Логотипа , Джим Мюллер, ISBN  публикаций Doone 0-9651934-6-2 ; сейчас не издается; можно бесплатно загрузить в формате pdf с веб-сайта MSWLogo вместе с бесплатной программой MSWLogo
  • К искусственному интеллекту (1976). Ранний учебник по ИИ, где широко используется логотип. (Надиалекте Эдинбургского университета AI2LOGO)
  • Геометрия черепахи Абельсон и ди Сесса
  • Детские дизайнеры , Идит Харел Капертон, издательская корпорация Ablex ISBN  0893917885 . Доступно онлайн
  • Обучение с логотипом , Дэниел Ватт, Макгроу Хилл, ISBN  0-07-068570-3 . Доступно через Amazon
  • Преподавание с логотипом: строительные блоки для обучения, Молли Уотт и Дэниел Ватт, Аддисон Уэсли (ныне Пирсон) 1986, ISBN  0-201-08112-1 Доступно через Amazon
  • «Логотип» (PDF) . Байт . Vol. 7 нет. 8. Макгроу-Хилл. 1982 г.( Специальный выпуск журнала Byte за 1982 год, содержащий несколько статей о логотипе).

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