Какие-либо предложения, для который вариант Lisp учиться? [закрытый]

20
задан tshepang 14 June 2012 в 14:01
поделиться

11 ответов

9
ответ дан 29 November 2019 в 23:04
поделиться

Я начал с книги практичного общего Lisp, а также использовать Emacs & Slime со стальным банком Common Lisp.

7
ответ дан 29 November 2019 в 23:04
поделиться

Я предлагаю начать с схемы, а затем перейти к общему Lisp, поскольку схема проще. Поскольку вы новичок в Lisp, хорошая отправная точка будет Учить себе схему в Xixnum Days Dorai Sitaram. Как только вам удобно с основы языка, вы можете начать работать с SICP.

Для Common Lisp вы можете следить по аналогичному пути: начните с простого учебного пособивого подхода, станьте комфортно написанием небольших программ, а затем прочитайте книгу, которая научит вас продвинутым концепциям. Я предлагаю следующие книги для изучения обычного Lisp. Позаботьтесь о том, чтобы прочитать их в данном порядке: Common Lisp: интерактивный подход (Стюарт С. Шапиро), Успешный Lisp (Дэвид Б. Ламкинс), Практический общий (Питер Сейбель) и на Lisp (Пол Грэм).

Пол Грэм также написал ANSI Common Lisp , что является хорошей ссылкой.

3
ответ дан 29 November 2019 в 23:04
поделиться

Я начал с книги Practical Common Lisp и использую Emacs & SLIME с Steel Bank Common Lisp.

-121--2125919-

Единственное, что Джанго предоставляет для обработки неизвестных контекстных переменных в TEMPLATE _ STRING _ IF _ INVALID . Вам придется сделать более глубокий взлом механизма шаблонов, если вы хотите лучше, чем это.

-121--4904101-

Обучение чему-то новому почти всегда хорошо. И если вы знаете только Java и Python, то изучение функционального языка программирования растянет ваш ум.

Схема является одним из самых простых вариантов LISP, и она хорошо документирована. Действуй!

1
ответ дан 29 November 2019 в 23:04
поделиться

Я бы пошел с LFE, скорость вы изучаете, пропорциональна количеству ошибок, которые вы испытываете. Выбор LFE даст вам как Erlang и Lisp одновременно.

0
ответ дан 29 November 2019 в 23:04
поделиться

На самом деле только две общие варианты, схема и общий лисс. Они очень похожи, у обоих есть множество реализаций, и переключение между ними достаточно легко. Если вы хотите написать приложение, я бы предложил бы CL из-за превосходных библиотек. Если вы хотите изучить стиль FP, перейдите со схемой.

В дополнение к книгам, упомянутым здесь, я также предлагаю «парадигмы программирования искусственного интеллекта: тематические исследования в общем Lisp» Peter Norvig.

1
ответ дан 29 November 2019 в 23:04
поделиться

Я был в вашей позиции и разделил мое внимание между схемой и общими Lisp. Оглядываясь назад, теперь я думаю, что (для целей обучения Clojure, в отличие от личного развития), я бы лучше сосредоточиться на общих лисштабах, с практическими распространенным Lisp и PG на Lisp .

Теперь, когда есть настоящие книги, ориентируясь на Cljure, вы обязательно должны пойти с одним из них. Радость Clojure - отличная книга, а 4Clojure.com - это хороший способ получить некоторую практику, решая головоломки с Clojure.

1
ответ дан 29 November 2019 в 23:04
поделиться

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

Кроме того, существует множество отличных ресурсов либо на Common Lisp, либо на Scheme, так что это не должно быть решающим моментом.

9
ответ дан 29 November 2019 в 23:04
поделиться

Для учеников визуального / аудио я высоко рекомендую видео серии Righ Hicky на BLIP.TV
Clojure для программистов Java , а затем просто ударил reft. Остальная часть серии следует естественным образом и действительно может получить творческие соки, текущие. PCL (практичный общий Lisp) - это захватывающая книга, хотя некоторые из них на самом деле не применимы к Clojure. Я настоятельно рекомендую главу о макросах.

0
ответ дан 29 November 2019 в 23:04
поделиться

Я второй Днолен порекомендовал схватить книгу С. Халлоуэя (я купил ее, и она великолепна) и сразу же выучить Кложура.

Я проработал свой путь (частично) через SICP некоторое время назад и действительно боролся. После этого я нашел Clojure приятно простым, возможно, потому что у меня уже был небольшой опыт работы с Scheme. Тем не менее, особенно для того, кто уже знаком с Java, я бы сказал, что это круто прыгать прямо в Clojure. Обоснование:

  • У вас есть удобный доступ ко всему Java API и ко всей совокупности библиотек, написанных для Java; например, я недавно построил Swing GUI для/из программы Clojure, и использовал HTTP компоненты Apache для некоторых Web-манипуляций.
  • Clojure пытается быть менее "lispy", чем другие Lisps: В качестве примера можно привести следующие:
    • уменьшение "ненужных" скобок: например,
      (cond (условие) (значение) (значение)), а не
      (cond ((условие) (значение)) ((условие) (значение)))
    • использование чего-то кроме скобок в нескольких значимых местах; например. g. списки аргументов и привязки для let и loop и т.д. находятся в [квадратных скобках], а не (в круглых скобках). Облегчает чтение определений функций IMHO.
    • список - не единственная структура данных. Есть хорошо интегрированные
      • [векторы] (случайно доступные, как массивы) и
      • {хэшмапы};
        Это облегчает жизнь, особенно если вы привыкли иметь их на Java.
  • Функция для определения функций - (defn). Вы, как никто другой, должны это оценить ;)

Первым учебным пособием, достойным рекомендации, является Учебное пособие Моксли Страттона по клоуризму. Также существует огромная дискуссия SO по учебнику Клоюра , которая дает много ссылок.

Кое-что, что я нашел чрезвычайно полезным с моими первыми шагами в Клоюре, было Clojure Cheat Sheet . Это касается общего случая, когда вы приблизительно знаете, что вы хотите сделать, но не знаете, какую функцию использовать. Кто-то хотел бы, чтобы другие языки приняли эту концепцию. Найдя вероятную функцию для ваших нужд, вы можете получить больше документации по ней, используя (doc ) в Clojure REPL.

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


Возможно, из вышесказанного видно, что я с энтузиазмом отношусь к Clojure. После многих лет работы на Java я нахожу его освежающе новым и достаточно мощным, чтобы сделать то, что меня беспокоит. Я даже пожертвовал на проект :)

Рискуя потом об этом пожалеть, я также предлагаю (бесплатное) начало Clojure помощи и репетиторства по электронной почте, Google Chat или Wave. Мой почтовый адрес должен быть довольно легко угадать.

8
ответ дан 29 November 2019 в 23:04
поделиться

Книга Stuart Halloway - это отличный ресурс, если вы просто начинаете. В работах, которые доступны пара новых книг, которые доступны для загрузки в ранней форме (радость Clojure, Clojure в действии и т. Д.).

Также я настоятельно рекомендую список рассылки, а также канал IRC. Особенно, канал IRC, там много полезных людей, и вопросы обычно отвечают довольно быстро.

В то время как схема обучения, безусловно, поможет (теперь, когда я играл с Clojure на год), я бы также сказал, что это ненужно для обучения и веселиться с Clojure.

15
ответ дан 29 November 2019 в 23:04
поделиться