Введение
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 не чувствителен к регистру, но сохраняет исходный регистр символов для целей форматирования.
Logo is an educational programming language, designed in 1967 by Wally Feurzeig, Seymour Papert, and Cynthia Solomon. Logo is not an acronym: the name was coined by Feurzeig while he was at Bolt, Beranek and Newman, and derives from the Greek logos, meaning word or thought. A general purpose language, Logo is widely known for its use of turtle graphics, in which commands for movement and drawing produced line or vector graphics, either on screen or with a small robot termed a turtle. The language was conceived to teach concepts of programming related to Lisp and only later to enable what Papert called "body syntonic reasoning", where students could understand, predict, and reason about the turtle's motion by imagining what they would do if they were the turtle. There are substantial differences among the many dialects of Logo, and the situation is confused by the regular appearance of turtle graphics programs that are named Logo. Logo is a multi paradigm adaptation and dialect of Lisp, a functional programming language. There is no standard Logo, but UCBLogo has the best facilities for handling lists, files, I/O, and recursion in scripts, and can be used to teach all computer science concepts, as UC Berkeley lecturer Brian Harvey did in his Computer Science Logo Style trilogy. Logo is usually an interpreted language, although compiled Logo dialects (such as Lhogho and Liogo) have been developed. Logo is not case sensitive but retains the case used for formatting purposes.
История
Логотип был создан в 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.