Первые реализации языка Lisp в СССР

Содержание

Слайд 2

Конец 1968 года


Джон Маккарти прочел в Москве и Новосибирске циклы

Конец 1968 года Джон Маккарти прочел в Москве и Новосибирске циклы лекций
лекций по Lisp-у и автоматизации доказательств теорем

Слайд 3

Московская (ВЦ АН СССР) Lisp-система

Лавров С.С., Силагадзе Г.С. Входной язык и интерпретатор системы программирования

Московская (ВЦ АН СССР) Lisp-система Лавров С.С., Силагадзе Г.С. Входной язык и
на базе языка ЛИСП для машины БЭСМ-6. - М.: ВЦ АН СССР, 1967.
Лавров С.С., Силагадзе Г.С. Входной язык и интерпретатор системы программирования на базе языка ЛИСП для машины БЭСМ-6. - М.: ИТМ и ВТ АН СССР, 1969.
Лавров С.С., Силагадзе Г.С. Автоматическая обработка данных. Язык Лисп и его реализация. - М.: Наука, 1978, 176 с.

Слайд 4

С.С. Лавров. Научная автобиография

«Существенно более успешной была реализация языка Лисп на БЭСМ-6

С.С. Лавров. Научная автобиография «Существенно более успешной была реализация языка Лисп на
(совместно с Г.С. Силагадзе). Удалось создать неплохие интерпретатор и компилятор Лиспа. В книге тех же авторов "Язык Лисп и его реализация" (М.: Наука, 1978) описана более совершенная реализация. »

Слайд 5

Новосибирская (ВЦ СО АН СССР) Лисп-система

Применялась в пионерских исследованиях по верификации программ, организации недоопределенных вычислений,

Новосибирская (ВЦ СО АН СССР) Лисп-система Применялась в пионерских исследованиях по верификации
конструированию семантических моделей и макетированию программ с целью поддержки процесса их разработки.
Включает русифицированную версию языка.
Эксплуатировалась система без особых переделок практически до демонтажа БЭСМ-6

Слайд 6

История языка Lisp

John McCarthy. Recursive Functions of Symbolic Expressions and Their Computation

История языка Lisp John McCarthy. Recursive Functions of Symbolic Expressions and Their
by Machine. Communications of the ACM, April 1960.
John McCarthy et al. LISP 1.5 Programmers Manual. MIT Press, 1962.
Lisp 1. Programmer’s Manual. Massachusetts, 1960. 156 p.
Mitchell, R.W., "LISP 2 Specifications Proposal", Stanford Artificial Intelligence Laboratory Memo No. 21, Stanford, Calif., 1964.

Слайд 7

Первые реализации

Сложилась структура открытой системы из:
интерпретатора,
компилятора,
средств ввода-вывода списков,
доступа к памяти с

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

Слайд 8

Освобождение от непринципиальных затруднений

Беззаботное размещение в памяти гибких списков произвольного размера

Освобождение от непринципиальных затруднений Беззаботное размещение в памяти гибких списков произвольного размера
с автоматической «сборкой мусора».
Работа с целыми неограниченной длины и вещественными с задаваемой точностью.
Отображение структур данных в интегральный результат посредством независимо программируемых функций.
Компиляции как встроенная функция, вызываемая в любой момент по мере необходимости.

Слайд 9

Расширение круга специалистов
ввод/вывод данных любой сложности без особых ритуальных действий.
Выделено концептуальное

Расширение круга специалистов ввод/вывод данных любой сложности без особых ритуальных действий. Выделено
подмножество (Pure Lisp), достаточное для освоения наиболее важных особенностей языка,
Разработан небольшой, но содержательно полный, сборник задач с ответами для быстрого самостоятельного перехода к программированию на языке.

Слайд 10

Многолетняя дружба

более 340 документов
Язык Lisp упоминается в большинстве документов того времени –

Многолетняя дружба более 340 документов Язык Lisp упоминается в большинстве документов того
преимущественно Lisp 2
Джон Маккарти участвовал в ВКП-2 с докладом «Текущее состояние математической теории вычислений»
После участия в Международном симпозиуме «Проблемы теории программирования» Джон Маккарти и Джекоб Шварц на две недели включились в работы ВЦ СО РАН СССР по реализации языков Лисп и Сетл.

Слайд 11

Много более давняя и тесная дружба связывает Андрея Петровича Ершова со Святославом Сергеевичем

Много более давняя и тесная дружба связывает Андрея Петровича Ершова со Святославом
Лавровым.
Научный архив С.С. Лаврова передан на хранение в электронный архив А.П. Ершова

Слайд 12

LISP – БЭСМ-6 (ВЦ АН СССР) Мнение авторов:

«в основу языка Lisp положены

LISP – БЭСМ-6 (ВЦ АН СССР) Мнение авторов: «в основу языка Lisp
оригинальные идеи, знакомство с которыми обогащает программистскую квалификацию и культуру и приносит пользу, даже если программист в дальнейшем и не работает с этим языком».

