Лого язык программирования происхождение

Анализ языка логотипа Джон А. Престон 1. введение ЛОГОТИП — это название философии образования и постоянно развивающегося семейства языков программирования. Которые помогают в ее реализации. — Гарольд Абельсон [9] Помимо философских и образовательных основ. ЛОГОТИП-это компьютерный язык. Разработанный в 1966 году В данной статье представлены исторические предпосылки и цели создания ЛОГОТИПА. В него входит обсуждение людей. Внесших свой вклад в оригинальную версию ЛОГОТИПА. И рассматривается эволюция языка; также включены примеры программ с логотипами. Сравнивающих 30-летнюю эволюцию ЛОГОТИПА.

2. Исторические предпосылки

Первый интерпретатор ЛОГОТИПА был написан доктором Бобровым в Bolt Beranek and Newman. Inc. (BBN) на PDP-1 в 1966 году [13]. В середине-конце 60-х годов наблюдался рост языков программирования и основных разработок концепций. Большая часть вычислений по-прежнему выполнялась с помощью пакетной обработки. А интерактивные языки программирования. Такие как BASIC и RPG. Существовали всего несколько лет. Объектно-ориентированное программирование развивалось в виде Симулы. LISP существовал в течение восьми лет. Но чистые функциональные языки. Такие как ISWIM. Только появлялись [3].

Совместное использование компьютерного времени также было новой концепцией; BBN продемонстрировала первый успешный обмен компьютерным временем в 1964 году [2]. Feurzeig отметил. Что это разделение времени позволило возможность распределенных вычислений в образовании. Побуждая образовательную направленность для разработки логотипа.

BBN также активно участвовала в работе над искусственным интеллектом в 60-е годы. Они сотрудничали с исследователями M. I. T.. Такими как Марвин Мински. Их исследовательские проекты в области ИИ включали понимание естественного языка. Распознавание образов и компьютерное обучение.

Магнитная лента была распространенным запоминающим устройством того времени. И предварительное руководство BBN по логотипам дает инструкции о том. Как сохранять процедуры ЛОГОТИПА из барабанных файлов на магнитную ленту с помощью SDS-940

В то время. Когда компьютерные циклы были дорогими. А программисты дешевыми. Концепция разработки языка программирования для образования и школ была довольно новаторской. Примерно через десять лет после написания оригинального интерпретатора логотипа началась микрокомпьютерная революция. Предложившая массам доступную вычислительную мощность.

LOGO больше не ограничивался PDP-10 и другими мини-компьютерами; LOGO мог сидеть на настольных компьютерах в классах и домах повсюду.

3. Цели

Согласно Feurzeig. Требования к оригинальному логотипу BBN ’67 были:

1. Третьеклассники должны уметь использовать его для выполнения простых задач с очень небольшой подготовкой.

2. Его структура должна воплощать математически важные понятия с минимальным вмешательством со стороны условностей программирования.

3. Он должен позволять выражать математически богатые нечисловые. А также численные алгоритмы.]

Команда разработчиков логотипа BBN увидела проблемы в существующих языках. Большинство языков того времени плохо поддерживали нечисловые вычисления и не имели хороших функций взаимодействия (отладки и редактирования). В результате команда разработала систему. Которая была очень интерактивной и поддерживала интерпретируемое программирование. Частью первоначальной спецификации логотипа было то. Что он должен был иметь поддержку файлов. Потому что система должна была позволить студентам опираться на предыдущую работу. То есть сохранять свои файлы и расширять свои процедуры позже [13].

Из первоначальных целей дизайна видно. Что язык был создан для поддержки обучения. Но ЛОГОТИП был создан не просто для обучения навыкам программирования; скорее. Он был разработан с более высокими целями-помочь обучить метакогнитивным навыкам и решению проблем. А также позволить студентам учиться конструктивистски. Создавая захватывающие проекты с помощью компьютера [12].

