Есть ли какие-то преимущества в изучении LISP? - PullRequest
5 голосов
/ 03 ноября 2010

Я довольно опытный программист на Ruby, Objective C и Java, и я смотрел видео на emacs (потому что я использовал Vi) и заметил, что это также интерпретатор LISP.Это вызвало мой интерес и подняло интересный вопрос: есть ли практическая польза для изучения LISP для тех, кто знает современные языки высокого уровня, такие как Ruby, Java и Objective C?Получу ли я что-нибудь, выделив какое-то время для изучения LISP или нет?Я хотел бы услышать, что вы, ребята, должны сказать.Спасибо.

Ответы [ 4 ]

9 голосов
/ 03 ноября 2010

Определенно есть преимущества в изучении языка, построенного на основе другой парадигмы, нежели та, к которой вы привыкли (я отмечаю, что это просто объектно-ориентированные с сильными императивными корнями) LISP - это дедушка функциональных языков (один из моих любимых Scheme - это диалект LISP).

Помимо расширения горизонтов, весьма вероятно, что функциональные языки и конструкции будут иметь все большее значение как достаточно простой способ эффективного использования многоядерного оборудования.

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

8 голосов
/ 03 ноября 2010

Lisp, в некотором смысле, является логическим продолжением откровения фон Неймана о том, что «код есть данные, это код».

То, что выяснилось в Lisp до 82 или около того, до сих пор работает в массовом программировании.такие языки, как C # и Python.Из-за достаточно равномерного Lisp-синтаксиса, они, вероятно, никогда не будут полностью реализованы благодаря простоте их использования в Lisp.

Такие вещи, как:

  • динамическая типизация - возможно, изобретение Lisp, возможно smalltalk.Не уверен.
  • объектная ориентация - выдвинут от Smalltalk от Lisp. Я думаю, что
  • отражение - C # только что получил это
  • DSL на языке - привет Linq.
  • макросы - некоторые языки ультра-исследования теперь имеют их, кроме компиляции Lisp
  • в интерпретаторе - никогда не слышали о других языках, имеющих этотодин

И другие вещи, которые я не могу придумать на лету.

4 голосов
/ 03 ноября 2010

Посмотрите некоторые из них: http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/

Изучение Lisp само по себе не особенно практично, но оно сделает вас лучшим программистом, поскольку вы сможете применить полученные знания к языкам, которые, как вы думаете, вы уже знаете.

4 голосов
/ 03 ноября 2010

Предлагаю вам приобрести хорошую книгу о Лиспе ( их много в сети ) и попробовать Лисп самостоятельно. Вы будете удивлены, обнаружив, что этот 50-летний язык настолько «современен» и в некотором отношении намного опережает другие «современные» языки. (Например, выясните, почему Lisp называют программируемым языком программирования ). Если вам лень на самом деле попробовать какой-нибудь код на Лиспе, прочитайте this и this .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...