Первые реализации языка Lisp в СССР Лидия Васильевна Городняя gorod@iis.nsk.su ИСИ СО РАН им. А.П. Ершова.

Презентация:



Advertisements
Похожие презентации
OpenGL и Direct3D сравнение стандартов Выполнил: Пенкин А. Группа И-204.
Advertisements

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В ЭКОНОМИКЕ Тема 2. ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ ОБРАБОТКИ ДАННЫХ Подготовил Иванов А.Н.
2010 Предикатное программирование Формальные методы в описании языков и систем программирования п/г спецкурс Ведет спецкурс: Шелехов Владимир Иванович,
Информационные системы. Базы данных. Информационная система – любая система обработки информации (шир)
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ СТАВРОПОЛЬСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ.
Языки и методы программирования Преподаватель – доцент каф. ИТиМПИ Кузнецова Е.М. Лекция 7.
1 Диаграммы реализации (implementation diagrams).
Лекция 3. Программное обеспечение информационных технологий По дисциплине: «Информационные технологии в коммерческой деятельности»
База данных (БД) – Совокупность определённым образом организованной информации на определённую тему (в рамках определённой предметной деятельности); Организованная.
Системы программирования Системы программирования обеспечивают создания новых программ для компьютера. Современные системы программирования обычно представляют.
Опыт реализации отказоустойчивого сервера приложений и хранилища данных на базе СУБД ЛИНТЕР Михаил Ермаков, Дмитрий Мухоедов, РЕЛЭКС.
Алгоритмы и методы поиска событий в видео потоке Вороной А.С. Научный руководитель: проф. Башков Е.А.
Разработка программного обеспечения (Software Engineering) Часть 2. Создание ПО.
Тема 2. Концептуальное проектирование. Лекция 1. Уровни моделей и этапы проектирования.
Технические возможности. Наши цели Максимальная гибкость Максимальная скорость считывания и обработки данных Стабильность работы Максимальная простота.
Домашнее задание (от ) § 2.2 1, 5. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ КОМПЬЮТЕРА КОМПЬЮТЕР КАК УНИВЕСАЛЬНОЕ УСТРОЙСТВО ДЛЯ РАБОТЫ С ИНФОРМАЦИЕЙ Информатика.
От сложного – к простому. От непонятного – к понятному.
Опыт организации электронного архива финансовой документации с помощью комплексного решения «eDocLib: Хранение и оцифровка» в инвестиционной компании «МИБ-
Университетская информационная система РОССИЯ ( УИС РОССИЯ ) Режим доступа:
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В ЭКОНОМИКЕ ТЕМА 3. ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ УПРАВЛЕНИЯ Подготовил Иванов А.Н.
Транксрипт:

Первые реализации языка Lisp в СССР Лидия Васильевна Городняя ИСИ СО РАН им. А.П. Ершова

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вопросы? Спасибо за внимание !