Некоторые из ключевых особенностей языка логотипов-модульность. Расширяемость. Интерактивность и гибкость. Эти конструктивные особенности тесно связаны с образовательными целями языка [9]. Потому что при наличии этих возможностей ЛОГОТИП-это язык. Который не имеет

4. Концепция

Уоллес Фюрцайг присоединился к BBN в 1962 году в составе недавно созданного отдела искусственного интеллекта. Этот отдел занимался исследованиями в области когнитивных наук и учебных исследований. Поэтому интерес Фюрцайга к преподаванию и компьютерному обучению (CAI) хорошо вписывался.

Концепция языка программирования. Посвященного студентам и обучению. Возникла в результате исследовательской работы в системах разделения времени в классах. Выполненной для того. Чтобы помочь детям изучать математику. Это исследование было проведено с использованием языка TELCOMP в 1965-66 годах при поддержке Министерства образования США. Исследовательская группа состояла из Уоллеса Фор-Зейга. Даниэля Боброва (одного из первых ИИ. Окончившего M. I. T.). Ричарда Гранта и Синтии Соломон. Все из BBN. И Сеймура Паперта из M. I. T. [11].

По словам Фюрцайга. Первоначальный дизайн ЛОГОТИПА был разработан в 1966 году Папертом. Бобровым и Фюрцайгом. Паперт отвечал за функциональные спецификации. А Бобров-за проектирование и первую реализацию [2]. Фюрцейг дал ЛОГОСУ свое название. Чтобы подчеркнуть тот факт. Что язык является скорее символическим. Чем количественным [11].

Предварительная версия логотипа BBN ’67 состояла из 20 команд и 14 встроенных функций и не содержала никаких команд черепахи. Первая официальная выпущенная BBN версия ЛОГОТИПА добавила команды turtle; эта версия содержала 38 команд, 45 операций (встроенных функций) и 12 зарезервированных имен (слов) [13].

Поскольку он был разработан как ШЕПЕЛЯВИТЬ команда. Майкл Левин. Работавший над оригинальной реализацией LISP. Помог с дизайном второй версии ЛОГОТИПА (ЛОГОТИП DEC PDP-1 1968) [2]. ЛИСП-подобные концепции. Такие как сбор мусора. Рекурсия и символические манипуляции. Занимают центральное место в LOGO [13].

Оригинальная однопользовательская версия LOGO могла быть запущена на 12-битном или 16-битном компьютере с 24 тысячами байт памяти и некоторой формой хранения файлов [13]. А определение системы ЛОГОТИПОВ было обнародовано в конце 60-х годов компанией BBN.

Первая версия ЛОГОТИПА была опробована на учениках шестого и седьмого классов полевой школы Хэнском в Линкольне. Штат Массачусетс. В июле 1967 года. С сентября 1968 года по ноябрь 1969 года новая версия ЛОГОТИПА использовалась при обучении математике учащихся начальной и средней школы. Этот годовой исследовательский проект был поддержан Национальным научным фондом [2].

Концепция черепахи в логотипе была введена группой лаборатории логотипа Сеймура Паперта в M. I. T. в 1971 году. И большинство будущих разработок ЛОГОТИПА в 1970-х годах произошли в M. I. T.

5. Вклад М. И. Т. и Паперта

Сеймур Паперт учился у Жана Пиаже в Женеве, Швейцария. В течение пяти лет. Прежде чем прийти в группу ИИ М. И. Т. в 1964 году. Пиаже-основатель конструктивизма. Теории образования. Утверждающей. Что дети лучше всего учатся на практике; он рассматривал детей как строителей собственных интеллектуальных структур. А детей-как эпистемологов [11]. На Паперта сильно повлияли теории Пиаже о детском познании.

Интересы Паперта были связаны с развитием ребенка. Его обучением и природой мышления. Он понимал, что компьютеры и вычислительная техника являются