Слайд 13

Мнение авторов

«описание интерпретатора может служить примером подхода к составлению любых больших программ,

Мнение авторов «описание интерпретатора может служить примером подхода к составлению любых больших
т.е. программ, значительно превосходящих по размеру и сложности те программы, которые встречаются в учебных пособиях или излагаются на занятиях по программированию».

Слайд 14

Мнение авторов

«язык Lisp устроен так, что он во многих случаях позволяет находить

Мнение авторов «язык Lisp устроен так, что он во многих случаях позволяет
путь к решению задачи постепенно, последовательно сводя ее к более простым задачам».

Слайд 15

FUNARG-проблема

Изобретено и реализовано оригинальное эффективное решение FUNARG-проблемы, заключающееся в особой разметке

FUNARG-проблема Изобретено и реализовано оригинальное эффективное решение FUNARG-проблемы, заключающееся в особой разметке
областей действия переменных в ассоциативном списке

Слайд 16

Фольклор
На Ростовской молодежной Школе системного программирования (Мелиховка) в 1970 году в

Фольклор На Ростовской молодежной Школе системного программирования (Мелиховка) в 1970 году в стенгазете отмечен «Лавровый Лисп».
стенгазете отмечен «Лавровый Лисп».

Слайд 17

Судьба Лиспа в России весьма волновала С.С. Лаврова

подготовил серию статей, адресованных старшеклассникам, для

Судьба Лиспа в России весьма волновала С.С. Лаврова подготовил серию статей, адресованных
журнала «Компьютерные инструменты в образовании»
реализовал новую учебную систему на Паскале

Слайд 18

ЛИСП – БЭСМ-6 (ВЦ СО АН СССР)

Начатая в 1967 году первая версия

ЛИСП – БЭСМ-6 (ВЦ СО АН СССР) Начатая в 1967 году первая
реализации Лисп-интерпретатора в Новосибирске, была прервана из-за несовершенства исходных решений (реализация хэш-таблицы атомов оказалась неприспособленной к удалению объектов).

Слайд 19

Вторая версия реализации полного Lisp 1.5

Для производительного варианта был реализован специальный

Вторая версия реализации полного Lisp 1.5 Для производительного варианта был реализован специальный
механизм контроля стека с выгрузкой во внешнюю память.
Для производительного варианта был реализован специальный механизм контроля стека с выгрузкой во внешнюю память.

Слайд 20

Руссификация

КАР, КДР, КОНС, СОВП, АТОМ,
ЛАМБДА, МЕТКА, КАВЫЧ, УСЛ,

Руссификация КАР, КДР, КОНС, СОВП, АТОМ, ЛАМБДА, МЕТКА, КАВЫЧ, УСЛ, ФУНК, НИЛ,
ФУНК,
НИЛ, И, Л, ИНТЕРП, ЧТЕНИЕ, ПЕЧАТЬ, ПЕЧ0, ПЕЧФ, СПИСОК, НИЛС,
ДЛИНА, ДОСТ, ЗНАЧ,
ПОДПР, СВЫР, СПЕЦВЫР, СПЕЦПОЛПР,
ОШИБКА, РЕЖИМ, СБОЙ, КОНЕЦ, …)

Слайд 21

Стандартизация языка Lisp

Раскол между сторонниками академических (Lisp-1) и производственных (Lisp-2) диалектов
(fn a1 a2 … ) ;;

Стандартизация языка Lisp Раскол между сторонниками академических (Lisp-1) и производственных (Lisp-2) диалектов
Scheme
(FUNCALL fn a1 a2 …) ;; Common Lisp

Слайд 22

Другие

MuLisp
Interlisp
AutoLisp
GNU Clisp
CMUCL

Другие MuLisp Interlisp AutoLisp GNU Clisp CMUCL

Слайд 23

Новые реализации

Дмитрий Иванов и Арсений Слободюк реализовали (ок. 500 функций) учебное подмножество

Новые реализации Дмитрий Иванов и Арсений Слободюк реализовали (ок. 500 функций) учебное
языка Common Lisp, соответствующее стандарту X3J13
Б.Л. Файфель создал систему HomeLisp, обеспечивающую Windows-интерфейс, средства машинной графики, COM-объекты и BLOB-объекты, WEB-компоненты, т.е. все, к чему привык программист, воспитанный на Visual Studio и Delphi

Слайд 24

«Зная Лисп, легко понимать любые языки программирования»

Хендерсон П Функциональное программирование М.: Мир, 1983

«Зная Лисп, легко понимать любые языки программирования» Хендерсон П Функциональное программирование М.:
- в переводе Л.Т. Петровой
В предисловии к этой книге А.П. Ершов утверждает, что «понять и принять функциональное программирование легче, если рассматривать задачу программирования в ее полном контексте, начиная со спецификации задачи и логического анализа ее разрешимости, побочным продуктом которого является сама программа».
Имя файла: Первые-реализации-языка-Lisp-в-СССР.pptx
Количество просмотров: 232
Количество скачиваний: 2