it-swarm.com.ru

Какой лучший способ выучить LISP?

Я программирую на Python, PHP, Java и ​​C уже пару лет, и я только что закончил читать "Хакеры и художники", поэтому я хотел бы попробовать LISP!

Я понимаю, что это полностью отличается от того, что я знаю, и что это будет нелегко. Также я думаю (пожалуйста, поправьте меня, если я ошибаюсь), вокруг LISP гораздо меньше сообщества и развития. Итак, мой вопрос: каков наилучший способ изучения LISP?

Я не против покупать книги или тратить время. Я просто не хочу, чтобы это было потрачено впустую.

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

Спасибо всем за ваши ответы!

edit: Я читал Practical Common LISP и был: ... долго, тяжело, интересно и определенно заставило меня перейти на LISP, после этого я прочитал небольшую интригу, и это было коротко, весело и очень очень хорошо для моего общего программирования. Поэтому я рекомендую сначала прочитать маленький интриган, затем (пару часов и оно того стоит), если вы решите, что LISP (или схема, или любой другой диалект) - это не то, что вы ищете, вам все равно будет очень весело. новый способ мышления о рекурсии!

161
DFectuoso

Попробуйте прочитать Практический общий LISP , Питер Сейбел.

110
Avi

Мой личный фаворит - Abelson & Sussman Структура и интерпретация компьютерных программ . Он использует схему, которая является красивым и чистым диалектом LISP.

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

75
starblue

Вы можете начать с Маленький интриган как разминка. Это не практическая книга о написании производственных программ на LISP, но это отличная книга для изучения того, как думать в LISP.

54
John D. Cook

MIT предоставил полный курс LISP в форматах DIVX и MPEG. Я очень рекомендую это.

http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/

41
user49978

В настоящее время выходит книга под названием "Земля LISP" , которая обучает программированию на LISP посредством написания текстовых игр 80-х годов. Я читаю это сейчас, и это очень хорошо написано и не относится к себе слишком серьезно, что мне нравится.

31
fbl

Здесь есть несколько вариантов. Прежде всего, Scheme и Common LISP довольно сильно отличаются друг от друга (например, видимость); Вы должны выбрать один для начала и придерживаться его некоторое время . Я фанат Common LISP, но это может быть один из тех религиозных вопросов vi-vs-EMACS.

Для Схемы выберите Кент Дибвиг Язык программирования Схемы , а затем SICP.

Для Common LISP, а также для Practical Common LISP, я бы порекомендовал Успешный LISP. Успешный LISP также доступен онлайн бесплатно .

После этого посмотрите LISP in Small Pieces Квиннека и Norvig's LISP in AI book .

У Марти Холла есть Хороший список у Джона Хопкинса.

Обновлено : Я не имею в виду придерживаться этого вечно, просто попытка выучить и то и другое одновременно может сбить с толку.

22
Charlie Martin

Возьмите Землю ЛИСП от Конрада Барского. Это веселое введение в программирование на LISP с использованием мультфильмов и игр.

19
Ashwin Nanjappa

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

17
JesperE

Ansi Common LISP Пола Грэма - хорошая книга.

Я думаю, что это может быть не в печати, поэтому ваш лучший выбор, чтобы получить его через Amazon. Я получил книгу для курса "Обработка естественного языка", который я взял на втором курсе колледжа. Мы должны были написать программные проекты на LISP, и поэтому мне нужно было быстро выучить LISP.

Книга мне очень помогла.

9
Scott Wisniewski

Однажды у меня возникла проблема. Я не знал LISP. Поэтому я решил скачать LISP в коробке.

Затем я обнаружил, что установил Emacs без какой-либо помощи или документации.

Тогда у меня было две проблемы.

8
adolfojp

Для серьезных учеников я бы порекомендовал PAIP от Norvig. Это отличный ресурс для изучения LISP и AI.

7
amit

Беркли предлагает CS61a в формате подкаста. Это введение в CS-класс, основанный на SICP. Это более современная версия, чем у видео 1982 годаMIT.

6
Steve Rowe

Я сейчас пробираюсь через LISP и наткнулся на "книгу", чтобы выучить LISP. Это было предложено Райнер Йосвиг

Книга называется Common LISP: Нежное введение в символьные вычисления и может быть загружена в формате PDF. Автор начинает с UML-подобного подхода к LISP в первой главе и постепенно вводит все больше и больше синтаксиса LISP.

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

еще одна вещь, вам понадобится среда для работы. Я нашел LISP in a Box , чтобы работать хорошо. Он работает на Windows и Linux и использует eMac.

6
BlueBadger

LISP привлек меня своим диалектом JVM - Clojure. Clojure - это отличный LISP, так как

  • он имеет "упрощенный синтаксис", то есть требуется меньше паратезов, имеется умный дизайн набора коллекций
  • он основан на JVM, поэтому под ним находится стабильная и производительная среда выполнения, кроме того, вся экосистема Java (библиотеки, например, драйверы баз данных, инструменты сборки, IDE) находится в пределах нашей досягаемости
  • Noir - это хорошая веб-платформа, приложения могут быть развернуты на Java веб-серверах и серверах приложений.

Другими словами, Clojure можно использовать в производстве прямо здесь, прямо сейчас.

Когда дело доходит до ресурсов, есть как минимум 4 книги и много онлайн-ресурсов:

5
Piotr Kochański

Мне понравилось читать Практический общий LISP и ANSI Common LISP .

На LISP выглядит интересно, но при цене 190 долларов книга кажется немного дорогой.

4
Ferruccio

Я обнаружил, что работа с упражнениями в "Маленьком интрижке" действительно помогла отточить рекурсивную, согласованную с образцом сторону моего мышления и значительно упростила работу в XSLT.

4
Andy Dent

Для веб-разработки вам может понадобиться hunchentoot , веб-сервер, написанный на обычном LISP.

4
Kim Stebel

Я рекомендую сначала "Нежное введение в символьные вычисления" или "Практический общий LISP", исходя из вашего опыта программирования. Для практики я использую Allegro CL 8.2 Free Express Edition в Windows. Это превращает практику в большое удовольствие.

2
hajovonta

Я обнаружил, что чтение книги SICP действительно помогло мне учиться. Я использовал Steel Bank Common LISP (SBCL) и имел хороший успех.

Удачи

1
Brig Lamoreaux

Возьмите ведро (и) и отправляйтесь в город ..

1
Chance

Вроде сложно ответить на вопрос ... Я думаю, все зависит от вашего стиля обучения.

Я изучил LISP в моем A.I. и уроки экспертных систем в колледже, но так я учусь ... Я не большой ученик, я предпочитаю, чтобы кто-нибудь объяснил мне это в классе.

LISP, безусловно, является уникальным языком, и он требует нового подхода, если вы привыкли к традиционному программированию на C, Java, PHP.

Удачи тебе !

1
Scott Vercuski

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

Одним из вариантов может быть попытка простого проект .

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

0
Jon Ericson

Прочитайте эти книги по порядку: Нежное введение в символьные вычисления, ANSI Common LISP Пола Грэма, а затем перейдите к Практическому общему LISP. Или пропустите ACL и используйте его в качестве справочного материала при работе с PCL.

0
Abhijith