Язык Лисп

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

В°ля, Си: Do, Loop, Goto , Case и прочие, позволяющие пользователю, незнакомому с принципами функциональных языков, легко переходить на LISP. Качество программ снижается, зато возрастает популярность языка. Во-вторых, если на первом этапе развития LISP -системам была присуща небольшая скорость обработки данных и серьезные ограничения на емкость используемой оперативной памяти, то современные Лисп-системы уже могут соперничать по этим параметрам с такими языками, как Си, Паскаль и др. Использование LISP - машин вообще практически снимает ограничения памяти и быстродействия.

Для ПЭВМ ограничения по памяти и быстродействию все еще остаются существенными. Однако положение не безнадежно. Развитие LISP - систем для ПЭВМ идет сегодня по трем различным направлениям. Первое связано с увеличением емкости памяти, которая может использоваться LISP - системой. С этой целью ряд компаний разработал версии языка Golden Common Lisp, использующие расширения оперативной памяти и виртуальную память. Второе направление связанно с повышением быстродействия LISP - систем. Третье направление состоит в разработке эффективных компиляторов программ с языка LISP в традиционные языки (чаще всего в язык Си).

Положительным нововведением в современные диалекты языка можно iитать псевдоассемблерные команды, которые позволяют оперировать основными регистрами машины и организовывать прерывания на уровне DOS и BIOS. Кроме того, многие LISP - системы имеют хорошие интерфейсы с другими языками (Фортран, Паскаль, Ассемблер, Си), что позволяет повысить эффективность прикладных LISP - программ.

Если же говорить о глобальной тенденции развития самой идеологии языка LISP, то очевидно, что она связана с созданием объектно - ориентированных версий языка как наиболее пригодных для реализации систем ИИ.

Анализ существующих языков обработки символьной информации, использование их для реализации интеллектуальных систем, а также сравнение тенденций развития этих языков позволяют сделать несколько замечаний.

Можно предположить, что LISP еще значительное время будет оставаться основным языком для реализации интеллектуальных систем. Уже в ближайшее время можно ожидать появления языков, вобравших в себя лучшие черты LISP и др. языков программирования ИИ.

Наблюдается явная тенденция к созданию параллельных версий языков для программирования задач ИИ. Языки типа Лисп, Пролог, Рефал (а также всевозможные модификации и "смеси" этих и/или других языков символьной обработки) будут все больше уступать свои позиции на уровне инженеров по знаниям специальным языкам представления знаний, оставаясь инструментарием системных программистов.

Глоссарий

№ п/пПонятиеОпределение1Атомыпростейшие неделимые элементы, из которых состоят программы на языке Лисп2Искусственный интеллектраздел информатики, ставящий своей целью разработку методов решения задач, для которых отсутствуют формальные алгоритмы: понимание естественного языка, обучение, доказательство теорем, распознавание образов3Компиляторпрограмма ЭВМ, предназначенная для автоматического перевода описания алгоритма с одного языка программирования на другой, в частности на машинный язык4Логическое программированиеодин из подходов к программированию, при котором в качестве языка высокого уровня используется логика предикатов первого порядка5Параллельная рекурсиярекурсия, которая встречается одновременно в нескольких аргументах функции6Простая рекурсиярекурсия, при которой вызов функции встречается в некоторой ветви лишь один раз7Предикатфункция, которая определяет, обладает ли аргумент определенным свойством8Списокупорядоченная последовательность, элементами которой являются либо атомы, либо списки9Символимя, состоящее из букв, цифр или специальных знаков, которое обозначает какой либо предмет или действие, а так же число, функцию (программу) и другие объекты10Строкалюбая последовательность символов, которые могут быть напечатаны (кроме двойных кавычек), заключенная в двойные кавычки11Рекурсияспособ организации вычислительного процесса, при котором подпрограмма в ходе выполнения обращается сама к себе

Список использованных источников

1. "Программирование на языке ЛИСП в системе muLISP-90". Байдун В.В., Кружилов С.И., Сергиевский А.Е, Чернов П.Л. - М.: Моск. энеpг. ин-т, 1993. - 40 С. [Текст]

. "Функциональное программирование". Хендерсон П.: Пер. с англ.-М.: Мир, 2003. - 637 С. [Текст]

. "Мир Лиспа". Хювёнен Э., Сеппянен Й. В 2-х т. / Пер. с финск.. - М.: Мир, 2000. - ISBN 5-03-001935-9 [Текст]

. Русскоязычное сообщество лисперов [Электронный ресурс]. Режим доступа:

. Начальные сведения о языках Лисп-семейства на русском [Электронный ресурс]. Режим доступа: lisp.narod.ru

. Русский перевод книги Practical Common Lisp(англ.) [Электронный ресурс]. Режим доступа: pcl.catap.ru/doku.php

. "Язык программирования XLISP". Тужилов И. В. Учеб. пособие. - Пенза: Изд-во Пенз. гос. техн. ун-та, 2004. - 126 С.[Текст]

. Личный сайт Дж. Маккарти с текстами его публикаций [Электронный ресурс]. Режим доступа:

. "Введение в программирование на языке Лисп" Городняя Л.В.: Учебное пособие для начинающих. - Новосибирск: НГУ, 2005. - 93 с.

. Энциклопедия языков программирования. [Электронный ресурс]. Режим доступа:

Приложения

Приложение А. Функции Лиспа

Приложение Б. Внешний вид окна CommonLisp