Придя в МТИ. Паперт работал с Марвином Мински и Джоном Маккарти. Основателями группы искусственного интеллекта МТИ. Объединив свои знания в области познания и развития детей с компьютерным ИИ. Паперт выдвинул гипотезу, что. Обучая компьютеры мыслить (то есть программируя компьютер). Дети исследуют. Как мыслят сами компьютеры [11]. Он утверждал. Что лучший способ научиться-это научить кого-то (или что-то. В случае программирования) материалу. Таким образом, язык. Позволяющий детям легко программировать компьютер. Должен предоставить огромные возможности для обучения.

Хотя Паперт внес свой вклад в оригинальный логотип в качестве консультанта BBN в конце 1960-х годов. Он, вероятно. Лучше всего известен за добавление черепахи к логотипу в 1971 году и его книгу Mindstorms в 1980 году. Я с удивлением обнаружил. Что на оригинальном логотипе не было черепахи. А это распространенное заблуждение. Поскольку оригинальный логотип BBN не был широко использован вне исследовательских проектов в конце 1960-х годов. ЛОГОТИП черепахи M. I. T. был первой широко распространенной и используемой версией языка.

Сначала логотип черепаха был аппаратным устройством. Которое было подключено к компьютеру. Студенты помещали черепаху на большой лист бумаги. А затем выполняли команды черепахи. Такие как ВЛЕВО. ВПРАВО, ВПЕРЕД, и НАЗАД рисовать на бумаге. В 1977 году компания под названием Terrapin Software даже произвела этих аппаратных черепах коммерчески. Позже черепаха была спрайтом на графическом экране компьютера. Который мог рисовать линии и картинки. Используя те же команды черепахи. Которые управляли аппаратными черепахами [9].

Mindstorms катапультировали использование логотипа на новый уровень. Вдохновляя учителей думать о своих учениках как о детях с безграничным потенциалом. Mindstorms обсудили. Как логотип может быть использован в классах и объяснили педагогические теории Паперта и как компьютеры могут помочь студентам учиться. Поскольку микрокомпьютеры стали дешеветь. Стало возможным размещать компьютеры в классах; школы приобретали компьютеры. Такие как TI 99/4 и Apple II. Которые могли запускать логотип. И в 1980-х годах в школах произошел шквал активности с логотипами.

Помимо Паперта. В лаборатории логотипа М. И. Т. были и другие сотрудники. Которые внесли значительный вклад в первые годы существования ЛОГОТИПА. Жанна Бамбергер добавила музыкальные номера. Синтия Соломон была первой. Кто разработал методику обучения учителей использованию логотипа в классе. Рон Лебель отвечал за системное программирование логотипа. А многочисленные профессора и аспиранты участвовали в семинарах и вносили свой вклад в разработку логотипа в M. I. T.

6. Эволюция

Фокус использования ЛОГОТИПА. Исследований и разработок переместился с BBN в 1970-е годы с открытием Лаборатории логотипа в M. I. T. ЛОГОТИП не был широко использован за пределами местных школ близ M. I. T.. Эдинбурга и Тасмании до конца 1970-х годов. После публикации Mindstorms в 1980 году было выпущено множество версий логотипа для поставки домашних и школьных компьютеров. Язык широко поддерживался Apple. Atari, IBM и TI. Atari даже создала Кембриджский исследовательский центр Atari. Которым руководила Синтия Соломон, женщина. Возглавлявшая программу подготовки учителей для использования логотипа в классах [9].

Компьютеры аркадного типа. Такие как Commodore. Поддерживали логотип. И поскольку эти компьютеры. Как правило. Были более ориентированы на игру. Программы с логотипами. Написанные на этих системах. Как правило, имели

К середине 80-х годов было три основных категории систем логотипов. Logo Computer Systems. Inc. выпускала Apple LOGO. Apple LOGO II. Atari LOGO и IBM LOGO. И программы. Написанные на этих диалектах LCSI LOGO. Были независимыми от платформы. Еще одной разновидностью ЛОГОТИПА. Тесно совместимой с ЛОГОТИПОМ LCSI. Был ЛОГОТИП MIT; эти версии выпускались на Commodore. Apple и IBM PC и продавались под названием Krell и Terrapin. Третья категория систем ЛОГОТИПОВ была произведена компанией LISP и существенно отличалась от других реализаций логотипов; эти системы больше напоминали LISP. В то время как другие системы ЛОГОТИПОВ существовали. Некоторые из них не были

