Библиотека knigago >> Литература по изданиям >> Самиздат, сетевая литература >> Nikodemus' Common Lisp FAQ

Nikodemus Siivola - Nikodemus' Common Lisp FAQ

Nikodemus' Common Lisp FAQ
Книга - Nikodemus
Название:
Nikodemus' Common Lisp FAQ
Nikodemus Siivola

Жанр:

Самиздат, сетевая литература, Литература ХXI века (эпоха Глобализации экономики), Любительские переводы, Lisp, Scheme

Изадано в серии:

неизвестно

Издательство:

Интернет-издательство «Stribog»

Год издания:

ISBN:

неизвестно

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Nikodemus' Common Lisp FAQ"

Последнее обновление: 2012-04-13.
Это очень неофициальное ЧаВО по языку Common Lisp, отражающее субъективное мнение Nikodemus Siivola. Этот текст частично основан на других ЧаВО, встречавшихся на просторах интернета и comp.lang.lisp.
Если вы думаете, что я воспользовался вашим текстом, буду рад признаться в этом, поэтому пишите на nikodemus@random-state.net.
Текущая версия этого ЧаВО доступна по следующим адресам:
http://random-state.net/files/nikodemus-cl-faq.txt
http://random-state.net/files/nikodemus-cl-faq.html
ЧаВО также периодически публикуется в comp.lang.lisp.


Читаем онлайн "Nikodemus' Common Lisp FAQ". Главная страница.

Nikodemus Siivola NIKODEMUS' COMMON LISP FAQ

Самое начало

Common Lisp? CL? Clisp? Lisp?

«Common Lisp» — название языка, стандартизированного ANSI.

«CL» — наиболее предпочтительное сокращение предыдущего названия.

«Clisp» не является правильным сокращением, поскольку это название одной из реализаций Common Lisp.

«Lisp» — это категория языков, к которым относится CL.

«LISP» уже не пишут лет 20, Common Lisp часто сокращают до Lisp, если ясно из контекста, о чём именно идёт речь.

И что?

Про сам язык почитать можно тут:

http://random-state.net/features-of-common-lisp.html

Как научиться Common Lisp?

1. Прочитать хорошую книгу о Common Lisp.

2. Начать его использовать.

Много людей не раз пытаются пройти по первому пути, но забывают про второй.

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

Какие подводные камни обходить?

Любая хорошая книга расскажет вам об особенностях и трюках языка, но есть пара психологических и социальных моментов, на которых многие спотыкаются:

1. Изучение макросов Lisp сводит с ума.

Макросы Lisp — классная штука, но сила, которую они дают, новичков часто сбивает с толку.

Часто симптом проблемы — попытка что-то сделать без ясного понимания того, зачем это делается. Запомните, все что можно сделать с помощью макросов, можно сделать и без них.

Конечно, может получиться не так практично, но память об этом опускает с небес на землю.

Перед тем, как научиться бегать, научитесь ходить. Оно того стоит, тем более что потом можно и полететь.

2. Lisp не идеален, и это не новость.

Некоторые приходят к Lisp'у с завышенными ожиданиями и разочаровываются. Другие сравнивают Lisp с языком X и обнаруживают, что первый в чем-то проигрывает.

И те, и другие могут рассуждать правильно и иметь обоснованные претензии, но проблемы начинаются тогда, когда эти люди начинают озвучивать свои претензии где-нибудь, например на #lisp.

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

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

Это не значит, что говорить в интернете нехорошее про Lisp запрещено, но… Если вы — новичок — приходите и говорите, что все плохо, не ожидайте что к вам люди пойдут с распростертыми объятиями. Даже если вы сто раз правы.

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

3. Опытные публичные лисперы видят много троллей.

МНОГО ТРОЛЛЕЙ! Растерянный новичок иногда выглядит как тролль, во многом потому, что большинство троллей чаще всего маскируются под новичков Lisp.

Поэтому люди могут думать что вы тролль и отвечать соответственно. Самый лучший способ избежать этого — быть вежливыми.

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

С какой книги начать?

Начните с «Practical Common Lisp» (известной также как PCL) Питера Сайбела (Peter Seibel). Это хорошая отправная точка, если вы уже владеете каким-то языком программирования. Книга доступна в электронном и печатном виде:

http://www.gigamonkeys.com/book/

Другая хорошая книга — это «Common Lisp: A Gentle Introduction to Symbolic Computation» Девида Турецкого (David Touretzky). Новичокам в программировании или тем, кому PCL показалась слишком сложной, стоит почитать эту книгу. Если вы начнете с неё, потом всё же прочитайте PCL. Хотя если вы уже прочитали PCL и всё поняли, эту можно смело пропустить. Книга доступна в электронном и печатном виде:

http://www.cs.cmu.edu/~dst/LispBook/index.html

Есть еще куча хороших книг, но указанные две — лучшие для новичков. «Land of Lisp» неплоха, но по моему скромному опыту она может сформировать неправильное представление. Если начнете с нее, все равно прочитайте PCL.

Обязательно познакомьтесь с «Hyperspec» или CLHS, электронной версией стандарта языка. Это просто ценнейший справочник:

http://www.lispworks.com/documentation/HyperSpec/index.html

Не надо сразу бросаться

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.