59 lines
3.4 KiB
Markdown
59 lines
3.4 KiB
Markdown
---
|
||
Тип: Книга
|
||
Статус: Запланировано
|
||
Название: Структура и интерпретация компьютерных программ
|
||
Автор:
|
||
- Харольд Абельсон
|
||
- Джеральд Джей Сассман
|
||
- Джули Сассман
|
||
Количество страниц: 608
|
||
Прогресс: 0
|
||
Формат: Электронная
|
||
Обложка: Библиотека/Книги/covers/sicp.jpg
|
||
Начата:
|
||
Закончена:
|
||
Оценка:
|
||
Сложность:
|
||
Теги:
|
||
- lisp
|
||
- scheme
|
||
- функциональное_программирование
|
||
- computer_science
|
||
- классика
|
||
- алгоритмы
|
||
Категории:
|
||
- Computer Science
|
||
- Алгоритмы и структуры данных
|
||
Источник:
|
||
Ссылка:
|
||
---
|
||
|
||
# Структура и интерпретация компьютерных программ
|
||
|
||
![[covers/sicp.jpg]]
|
||
|
||
## 📖 О книге
|
||
|
||
Легендарный учебник MIT (SICP) — основа курса 6.001 «Введение в информатику». Книга посвящена фундаментальным принципам программирования: от построения абстракций до реализации интерпретаторов. Все примеры написаны на языке Scheme (диалект Lisp). Охватывает процедурную и объектно-ориентированную абстракцию, рекурсию, потоки, управление состоянием и метапрограммирование. Считается одной из самых влиятельных книг в истории computer science.
|
||
|
||
## 🧠 Ключевые идеи
|
||
|
||
- Абстракция как основной инструмент: процедурная абстракция и абстракция данных — единственный способ управлять сложностью программ
|
||
- Рекурсия и процессы: различие между рекурсивными и итеративными процессами; хвостовая рекурсия как оптимизация
|
||
- Функции как объекты первого класса: замыкания, функции высшего порядка, лямбды — ядро функционального стиля
|
||
- Метациклический интерпретатор: реализация интерпретатора Lisp на самом Lisp — понимание того, как языки программирования работают изнутри
|
||
- Потоки и изменяемое состояние: два подхода к моделированию времени — функциональные потоки (ленивые списки) vs. объекты с изменяемым состоянием
|
||
|
||
## 💬 Важные цитаты
|
||
|
||
> «Программы должны писаться для людей, и лишь иногда — для исполнения машинами»
|
||
|
||
## 💡 Как применить в моих проектах
|
||
|
||
|
||
## 🔗 Связанные заметки
|
||
|
||
[[Компиляторы. Принципы, технологии и инструментарий]]
|
||
[[Искусство программирования]]
|
||
[[Грокаем функциональное мышление]]
|