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 строк, который еще раз показывает, что лисп — это вам не хухры-мухры [4]»
- «возможность отлаживать, модифицировать, обновлять работающую программу, не перезагружая ее»
- «мощный рантайм»[5]
- «эффективные кроссплатформенные реализации»
- «уважается Луговским — 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 [2] «Парадокс Блаба»)
- (deflink en.w:Knights of the Lambda Calculus «Рыцари лямбда-исчисления»)
- (deflink http://paulgraham.com/onlisp.html ())
- (deflink [3] «уроки ЛИСПа для чайников»)
- (deflink http://habrahabr.ru/post/237297/ )
- (deflink http://landoflisp.com/ ())
- 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
- ↑ (Впоследствии соавтор Явы
- ↑ ни асилил на RSDN [1]
- ↑ (let ((x '(a b))) (setf (cdr x) x))
[ + ] Любой программист без словаря поймёт, что такое LISP
|
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|