Skip Navigation Linkslisp1

​​​

LISP ​​

lisp.bmp​В 1960 Джон Маккарти опубликовал выдающуюся статью, в которой он сделал для программирования примерно то же, что Евклид когда-то сделал для геометрии. Он показал, как имея в наличии только простые операторы и представление для функций, можно создать целый язык программирования.

           Джон Маккарти

Lisp - это целое множество языков программирования, код программ в которых, также как и данные, представляются системами линейных списков символов. Lisp считается вторым в истории высокоуровневым языком программирования после Фортрана и применяется до сих пор. Как и Фортран, Lisp претерпевал большие изменения в течение своей жизни и имел несколько диалектов. На сегодняшний день наиболее широкую известность приобрели ​диалекты «Common Lisp» и «Scheme».

Система типов в Lisp'е имеет динамическую структуру. Будучи функциональным языком, Lisp в своих последних версиях обладает признаками императивности, а также, имея возможности символьной обработки, делает возможным реализовать объектно-ориентированность.

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

В курсе функционального программирования, читаемом на нашей кафедре, студенты знакомятся с основами этой парадигмы и языка Lisp, который внес  большой вклад в развитие языков программирования. Для практического ознакомления используется среда, поддерживающая самый распространенный диалект языка.​ 

Пример рекурсивной функции вычисления факториала на диалекте CommonLisp:

(defun factorial (n) (if (= n 0) 1 (* n (factorial (- n 1))) ) ) (loop for i from 0 to 16 do (format t "~D! = ~D~%" i (factorial i)) )​

​​​​<< Назад