Была проделана работа по модификации логотипа для изучения различных образовательных исследовательских вопросов. Брайан Сильверман и Майкл Темпл ввели ошибку в LOGO. Создав Нечеткий ЛОГОТИП справа. Слева, вперед, и Назад команды имели вперед 100 командование может привести к перемещению черепахи между 90 и 110 единицами черепахи [8].

Другие разработки в области ЛОГОТИПА включают LogoWriter, LEGO Logo. LogoWriter-это версия логотипа. Появившаяся в 1985 году в LCSI. Которая содержала текстовую обработку и несколько черепах. LEGO Logo использовала более аппаратно-ориентированный подход и позволяла размещать огни и двигатели. Помещенные в кирпичи LEGO. Вместе и управлять ими с помощью своей версии логотипа.

7. ЛОГОТИП сегодня

ЛОГОТИП MicroWorlds был представлен в 1993 году компанией LCSI. MicroWorlds добавила мультимедийную поддержку. Чтобы не отставать от других Наиболее важной новой особенностью логотипа MicroWorlds стало добавление многозадачности и параллельной обработки; теперь несколько черепах могут действовать независимо друг от друга [9].

Еще более недавно StarLogo-это новая версия логотипа. Написанная командой M. I. T.. Которая позволяет массово параллельные вычисления; с тысячами черепах цель StarLogo-позволить исследовать тонкие взаимодействия между сущностями в Митчел Резник. Доктор философии. Советник Эми Брукман. Возглавлял эту команду StarLogo.

Поддержка логотипов набирает обороты среди пользователей по всему миру. Образовательные исследования с использованием ЛОГОТИПА продолжаются. И существует еще много конференций. Посвященных ЛОГОТИПУ. Eurologo-одна из таких международных конференций. Которая началась в Дублине в 1987 году и собирается раз в два года [7]. Поискав в Интернете сайты. Связанные с логотипами. Я обнаружил. Что в Южной Америке существует очень большой интерес к логотипам и их использованию в образовании.

Сегодня существуют сотни реализаций логотипов. Которые охватывают почти все доступные компьютерные платформы. От Mac до Windows и DOS LOGO-это язык. Который легко доступен. На рисунке 1 показан пример скриншота из MSWLogo. Популярной и бесплатной версии LOGO для Windows.

Фонд LOGO Foundation. Созданный в 1991 году и расположенный в Нью-Йорке. Поддерживает веб-хранилище прошлых статей и страниц. Описывающих ЛОГОТИП со ссылками на информацию о логотипе и его реализации. В репозитарии Фонда LOGO представлены даже КОК-факультеты Georgia Tech; мне было интересно найти статью Марка Гуздиала об использовании музыки в LOGO для обучения молодых студентов в 1991 году [10].

8. Пример программы логотипа BBN ’67

Этот пример программы взят из оригинального технического меморандума. Подготовленного BBN в августе 1967 года [4]. Эта программа продемонстрировала использование номеров строк. Вызовов функций. Печати на терминале и правил переменной области видимости в предварительной версии логотипа BBN. Авторы этого документа признают. Что в то время. Когда была опубликована эта статья. В язык были внесены Команды черепахи были добавлены вскоре после этого публикация статьи. В которой содержался этот образец программы.

до т1

5 печать

10 сделайте

20 сделайте

30 печать /А

40 печать /B

50 do t2

55 печать

60 печать /А

70 печать /B

к т2

10 печать

20 печать /А

30 печать /B

40 сделайте

50 печать /А

А примерный результат выполнения таков (отступ для ясности):

введена функция t1

это А от т1

это Б из т1

введена функция t2

это А от т1

это Б из т1

