-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathad.txt
48 lines (44 loc) · 4.68 KB
/
ad.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
1-е издание книги Х. Абельсона и Дж. Дж. Сассмана "Структура и
интерпретация компьютерных программ" (The Structure and Interpretation
of Computer Programs, общепринятое сокращение SICP) вышло в 1985 году,
второе в 1996 году. На основе книги был построен начальный курс
программирования на факультетах информатики (computer science) и
электрической техники (electrical engineering) в MIT. В настоящее
время SICP используется в качестве учебного пособия более чем в 100
университетах и колледжах по всему миру, в том числе в MIT, Корнелле,
Оксфорде, Принстоне, Стэнфорде, Беркли, Техасском университете в
Остине, в Технионе, университетах Тель-Авива, Карлсруэ, Аделаиды
(полный список http://mitpress.mit.edu/sicp/adopt-list.html).
Она считается книгой высочайшего качества (см., например, высказывание
Питера Норвига, автора книги "Парадигмы программирования в
искусственном мнтеллекте" (Paradigms of AI Programming"): "Abelson and
Sussman (1985) is probably the best intriduction to computer science ever written",
http://www.norvig.com/Lisp-retro.html).
Книга не требует от читателя никакой предварительной подготовки в
программировании (хотя желательно знание математики на уровне младших
курсов института). В то же время в ней рассматривается множество
парадигм программирования (функциональное, императивное, логическое).
На протяжении текста вводится большинство понятий современной
теории программирования: процедуры; порядки роста; процедуры высших
порядков; составные данные; абстракция данных; уровневое
проектирование; программирование, управляемое данными; присваивание;
паралеллизм; имитационное моделирование; потоки; интерпретация;
ленивые вычисления; недетерминистские вычисления; логическое
программирование; регистровые машины; ассемблирование; управление
памятью и сборка мусора; компиляция. Обсуждение по каждой из этих тем
сопровождается построением работающей программы, иллюстрирующей
основные идеи. Среди приводимых программ имеются система построения
изображений; система символьного дифференцирования; имитационная
модель цифровых схем; система, управляемая ограничениями; несколько
интерпретаторов и компилятор.
На протяжении всей книги прослеживается идея, что с помощью подходящих
элементарных элементов, средств их комбинирования и механизмов
абстракции можно бороться со сложностью в программистских задачах
и получать изящные и легко читаемые программы. Авторы стремятся
развить в читателе чувство стиля и внимание к эстетике
программирования.
В качестве основного инструмента в книге используется язык Scheme,
диалект Лиспа. Это позволяет не уделять большого внимания
синтаксическим деталям, и вместо этого сконцентрироваться на
смысле программ. Кроме того, простота и регулярность Scheme упрощают
выражение многих идей.