Skip Navigation Linkslisp

LISP​
В 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)) )



   Джон Маккарти
родился 4 сентября 1927 года в Бостоне,  штат Массачусетс в семье иммигрантов, Джона Патрика и Иды Глатт Маккарти.Во время Великой депрессии 
семья была вынуждена часто менять место жительства, пока, наконец, отец Маккарти не нашёл работу в Лос-Анджелесе, Калифорния.   У Маккарти рано проявились склонности к математике, в юности он самостоятельно изучал её по университетским учебникам, которые использовались в расположенном неподалёку Калифорнийском технологическом институте. В результате, поступив в университет, он смог сразу пропустить два первых года по математике.[4] В 1948 году получил степень бакалавра математики в Калифорнийском технологическом институте и степень доктора философии по математике в Принстоне  в 1951 году. После кратковременных должностей в Принстонском  и Стэнфордском университетах, Дартмутском коллледже и Массачусетском технологическом институте, он стал профессором в Стэнфорде в 1962 году, где он и оставался до своего ухода на пенсию в конце 2000-го.
   Маккарти отстаивал использование математической логики для искусственного интеллекта. В 1958 году он предложил систему «принятия советов», которая позже вдохновила работы по ответам на запросы и логическому программированию. В том же году он изобрел язык программирования Лисп[5] и опубликовал его описание в журнале Communications of the ACM в 1960 г.[6]
   В 1961 году Джон Маккарти публично предположил, что компьютерная технологияразделения времени может привести к будущему, в котором компьютерная мощь и даже определенные приложения могут продаваться с использованием бизнес-модели сферы [коммунальных] услуг (подобно воде или электричеству). Эта идея компьютерных или информационных услуг была очень популярна в конце 1960 годов, но вышла из моды к середине 1970 годов, так как стало ясно, что аппаратные, программные и коммуникационные технологии того времени были просто ещё не готовы к этому. Тем не менее, начиная с 2000 года, эта идея вновь объявилась, всплыв на поверхность в новых формах. ​​