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

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

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

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

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

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

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

Ответ 2

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

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

Ответ 3

Возможно, вы захотите начать с The Little Schemer в качестве разминки. Это не практическая книга о написании производственных программ на Lispе, но отличная книга для изучения мышления на Lispе.

Ответ 5

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

Ответ 6

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

Для схемы перейдите к Kent Dybvig Язык программирования схемы, за которым следует SICP.

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

После этого просмотрите Lisp в Small Pieces от Queinnec и Norvig Lisp в книге AI.

Marty Hall хороший список в Johns Hopkins.

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

Ответ 7

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

Ответ 8

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

Ответ 9

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

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

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

Ответ 10

Как только у меня возникла проблема. Я не знал lisp. Поэтому я решил загрузить LISP в поле.

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

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

Ответ 11

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

Ответ 12

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

Ответ 13

Я сейчас прохожу через Lisp и наткнулся на "книгу", чтобы узнать Lisp. Это было предложено Rainer Joswig

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

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

еще одна вещь, вам понадобится среда для работы. Я нашел Lisp в ящике, чтобы хорошо работать, Он работает в Windows и Linux и использует eMacs.

Ответ 14

Меня охватил LISP его диалект JVM - Clojure. Clojure является отличным LISP, так как

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

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

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

  • Книги: "Радость Clojure" - очень проницательная, но может быть сложной, поэтому лучше всего читать вместе с "Программирование Clojure".
  • Онлайн-уроки: Урок Mark Volkmann большой
  • см. также https://stackoverflow.com/questions/599519/which-tutorial-on-clojure-is-best
  • 4Clojure веб-сайт содержит ряд простых задач программирования, поэтому можно играть с Clojure и видеть другие решения для людей

Ответ 16

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

Ответ 17

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

Ответ 18

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

Ответ 19

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

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

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

Удачи вам!

Ответ 20

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

Удачи.

Ответ 21

Возьмите ведро (и) и идите в город.

Ответ 22

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

Один из вариантов может состоять в том, чтобы попробовать простой project.

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

Ответ 23

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