это новая буква А от т2

только что вернулся из т2

это новая буква А от т2

это Б из т1

->

Таким образом, мы видим. Что переменные являются глобальными внутри вызовов функций. То Местные новости команда может быть использована. Чтобы сделать переменную локальной для функции. Если мы изменим функцию т2 добавив строку 35 следующим образом:

к т2

10 печать

20 печать /А

30 печать /B

35 местный

40 сделайте

50 печать /А

затем мы получаем следующий вывод (обратите внимание. Что переменная A больше не изменяется глобально):

введена функция t1

это из t1

это B из t1

введена функция t2

это А от т1

это Б из т1

это новая буква А от т2

только что вернулся из т2

это А от т1

это Б из т1

->

9. Пример программы MSWLOGO

Следующий пример взят из примеров файлов. Которые упакованы с MSWLogo версии 6.2. Эта программа отображает 3-мерные кубики. Поликубики. Кубики сетки и другие геометрические фигуры. Обратите внимание на использование окон сообщений и 3-мерной системы координат. Которая использует вниз и вверх команды. На рисунке 2 показан вывод одного из вызовов процедур, polycube.

делать-это-все

turnon3d

messagebox [] [Square] cs

площадь

подождите 60

messagebox [] [Cube] cs cube

подождите 60

messagebox [] [Poly Cube] cs polycube

подождите 60

messagebox [] [Cube of Cubes] cs

cubeofcubes

конец

на площадь

повторите 4 [fd 100 rt 90]

конец

к кубу

повторите 4 [квадрат fd 100 вниз 90]

конец

в polycube

повторите 36 [куб fd 100 вниз 10]

конец

в cubeofcubes

для [x 1 300 100] ~

[

для [y 1 300 100] ~

[

для [z 1 300 100] ~

[

pu setxyz 😡 :y :z pd

куб

]

]

]

конец

в turnon3d

; Это может быть библиотечная процедура

перспектива

setturtle -1

setxyz 500 500 500

setturtle 0

конец

Новая команда SETXYZ :X :Y :Z позволяет программисту расположить черепаху в абсолютных координатах,

10. Комментарии к особенностям языка

Одна из первоначальных критических замечаний ранних версий turtle-based LOGO заключалась в том. Что язык не позволял программистам делать что-либо существенно отличное от современного языка BASIC. Паперт утверждает в Mindstorms [9]. Что программа. Написанная на языке LOGO как

в квадрат

повторите 4 [fd 100 rt 90]

можно было бы написать на БЕЙСИКЕ так

10 УЧАСТОК (0,0)

20 УЧАСТОК(100,0)

30 УЧАСТОК(100,100)

40 УЧАСТОК(0,100)

50 УЧАСТОК(0,0)

60 КОНЕЦ

но тогда обобщение модуля (или процедуры) теряется. Чтобы восстановить обобщение. Нужно было бы передать

10 УЧАСТОК (x,y)

20 УЧАСТОК(x+100,y)

30 УЧАСТОК(x+100,y+100)

40 УЧАСТОК(x,y+100)

50 УЧАСТОК(x,y)

60 КОНЕЦ

Таким образом. Общность модулей. Записанных в LOGO. По своей сути многоразова, учитывая. Что все команды черепахи относительно текущего положения.

Пример MSWLOGO в разделе 9 показывает команду абсолютного позиционирования SETXYZ :X :Y :Z. Можно с уверенностью предположить. Что этот тип команды эволюционировал в язык логотипа. Но не соответствует первоначальным намерениям. Понятно, что такие команды позволяют мощные манипуляции с экраном. Но это действительно устраняет некоторую повторяемость. Встроенную в оригинальный язык логотипа черепахи.

Как говорилось ранее, расходуемость еще одна ключевая языковая особенность ЛОГОТИПА. Поскольку он был разработан. Чтобы позволить непрерывное конструктивистское обучение и развитие детей. Пользователи должны были иметь возможность создавать и расширять процедуры. На самом деле файловый ввод-вывод был одним из первоначальных критериев проектирования в предварительном логотипе BBN. Потому что пользователи должны были иметь возможность загружать старую работу. Которую они ранее выполняли. И изменять. Повторно использовать и улучшать свои процедуры.

