Я недостаточно знаю Лисп, чтобы сказать, хорошо это или плохо. Кажется, что все, кто использовал Lisp, любят его, но самые популярные языки в наши дни происходят от C.
Так что же такого хорошего в Лиспе и почему он не используется чаще? Есть ли что-нибудь просто плохое в Лиспе (кроме бесконечного количества круглых скобок)?
Ответы:
Лисп - это Чак Норрис языков программирования.
Лисп - это планка, с которой сравниваются другие языки.
Знание Лиспа демонстрирует просвещенность разработчика.
Я слышал о трех слабостях (и их контраргументах):
Динамический набор текста.
Есть аргумент в пользу статически типизированных языков, который вращается вокруг предоставления компилятору информации, достаточной для обнаружения определенного класса ошибок, чтобы они не возникали во время выполнения. Но все равно нужно тестировать.
В этой статье аргументируется необходимость динамического набора текста вместе с дополнительным тестированием: строгая печать против строгого тестирования .
Трудно подобрать.
На самом деле здесь есть две части: обучение и инструменты.
Lisp требует некоторых усилий, чтобы действительно «понять», но оно того стоит, потому что изучение Lisp действительно сделает вас лучшим программистом на других языках. Например, как только вы действительно «получите» замыкания, вы поймете внутренние классы Java. И как только вы «получите» первоклассные функции, вы будете разочарованы каждый раз, когда будете использовать язык без них.
Я читал «Маленького программиста» и читаю « Практический Common Lisp» , и оба они превосходны.
Далее идут инструменты. У меня Mac, поэтому я сосредоточился на Aquamacs Emacs (делает Emacs пригодным для жизни новичком) и Steel Bank Common Lisp (SBCL).
Отсутствие библиотек.
Пока не могу сказать наверняка, но сомневаюсь. Для создания веб-сайтов, похоже, Hunchentoot и Elephant предоставляют хороший набор инструментов. Но на самом деле я не вижу, чтобы Lisp'ы жаловались на отсутствие библиотек (может быть, потому, что Lisp настолько мощный, что они просто не нужны?).
источник
Вот мой взгляд:
На первый взгляд, Lisp - красивый, простой функциональный язык программирования. Синтаксиса почти нет, и все части логически совпадают.
Если копнуть немного глубже, прочитать SICP и написать метациркулярный оценщик, вы обнаружите две вещи: во-первых, весь интерпретатор (с учетом всего нескольких примитивов) представляет собой всего лишь страницу кода, а во-вторых, взаимосвязь между кодом и данными. позволяет применять элегантные методы программирования.
Как только вы полностью усвоите это, кажется, что другие языки высечены в камне, когда они позволяют вам говорить лишь несколько вещей. Lisp может построить любую абстракцию, если вы можете определить для нее синтаксис и семантику.
источник
Lisp хорош тем, что имеет очень минимальный, простой, регулярный синтаксис.
Lisp плох, потому что у него очень минимальный, простой, регулярный синтаксис.
источник
«Любая достаточно сложная программа на C или Fortran содержит специальную, неформально заданную, содержащую ошибки, медленную реализацию половины Common Lisp».
Десятое правило Гринспана
источник
Вот несколько полезных ссылок:
источник
Первая глава Питера Seibel в отличном Practical Common Lisp покрывает свои причины симпатии Лиспа. Итог - фраза «программируемый язык программирования» - возможность настроить язык под свой домен или предпочтительный стиль.
источник
Источник: http://www.gigamonkeys.com/book/introduction-why-lisp.html
источник