Логотип (язык программирования) - Logo (programming language)
Пример вывода логотипа
| |
Парадигмы | Мультипарадигма : функциональная , образовательная , процедурная , рефлексивная |
---|---|
Семья | Лисп |
Разработано | Уолли Ферзейг , Сеймур Пейперт , Синтия Соломон |
Разработчик | Болт, Беранек и Ньюман |
Впервые появился | 1967 |
Печатная дисциплина | динамичный |
Основные реализации | |
UCBLogo , многие другие | |
Диалекты | |
StarLogo , NetLogo | |
Под влиянием | |
Лисп | |
Под влиянием | |
AgentSheets , NetLogo , Smalltalk , Etoys , Scratch , 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 включал доступную мощность и информативные сообщения об ошибках. Использование виртуальных черепах позволило мгновенно получить визуальную обратную связь и отладить графическое программирование.
Первый рабочий робот-черепаха Logo был создан в 1969 году. Выставочная черепаха предшествовала физической черепахе. Современный логотип не сильно изменился по сравнению с основными концепциями, предшествовавшими первой черепахе. Первая черепаха была привязанным напольным бродягой, а не радиоуправляемой или беспроводной . В BBN Пол Вексельблат разработал черепаху по имени Ирвинг, которая имела сенсорные датчики и могла двигаться вперед, назад, вращаться и звонить в колокольчик. Первые годовые школьные пользователи Logo были в 1968-1969 годах в школе Муззи-младшего в Лексингтоне, штат Массачусетс . Впервые виртуальных и физических черепах использовали пятиклассники школы Бридж в том же городе в 1970–71 годах.
Черепаха и графика
Самая известная особенность логотипа - это черепаха (происходящая от одноименного робота ), экранный « курсор », показывающий результат выполнения команд для движения, и небольшая выдвижная ручка, вместе производящие линейную графику. Он традиционно отображается в виде треугольника или значка черепахи (хотя он может быть представлен любым значком). Графика с черепахами была добавлена к языку логотипа Сеймуром Пейпертом в конце 1960-х годов для поддержки версии Papert робота-черепахи , простого робота, управляемого с рабочей станции пользователя, который предназначен для выполнения назначенных ему функций рисования с помощью небольшого выдвижного набора перьев. в корпус робота или прикрепленный к нему.
На практике использование геометрии черепахи вместо более традиционной модели имитирует реальную логику движения робота-черепахи. Черепаха перемещается по командам относительно ее собственного положения, LEFT 90 означает вращение влево на 90 градусов. Некоторые реализации логотипа, особенно те, которые позволяют использовать параллелизм и несколько черепах, поддерживают обнаружение столкновений и позволяют пользователю переопределять внешний вид курсора черепахи, по сути позволяя черепахам логотипа функционировать как спрайты .
Несколько черепах поддерживаются MSWLogo , а также 3D - графики. Вход с COM-портов и LPT-портов также разрешен MSWLogo через графический интерфейс Windows. Прерывания могут быть вызваны событиями клавиатуры и мыши. Простые GIF- анимации также могут быть созданы в MSWLogo версии 6.5 с помощью команды gifsave .
Геометрия черепахи также иногда используется не только в Logo, но и в других средах в качестве альтернативы графической системе со строго координатной адресацией. Например, идея графики черепахи также полезна в системе Линденмайера для генерации фракталов .
Реализации
Некоторые современные производные от Logo позволяют тысячам независимо перемещаться черепах. Есть два популярных реализаций: Массачусетский технологический институт «s StarLogo и Северо - Западного университета Центр Присоединенного обучения в (CCL) NetLogo . Они позволяют исследовать возникающие явления и включают множество экспериментов в социальных науках, биологии, физике и других областях. NetLogo широко используется в агентном моделировании в биологических и социальных науках.
Хотя нет единого согласованного стандарта, существует широкий консенсус по основным аспектам языка. По состоянию на март 2020 года было 308 реализаций и диалектов Logo, каждый из которых имел свои сильные стороны. Большинство из этих 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) Тэнди для цветного компьютера 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 был выпущен в середине 1980-х EPCOM для 8-битных компьютеров MSX с собственным набором команд на бразильском португальском языке.
- Логотип TI (для компьютера TI 99 / 4A ) также использовался в начальных школах, подчеркивая полезность Logo в обучении основам вычислительной техники начинающих программистов.
- IBM продавала свою собственную версию логотипа (P / N 6024076), также разработанную Logo Computer Systems, Inc. (LCSI), для своего нового компьютера IBM PC.
- UCBLogo , также известный как Berkeley Logo, является бесплатным кроссплатформенным стандартным логотипом, последний раз выпущенным в 2009 году. Впоследствии Джордж Миллс из Массачусетского технологического института использовал UCBLogo в качестве основы для MSWLogo, который стал более усовершенствованным и бесплатным. После этого Джим Мюллер написал книгу The Great Logo Adventure , которая представляла собой полное руководство по логотипу и использовала MSWLogo в качестве демонстрационного языка. Сейчас он не издается, но Джим выпустил все файлы в формате pdf. (Подробности см. На веб-сайте Logo Foundation.) MSWLogo превратился в FMSLogo: образовательную среду программирования .
- ObjectLOGO - это вариант с объектно-ориентированными расширениями.
- aUCBLogo - это переработка и расширение UCBLogo .
- Logo3D является трехмерна версия логотипа и могут быть найдены на Логотип (язык программирования) на SourceForge.net .
- Доктор Логотип разработан Digital Research и распространяется на компьютерах, включая IBM PCjr и Amstrad CPC .
- Логотип Acornsoft , выпущенный в 1985 году для BBC Micro и Acorn Electron.
- В феврале 1990 года Electron User опубликовал простую реализацию логотипа для Acorn Electron Тимоти Грэнтэма под статьей «Talking Turtle».
- Продолжается работа по написанию реализаций логотипа. В 2012 году команда LibreOffice разработала LibreLogo как расширение некоторых версий LibreOffice. Этот логотип написан на Python и позволяет писать векторную графику в Writer. Можно найти как минимум два веб-логотипа с логотипом Berkeley, HTML5, CSS3 и JQuery .
- POOL - это диалект LOGO с объектно-ориентированными расширениями, реализованный в 2014 году. Программы POOL компилируются и запускаются в графической среде IDE в Microsoft Windows . Упрощенная кроссплатформенная среда также доступна для систем, поддерживающих .NET Framework .
- QLogo - это кроссплатформенная переписанная версия UCBLogo с открытым исходным кодом с почти полной совместимостью с UCB, в которой используется графика с аппаратным ускорением.
ObjectLOGO
ObjectLOGO - это вариант логотипа с расширениями объектно-ориентированного программирования и лексической областью видимости. Версия 2.7 была продана компанией Digitool, Inc. Она больше не разрабатывается и не поддерживается, а также не работает в версиях операционной системы Mac позже, чем версия 7.5.
Лего Логотип
Логотип Lego был версией логотипа, который мог управлять роботизированными кубиками Lego, подключенными к компьютеру. Он был реализован на вычислительной платформе Apple II и использовался в американских и других начальных школах в конце 1980-х - начале 1990-х годов. Логотип Lego был предшественником Scratch .
Логотип Acornsoft
Логотип Acornsoft - это коммерческая реализация логотипа для 8-битных компьютеров BBC Micro и Acorn Electron . Логотип Acornsoft был разработан для Acorn Computers как полная реализация логотипа. Он имеет многоэкранные черепахи и четырехканальный звук. Он был предоставлен на двух ПЗУ по 16 КБ с утилитами и драйверами в качестве сопутствующего программного обеспечения.
Влияние
Логотип оказал основное влияние на язык программирования Smalltalk . Это также основное влияние на среду и язык образовательного программирования Etoys , который, по сути, является вариантом логотипа, написанным на Squeak (который сам является вариантом Smalltalk ). Логотип повлиял на модель процедуры / метода в AgentSheets и AgentCubes для программирования агентов, аналогично понятию черепахи в Logo. Логотип стал основным языком для Boxer. Boxer был разработан в Калифорнийском университете, Беркли и Массачусетском технологическом институте и основан на модели грамотности , что упрощает его использование для нетехнических специалистов.
KTurtle - это вариант Logo, реализованный в Qt для среды KDE , основанный на Logo.
Еще два результата влияния Logo - это Kojo , вариант Scala, и Scratch , визуальный язык перетаскивания, работающий в веб-браузере.
В 2015 году Cubetto , образовательная робототехническая система для детей в возрасте от трех лет и старше, была разработана за счет краудсорсинга. Кубетто находился под влиянием как LOGO, так и Монтессори . Cubetto представляет собой маленькую кубическую черепаху, которая поворачивается только на 90 градусов. Cubetto был описан как обновление системы TORTIS LOGO MIT LOGO.
Смотрите также
- AgentCubes
- AgentSheets
- UCBLogo
- MSWLogo
- Микромиры
- StarLogo
- NetLogo
- LibreLogo , язык графики черепахи, не имеющий полной совместимости с UCB
Ссылки
дальнейшее чтение
внешние ссылки
- Интерпретатор логотипов
- papert: логотип в вашем браузере
- Онлайн-интерпретатор логотипов на основе PHP
- MachineLab TurtleSphere (MaLT) Online LOGO Interprepter с трехмерной графикой с использованием библиотеки javascript three.js.
- Бесплатный онлайн-интерпретатор логотипов Влада Тюдора с использованием HTML5, CSS3 и JQuery
- TurtleAcademy (выучить логотип бесплатно)
- XLogo4Schools - это переработанная версия XLogo.
- XLogoOnline - это современная среда программирования на основе браузера для начальной школы. Язык программирования - это подмножество диалекта XLogo. Помимо онлайн-версии доступны офлайн-версии для Windows, macOS и Linux.
- Логотип DR на CPCWiki
- WIN-LOGO 3.0 немецкого автора на английском и немецком языках
- POOL - это скомпилированный диалект LOGO.
- QLogo
- Digitool, производители ObjectLOGO
- turtleSpaces - это повторная реализация OpenGL и широкое расширение Apple (LCSI) Logo II, предназначенное для создания 3D-моделей, анимации и игр. В настоящее время он доступен для Windows, macOS и Linux.