- •Основные данные о работе
- •Содержание
- •1. Язык программирования Лисп
- •1.1 Основные функции языка Лисп
- •1.2 Арифметические функции
- •1.3 Логические функции
- •1.4 Специальные функции
- •2. Особенности диалектов языка Лисп
- •3. Особенности языка Лисп
- •Заключение
- •Глоссарий
- •Список использованных источников
- •Приложения
Заключение
В курсовой работе были рассмотрены основные функции и особенности языка программирования LISP и отличительные особенности его диалектов.
Современные диалекты языка LISP можно рассматривать как мощные интерактивные системы программирования. Это объясняется двумя причинами. Во-первых, сам язык LISP претерпевает серьезные изменения – развиваются средства языка, предназначенные для обработки нетрадиционных для LISP типов данных: массивов, векторов, матриц; появляются некоторые средства управления памятью (пакеты), отсутствующие в LISP. Серьезные изменения претерпевают и управляющие структуры. Появились несвойственные природе языка LISP функции, заимствованные из Фортрана, Алгола, Паскаля, Си: Do, Loop, Goto , Case и прочие, позволяющие пользователю, незнакомому с принципами функциональных языков, легко переходить на LISP. Качество программ снижается, зато возрастает популярность языка. Во-вторых, если на первом этапе развития LISP -системам была присуща небольшая скорость обработки данных и серьезные ограничения на емкость используемой оперативной памяти, то современные Лисп-системы уже могут соперничать по этим параметрам с такими языками, как Си, Паскаль и др. Использование LISP – машин вообще практически снимает ограничения памяти и быстродействия.
Для ПЭВМ ограничения по памяти и быстродействию все еще остаются существенными. Однако положение не безнадежно. Развитие LISP – систем для ПЭВМ идет сегодня по трем различным направлениям. Первое связано с увеличением емкости памяти, которая может использоваться LISP – системой. С этой целью ряд компаний разработал версии языка Golden Common Lisp, использующие расширения оперативной памяти и виртуальную память. Второе направление связанно с повышением быстродействия LISP – систем. Третье направление состоит в разработке эффективных компиляторов программ с языка LISP в традиционные языки (чаще всего в язык Си).
Положительным нововведением в современные диалекты языка можно считать псевдоассемблерные команды, которые позволяют оперировать основными регистрами машины и организовывать прерывания на уровне DOS и BIOS. Кроме того, многие LISP – системы имеют хорошие интерфейсы с другими языками (Фортран, Паскаль, Ассемблер, Си), что позволяет повысить эффективность прикладных LISP – программ.
Если же говорить о глобальной тенденции развития самой идеологии языка LISP, то очевидно, что она связана с созданием объектно – ориентированных версий языка как наиболее пригодных для реализации систем ИИ.
Анализ существующих языков обработки символьной информации, использование их для реализации интеллектуальных систем, а также сравнение тенденций развития этих языков позволяют сделать несколько замечаний.
Можно предположить, что LISP еще значительное время будет оставаться основным языком для реализации интеллектуальных систем. Уже в ближайшее время можно ожидать появления языков, вобравших в себя лучшие черты LISP и др. языков программирования ИИ.
Наблюдается явная тенденция к созданию параллельных версий языков для программирования задач ИИ. Языки типа Лисп, Пролог, Рефал (а также всевозможные модификации и "смеси" этих и/или других языков символьной обработки) будут все больше уступать свои позиции на уровне инженеров по знаниям специальным языкам представления знаний, оставаясь инструментарием системных программистов.