Модульность была также особенностью логотипа. Поскольку пользователи должны иметь возможность создавать небольшие строительные блоки программы и складывать их по мере необходимости. На логотип сильно влияет концепция модулей и модульности. Кроме того, рекурсия и локальные параметры и переменные являются центральными для LISP и. Следовательно, для LOGO.

11. Заключение

Утверждения об образовательных достоинствах компьютеров и программного обеспечения в школах варьируются от полного успеха до полного провала. Первоначальное намерение LOGO состояло в том. Чтобы поддержать обучение программированию. Решению проблем и развитию метакогнитивных навыков у молодых студентов. И были исследования. Которые провозглашают успех LOGO как образовательного инструмента и исследования. Которые осуждают претензии на такой успех [1].

Но, конечно. Язык ЛОГОТИПА оправдал по крайней мере одно из своих первоначальных требований: иметь С помощью современных реализаций логотипов программисты могут создавать мультимедийные. Сетевые и даже трехмерные приложения моделирования; но язык также достаточно прост. Чтобы его можно было использовать в классах третьего и четвертого классов.

ЛОГОТИП помог сформировать образовательные языки программирования с ориентированным на пользователя дизайном; язык появился в критический момент. Когда время программистов становилось более ценным. Чем циклы компьютеров. А конструктивистские. Ориентированные на ученика теории Пиаже проявляются в LOGO как языке. Который позволяет пользователю узнать о программировании. Управляя компьютером в интерактивной и поддерживающей системе.

От своей инновационной концепции в BBN и M. I. T. до своего нынешнего параллельного. Высоко графического воплощения LOGO-это язык. Который вырос и адаптировался к потребностям своих пользователей на протяжении всей своей 30-летней истории. ЛОГОТИП широко используется во всем мире и обещает стать языком выбора в образовательных и исследовательских сообществах на протяжении многих лет.

Библиография

1. Чанг, М. Логос исследования в общем и специальном образовании. Преподавание и обучение в среде. Основанной на логотипах: Материалы конференции Eurologo ’89. ИОС, Амстердам. 1990. 34-44.

2. Feurzeig. W. Родословная ЛОГОТИПА. Цифровой Гастроном. Издательская компания Workman Publishing Company, Нью-Йорк. Нью-Йорк, 1984.

3. Фишер и Гродзинский. Анатомия языков программирования. Прентис-Холл. Аппер-Седл-Ривер. Нью-Джерси, 1993 год.

4. Фрейзер Ф. Система ЛОГОТИПОВ: Предварительное руководство. Кембридж. Массачусетс, ВВН, 1967.

5. Дружелюбный, М. Продвинутый ЛОГОТИП: язык для изучения. LEA Publishers. Hillsdale, NJ. 1988.

6. Харви, Б. Стиль логотипа Computer Science: Промежуточное программирование. Том 1. Издательство Массачусетского технологического института, Кембридж. Массачусетс, 1985.

7. http://caesar.elte.hu/~eurologo/

8. http://cher.media.mit.edu/pub/logo/literature/Fuzzy_Logo.txt

9. http://el.www.media.mit.edu/groups/logo-foundation/Logo/Logo.html

10. http://el.www.media.mit.edu/groups/logo-foundation/Publications/Teaching_Progr.html

11. Паперт, С. Ментальные бури: дети. Компьютеры и мощные идеи. Основные книги. Нью-Йорк. Нью-Йорк, 1980.

12. Тайла, Роберт (редактор). Компьютер в школе. Издательство педагогического колледжа. Колумбийский университет. Нью-Йорк, 1980.

13. Weiner, W. et al. The LOGO Processor: A Guide for System Programmers. Том 4. Cambridge, MA. Bolt Beranek and Newman. Inc.