Перейти к основному содержимому

О разделе

Длинные листинги (от ~15 строк) вынесены в каталог code.spirzen.ru и подгружаются в статьях через ExternalCodeEmbed — так HTML энциклопедии не раздувается, а код остаётся с подсветкой, вкладками и сериями "шаг 1…N". Короткие фрагменты (одна строка, пара выражений) по-прежнему прямо в markdown. Диаграммы mermaid и интерактив — на месте или в play.spirzen.ru.

Раздел про Lisp и его современное воплощение в учебном курсе — прежде всего Common Lisp — S-выражения, REPL, макросы, CLOS и практическая первая программа.

Диалект в курсе

Примеры кода в учебных статьях (2–8) рассчитаны на ANSI Common Lisp (SBCL, CCL, CLISP). Scheme и Clojure упоминаются в истории и сравнениях; синтаксис у них близкий, но детали отличаются (например, defun и define, nil и #f).

Сначала: Что такое код и как он работает — общая база — код, блок кода, компиляция и интерпретация, исходный, байт- и машинный код; в этом разделе — синтаксис и особенности языка.


Рекомендуемый маршрут

ЭтапСтатьиЗачем
КонтекстИсторияот Lisp 1.5 до Common Lisp и Clojure
ИдеиОсновы, АрхитектураS-expr, eval, макросы, окружения
ЯзыкТипы, Управление, Функцииданные, if/cond, рекурсия
ПрактикаПервая программаустановка REPL, hello world
СтильФункциональное программированиечистые функции, идиомы
СправкаСправочникшпаргалка по CL: API, CLOS, ASDF, идиомы (не заменяет курс)

Начните с установки и REPL, затем читайте основы с открытым интерпретатором.


Зачем этот раздел

Подборка по Lisp в энциклопедии: синтаксис, первая программа и смежные темы. Выберите один язык для старта, пройдите маршрут до первой рабочей программы — затем переходите к следующему языку или стеку.


С чего начать

ШагМатериалЗачем
1Первая программаЗапуск и синтаксис

Частые ошибки при старте

ОшибкаЧто делать
Прыжки между языкамиЗакройте одну "первую программу", потом сравнивайте
Код без запускаВыполните пример локально
Сразу большой фреймворкСначала база раздела, потом REST/UI

Что попробовать

  1. Шаг 1 из таблицы.
  2. Три непонятных термина — найдите статьи в оглавлении раздела.
  3. Другой язык — только после своей рабочей первой программы.

Как читать раздел без перегруза

Если кажется, что Lisp "слишком теоретичен", используйте практический ритм:

  1. Прочитайте 1 небольшой блок теории (5-10 минут).
  2. Сразу повторите 2-3 выражения в REPL.
  3. Зафиксируйте, что именно вернуло выражение и почему.
  4. Только после этого переходите к следующему блоку.

Так материал перестаёт быть абстрактным: каждое определение сразу превращается в рабочий навык. Для такого ритма удобна связка: первая программаосновыуправляющие конструкции.


Сквозные темы раздела

Чтобы не воспринимать статьи как отдельные фрагменты, держите в голове три сквозные идеи:

  • Код как данные — из этого вырастают quote, eval, макросы и DSL (архитектура).
  • Функции как значения — из этого вырастают mapcar, lambda, замыкания и композиция (функции, FP-стиль).
  • Интерактивная разработка: из этого вырастают REPL-подход, быстрые итерации и отладка (первая программа, справочник).


В подборках

Статья входит в тематические подборки и блок "С чего начать?" на главной. Соседние шаги того же маршрута:

Бэкенд и серверная разработкаFortran — о разделе, Pascal — о разделе, Cobol — о разделе, Visual Basic — о разделе, Lua и Luau — о разделе, Ассемблер — о разделе.