LISP

(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 галерея (defentity goat.se! '( (((L I S P )( L I S P ) ( L I S P ) ( L I S P ))) * ( \ \ ) \ * B( ) \ ) ) B e( `. ) ) : e a` ) ) \) ) a t \ ) ) ) \\\ --__ \\ : t i \ \) _--~~ ~--__) \ ) i n \ \_-~ ~-_\ ) n g \_ \ _.--------.______\) ) g \ \______(( _ ___ _ (_(__H \ ) t \ . S ___) ______ (_(____t ) ) t h (\ ) I ____)) APPLY\ (_____D )_) h e ( (\) C_____) EVAL ) (___P ) \ e ( ( _P_____)\______) )) _) ) \ a ( \ )__ \\_________)) (__) ) a v ( \ \____) `---- --' ) v e ( \_ ___\ )_ _) ) e r ( ) ( ) \ ) r a ( ) ( λ ) \ ) a g ( ) ) ( ) \ )g e ( ) ) (__)(___) ) )e s ( ) ( ) ) )s * ( ) ( ) ) )* (((L I S P )( L I S P ) ( L I S P ) ( L I S P ))) ))) (defsection «см. также» (defsubsection статьи '( My other car «GNU Emacs» Haskell)) (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 Языки программирования Промышленные: 1С • BAT • C# • C • C++ • Java • JavaScript (AJAX) • Pascal • Perl • PHP • Python • Ruby • ABAP • Ассемблер • Васик • Фортран Эзотерические: BrainFuck • Erlang • Forth • Haskell • LISP (My other car) • Prolog • Tcl • TeX Профессии Быдлокодер • Программист • Тестировщик • Хакер • Хеллоуворлдщик Методы и стили Reverse Engineering • Анти-паттерн • Выстрелить себе в ногу • Грязный хак • Код (индусский) • Костыль • Метод научного тыка • Помолясь • Свистелки и перделки Прочее ++i + ++i • Deadline • %s • 640 килобайт • CMS • Dummy mode • ЕГГОГ • Foobar • God is real, unless explicitly declared as integer • GOTO • Ifconfig • KISS • RegExp • SICP • sql.ru • Xyzzy • Дискета • Инжалид дежице • КОИ-8 • Лог • Ман • Рекурсия • СУБД • Тест Тьюринга • Умение разбираться в чужом коде • Фаза Луны • Фатальный недостаток