Представьте, дедушка, что вы объясняете внуку, как собрать табурет. Вы не даёте ему готовый табурет, а показываете молоток, гвозди и доски. Scheme — это такой же набор простых инструментов для разговора с компьютером. Только вместо досок — скобки, а вместо гвоздей — маленькие команды.
В обычной жизни мы говорим: «Сложи два и три». В Scheme та же мысль записывается так: (+ 2 3). Скобка — это как кастрюля: сначала кладём в неё действие, потом ингредиенты. Компьютер открывает кастрюлю, видит действие и продукты, и выдаёт результат — пять.
Дедушка, вы ведь варите борщ по рецепту? Сначала берёте кастрюлю, потом кладёте туда всё по порядку. Вот и Scheme работает по рецепту: действие всегда стоит первым, а за ним — то, с чем это действие работает.
Чтобы не запутаться, запомните три простые вещи, на которых держится весь язык.
Из этих трёх китов складывается всё остальное, как из досок, гвоздей и молотка складывается мебель.
Самое интересное — Scheme не говорит компьютеру «сделай шаг один, потом шаг два». Она говорит: «Вот тебе правило, примени его к данным». Это называется функциональным подходом.
Дедушка, это как ваша привычка: «Если гость пришёл — ставь чайник». Вы не расписываете каждый шаг, а называете правило, и оно работает само.
Scheme — старый и уважаемый язык, ему больше сорока лет. Но он до сих пор жив, потому что учит думать чисто. На нём удобно объяснять, как устроены компьютеры и языки программирования. Многие современные языки взяли у Scheme идеи: например, умение обрабатывать списки и передавать функции как обычные значения.
Если внук спросит, зачем учить Scheme, скажите так: это как учиться играть гаммы на пианино — играть сразу песни веселее, но гаммы делают руки умными. Scheme делает умной голову программиста.
Возьмите листок и напишите первую строчку: (+ 1 1). Это уже программа. Потом попробуйте (* 6 7) и (- 10 4). Когда освоитесь, попробуйте вложить одну скобку в другую: (+ (* 2 3) 4) — компьютер сначала умножит, потом сложит.
Так, шаг за шагом, вы поймёте главную мысль: Scheme — это не про сложность, а про ясность. Каждая скобка — это маленький понятный шаг, а из шагов складывается большая и надёжная программа. И этому можно научить любого, даже дедушку, если объяснять спокойно и по порядку.