Введение

Logo — образовательный язык программирования, разработанный в 1967 году Уолли Фёрзигом, Сеймуром Папертом и Синтией Соломон. Logo не является акронимом: название было придумано Фёрзигом, когда он работал в компании Bolt, Beranek and Newman, и происходит от греческого слова logos, означающего слово или мысль. Язык общего назначения, Logo широко известен благодаря использованию черепашьей графики, в которой команды для движения и рисования создают линейную или векторную графику либо на экране, либо с помощью небольшого робота, называемого черепахой. Изначально язык был разработан для обучения концепциям программирования, связанным с Lisp, а позже — для реализации того, что Паперт назвал «телесно-синтоническим мышлением», когда студенты могли понимать, предсказывать и рассуждать о движении черепахи, представляя себя на её месте. Существуют значительные различия между многочисленными диалектами Logo, а ситуацию усложняет частое появление программ черепашьей графики, именуемых Logo. Logo — это мультипарадигмальная адаптация и диалект Lisp, функционального языка программирования. Официального стандарта Logo не существует, однако UCBLogo обладает наилучшими возможностями для работы со списками, файлами, вводом/выводом и рекурсией в скриптах и может использоваться для обучения всем концепциям информатики, как это делал Брайан Харви, преподаватель Калифорнийского университета в Беркли, в своей трилогии «Computer Science Logo Style». Logo обычно является интерпретируемым языком, хотя были разработаны и компилируемые диалекты Logo (такие как Lhogho и Liogo). Logo не чувствителен к регистру, но сохраняет исходный регистр символов для целей форматирования.

История

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

Влияние

Лого оказал значительное влияние на язык программирования Smalltalk. Он также является основным источником вдохновения для образовательной среды программирования и языка Etoys, который, по сути, представляет собой вариант Logo, реализованный на Squeak (сам по себе вариант Smalltalk). Logo повлиял на процедурно-методическую модель в AgentSheets и AgentCubes для программирования агентов, аналогичных концепции "черепахи" в Logo. Logo послужил базовым языком для Boxer. Boxer был разработан в Калифорнийском университете в Беркли и MIT и основан на модели развития грамотности, что делает его более доступным для людей без специальной технической подготовки. KTurtle – это вариант Logo, реализованный на Qt для среды KDE, во многом основанный на Logo. Kojo, вариант Scala, и Scratch, визуальный язык программирования с перетаскиванием элементов, работающий в веб-браузере, – еще два результата влияния Logo.