Про сикп:
Для примеров и практики в книге используется язык Scheme (Ским), созданный авторами курса. Это один из диалектов семейства Lisp. Как и полагается любому Lisp-языку, Scheme имеет примитивный синтаксис, который можно изучить буквально за несколько часов. Он очень необычен для тех, кто имел дело только с широко распространенными языками, но обладает рядом серьезных достоинств, о которых говорится в книге.
Его выбор, в качестве основного языка для курса обоснован тем, что Scheme позволяет сосредоточиться на сути вещей вместо синтаксиса, увидеть чистые концепции в первозданном виде. Scheme как и любой Лисп, обладает невероятно высокой выразительностью благодаря тому, что в языке всё есть выражение, а инструкции отсутствуют вообще.
Вторая причина — гомоиконность. Свойство языков, в которых данные и код — одно и тоже. Этот тезис сложно понять на словах, его нужно прочувствовать на практике. Есть еще и третья причина — макросы, но они в книге не используются.
Сам язык Scheme, это в первую очередь стандарт языка плюс разные реализации этого стандарта. На данный момент один из самых развитых – и продолжающих развиваться – потомков Scheme, это язык
Racket. Хекслет рекомендует проходить СИКП именно на Racket. Специально для этого гайда мы подготовили
репозиторий, который можно использовать как основу для кода. В репозиторий стоит заглянуть хотя бы для того, чтобы узнать, как настроить Racket на совместимость именно с тем стандартом Scheme, который используется для примеров кода в книге: немногие существующие реализации Scheme позволяют воссоздать “то самое” окружение, к счастью, Racket может! Не забудьте правильно настроить редактор: Lisp языки относятся к тем языкам, для которых нужна поддержка со стороны редактора для комфортной работы.