LISP
Материал из Lurkmore
(defarticle LISP
(epigraph
| (defquote '( |
Любая достаточно сложная программа на C или Фортране содержит заново написанную, неспецифицированную, глючную и медленную реализацию половины языка Common Lisp[1] | ) |
| — '(Филип Гринспен)) | ||
| (defquote '( |
…в том числе и сам Common Lisp | ) |
| — '(Роберт Моррис)) | ||
| (defquote '( |
В Лиспе, если охота аспектно-ориентированного программирования, нужно лишь настругать немного макрокоманд, и готово. В Java, нужен Грегор Кичалес, создающий новую фирму, и месяцы и годы попыток заставить всё работать. | ) |
| — '(Петер Норвиг))) | ||
(defterm LISP ("язык программирования" (состоящий (из (смайликов (чуть (более (чем (целиком)))))))))
(defstatement Считается, что[2] LISP (означает '(LISt Processor — обработчик списков.)))
|
(defquote '(Ибо воистину. Первый Язык, жемчужина посреди простых камней, и нет языков кроме Него. Скобки, в которых пустота — тело Его, мистическое двуединство кода и данных — дух Его, божественная рекурсия — сердце Его. Истинно говорю вам, избегающий света Его есть безумец, вот, свершается кара над главой его, и убогостью отмечены поделия его, подобные пустым глиняным горшкам рядом с хрустальным сосудом благодати Его. Принявший же и постигший истинный свет Его подобен прямой и отточенной стреле, чисты помыслы его и крепка рука его, и благословенны творения его, дарующие радость и утоляющие печали, ибо одухотворены духом Его и отмечены благодатью Его.) |
| '(ЛОР о Лиспе))) |
Содержание |
[править] (defsection "история-создания"
'(
- "Перволисп был открыт Джоном Маккарти (R.I.P.), реализовавшем процедуру eval для инструкций, записанных в списки вместе с данными, что позволило объединить данные и код в единый тип S-expression (symbolic expression) и отказаться от отдельного M-expression (meta expression) для инструкций, имевшего другой синтаксис."
- "Emacs Lisp разработан Ричардом Столлманом для редактора GNU Emacs. Является самым старым лиспом из остающихся в ходу."
- "ANSI Common Lisp (стандарт ANSI X3.226-1994) был разработан, чтобы объединить воедино в одном стандарте разнообразные лиспы (Interlisp, LML и пр.), является наиболее практическим диалектом, на котором пишут вебсерверы, вебсайты и вебдваноль."
- "Scheme создали Гай Стил[3] и Джеральд Сассман в качестве учебного языка для демонстрации колдовских возможностей машины и написания книги SICP. В процессе работы над языком они достигли такой глубины сатори, что сочиняли до десятка разных интерпретаторов в неделю.")
- "Инженеры из Apple Computer, не останавливаясь на достигнутом (Object Pascal), создали Dylan, совмещающий синтаксис Паскаля с возможностями Lisp, но всем было похуй. А потом вернулся Джобс, и в Apple воцарился Objective C, совмещающий типобезопасность C со скоростью SmallTalk."
))
[править] (defsection кошерность
'(
- "функциональная основа (хотя на самом деле лисп — язык мультипарадигменный)"
- "прямой доступ к AST — на лиспе очень легко метапрограммировать. За это его любит, например, Луговский, Лейн"
- "истинные макрокоманды, а не всякое препроцессорное говно"
- "интерпретатор Лиспа, написанный на Лиспе, занимает 15 строк, который еще раз показывает, что лисп — это вам не хухры-мухры (http://www.rsdn.ru/article/philosophy/languages.xml)"
- "возможность отлаживать, модифицировать, обновлять работающую программу, не перезагружая ее"
- "мощный рантайм"[4]
- "эффективные кроссплатформенные реализации"
- "уважается Луговским — nuff said."))
[править] (defsection галерея
)
[править] (defsection "см. также"
[править] (defsubsection статьи
'(
[править] (defsubsection ссылки
'(
- (deflink ae:Lisp "Единственно правильное мнение о лиспе")
- (deflink en.w:LISP "Английская педивикия о лиспе")
- (deflink http://mitpress.mit.edu/sicp/ SICP)
- (deflink http://lisper.ru/ ())
- (deflink http://lisp.ru/ ())
- (deflink http://clisp.linkfly.ru/ ())
- (deflink [1] "Парадокс Блаба")
- (deflink en.w:Knights of the Lambda Calculus "Рыцари лямбда-исчисления")
- (deflink http://paulgraham.com/onlisp.html ())
- (deflink [2] "уроки ЛИСПа для чайников")
- Interview with an Adware Author — интервью с программистом фирмы Direct Revenue, который писал на Scheme трояны, гадившие на декстопе и в браузерах рекламными поп-апами.))
[править] (defsubsection примечания
'(
- ↑ (Т.н. „Десятое правило Гринспена“
- ↑ (Есть мнение, что на самом деле LISP означает Lots of Irritating Superfluous Parentheses, хотя некоторые говорят что на самом деле это Lost in a Sea of Parentheses. Существует также трактовка Lots of Incomprehensible Statements with Parenthesis
- ↑ (Впоследствии соавтор Явы
- ↑ (let ((x '(a b))) (setf (cdr x) x))
|
[ + ] Любой программист без словаря поймёт, что такое LISP
|
||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
|||||||||||
