it-swarm.com.ru

Что такого хорошего в Лиспе?

Я не знаю достаточно LISP, чтобы сказать, хорошо это или плохо. Кажется, что все, кто использовал LISP, любят его, но самые популярные языки в наши дни произошли от C.

Так что же такого замечательного в LISP и почему он не используется больше? Есть ли что-то плохое в LISP (кроме непрерывного количества скобок)?

92
Darrell Brogdon

LISP - это Чак Норрис из языков программирования.

LISP - это бар, с которым сравниваются другие языки.

Знание LISP демонстрирует Enlightenment разработчика.

Я слышал о трех слабостях (и их контраргументах):

  1. Динамическая типизация.

    Существует аргумент для статически типизированных языков, вращающихся вокруг предоставления компилятору достаточно информации, чтобы перехватить определенный класс ошибок, чтобы они не возникали во время выполнения. Но вам все равно нужно проверить.

    В этой статье приводятся доводы в пользу динамической типизации наряду с дополнительным тестированием: Строгая типизация против строгого тестирования .

  2. Трудно подобрать.

    На самом деле есть две части: обучение и инструменты.

    LISP требует определенных усилий, чтобы действительно "получить", но оно того стоит, потому что изучение LISP действительно сделает вас лучшим программистом на других языках. Например, как только вы действительно "получите" замыкания, вы поймете внутренние классы Java. И как только вы "получите" первоклассные функции, вы будете подавлены каждый раз, когда используете язык без них.

    Я прочитал Маленький интриган и читаю Практический общий LISP , которые оба отлично.

    Далее идут инструменты. Я на Mac, поэтому я сосредоточился на Aquamacs Emacs (делает Emacs пригодным для жизни новичком) и Steel Bank Common LISP (SBCL).

  3. Недостаток библиотек.

    Пока точно не могу сказать, но сомневаюсь. Для создания веб-сайтов это выглядит так: Hunchentoot и Elephant предоставляют хороший набор инструментов. Но на самом деле я не вижу, чтобы Лисперс жаловался на отсутствие библиотек (может быть, потому что LISP настолько мощен, что просто не нужен?).

54
rickmode

"LISP - это программируемый язык программирования".
- Джон Фодераро, CACM, сентябрь 1991

Вот мой взгляд:

На первый взгляд, LISP - Хороший, простой функциональный язык программирования. Синтаксиса почти нет, и все части логически объединяются.

Если вы покопаетесь немного глубже, прочитаете SICP и напишете метакруглое средство оценки, вы обнаружите две вещи: во-первых, весь интерпретатор (учитывая всего несколько примитивов) - всего лишь страница кода, и во-вторых, связь между кодом и данными позволяет использовать элегантные методы программирования.

Как только вы полностью освоили это, создается впечатление, что другие языки заложены в камень, когда они позволяют вам только сказать несколько вещей. LISP может построить любую абстракцию вообще, если вы можете определить синтаксис и семантику для нее.

69
Josh Lee

LISP хорош, потому что он имеет очень минимальный, простой, регулярный синтаксис.

LISP плох, потому что он имеет очень минимальный, простой, регулярный синтаксис.

59
Daniel Earwicker

"Любая достаточно сложная программа на C или Fortran содержит специальную, неформально определенную, медленную реализацию половины Common LISP".

Десятое правило Гринспуна

20
Paolo

Вот несколько полезных ссылок:

15
Greg Hewgill

первая глава "Практического общего LISP" Питера Сейбела описывает причины, по которым он нравится LISP. Итогом является фраза "программируемый язык программирования" - возможность настроить язык под свой домен или предпочитаемый стиль.

8
itowlson

Программа LISP, как правило, обеспечивает более четкое сопоставление ваших представлений о том, как работает программа, и кода, который вы на самом деле пишете.

Источник: http://www.gigamonkeys.com/book/introduction-why-LISP.html

2
ketan