Где научиться практически использовать Common Lisp [закрыто]

Я программист на Си++, пытаюсь выучить Common Lisp. Я посмотрел несколько книг, таких как Land of Lisp и прочитал множество онлайн-статей о различных достоинствах Lisp. Однако, мне нужен совет.

Почти всё, что я прочитал о Common Lisp, связано с тем, как он удивительен и как удивительно быстро с ним можно справиться, и как он удивительно быстро решил многие проблемы с современными языками программирования 30 лет назад. Также, насколько удивительны макросы, и как каждая парадигма программирования (OO, функциональная, основанная на актерах, и т.д.) может быть использована в Lisp, и как списки являются конечной структурой данных. В основном, Lisp рассматривается как исследовательский язык и говорит о том, насколько он отличается от других и революционен.

И все это, вероятно, правда, но проблема в том, что я не видел много вещей, как делать практические вещи, такие как читать файл, разбивать его на слова и делать некоторую обработку на нем. Меня интересует не изучение Common Lisp ради изучения Common Lisp, а ради того, чтобы то, что я делал на С++, делалось быстрее и с меньшим количеством ошибок.

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

  • Как читать файлы
  • Как читать файл, заменять слова в файле, и запишите результат обратно в файл
  • Итеризуйте файлы в каталоге и другие материалы файловой системы
  • Взаимодействуйте с SQL db
  • Осуществляйте обмен данными через сокеты
  • Поток для таких вещей, как веб-сервер
  • Создавайте графические интерфейсы
  • Выполняйте операции с бинарными файлами
  • Записывайте парсер (а не интерпретатор для Lisp в Lisp, который, как я понимаю, похож на 5 строк Lisp)
  • Взаимодействуйте с операционной системой (i). e. вещи, написанные на Си или Си++) для того, чтобы делать вещи, которые Lisp не может делать нативно
  • Как писать расширения Lisp на Си (это возможно?)
  • Встроить интерпретатор lua (это возможно?)

А также на менее непосредственном практическом примере, как реализовать общие структуры данных в lisp, такие как куча, стек, дерево двоичного поиска и т.д. Однако это может быть просто правильное использование операций со списком в Lisp, таких как car и cdr. Не знаю.

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

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

Кстати, я видел Питера Зайбеля Practical Common Lisp, но, судя по ТОС, он касается только некоторых вещей, которые я хотел бы научиться делать на Лисп.

Еще один вопрос, если позволите (извините, если это объединение двух вопросов в один), где я могу найти ссылку на функции Лисп и все такое?

И мне действительно хочется понравиться Лисп.

78
задан Dan Rigby 3 May 2012 в 19:19
поделиться