Base/Knowledges/Библиотека/Книги/Структура и интерпретация компьютерных программ.md

59 lines
3.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
Тип: Книга
Статус: Запланировано
Название: Структура и интерпретация компьютерных программ
Автор:
- Харольд Абельсон
- Джеральд Джей Сассман
- Джули Сассман
Количество страниц: 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. объекты с изменяемым состоянием
## 💬 Важные цитаты
> «Программы должны писаться для людей, и лишь иногда — для исполнения машинами»
## 💡 Как применить в моих проектах
## 🔗 Связанные заметки
[[Компиляторы. Принципы, технологии и инструментарий]]
[[Искусство программирования]]
[[Грокаем функциональное мышление]]