Проектирование гибких программ (Хансон Крис, Сассман Джеральд Джей) ; ДМК-Пресс, 2022
от 2312 р. до 13196 р.
Автор(ы): Хансон Крис; Сассман Джеральд Джей;
Издатель: ДМК-Пресс
ISBN: 978-5-97060-955-2
ID: SKU1125942
Добавлено: 09.08.2022
Сравнить цены
Цена от 2312 р. до 13196 р. в 6 магазинах
Магазин | Цена | Наличие |
---|---|---|
Лабиринт 5/5 | 2548 р. 3640 р. | |
Буквоед 5/5 | 3459 р. Минимальная сумма заказа 100 рублей | |
Book24 5/5 | 3459 р. | |
Мегамаркет 5/5 | 13196 р. | |
Яндекс.Маркет 5/5 | 2394 р. | |
МАЙШОП 5/5 | 2312 р. 3399 р. | |
Читай-город 5/5 | ||
Описание
«Большинство систем должны успешно работать на протяжении долгого времени, а не просто удачно отработать один раз. Эта книга – захватывающее исследование предикативного динамического диспетчирования, метаданных и некоторых других способов построения гибких систем, способных совершенствоваться не ломаясь».
Барт Вандевустейн, Esterline
В книге рассматриваются стратегии построения больших систем, которые требуют лишь небольших изменений при адаптации к новым ситуациям. Предлагаемый авторами книги аддитивный стиль программирования позволяет менять существующие проекты, добавляя новый код, а не переписывая старый. Примеры кода представлены на языке Scheme.
Издание предназначено для разработчиков, стремящихся создавать адаптивные системы, которые можно менять с минимальными усилиями.
Барт Вандевустейн, Esterline
В книге рассматриваются стратегии построения больших систем, которые требуют лишь небольших изменений при адаптации к новым ситуациям. Предлагаемый авторами книги аддитивный стиль программирования позволяет менять существующие проекты, добавляя новый код, а не переписывая старый. Примеры кода представлены на языке Scheme.
Издание предназначено для разработчиков, стремящихся создавать адаптивные системы, которые можно менять с минимальными усилиями.
Смотри также Характеристики.
Яндекс.Маркет
Содержание
Предисловие
Предисловие авторов
Благодарности
1.Гибкость в природе и в проектировании
1.1.Архитектура вычислений
1.2.Гибкость через умные компоненты
1.3.Избыточность и дублирование
1.4.Исследовательское поведение
1.5.Цена гибкости
2.Специализированные языки
2.1.Комбинаторы
2.1.1.Комбинаторы функций
2.1.2.Комбинаторы и планы строения
2.2.Регулярные выражения
2.2.1.Комбинаторный язык регулярных выражений
2.2.2.Реализация транслятора
2.3.Обертки
2.3.1.Обертки со специализацией
2.3.2.Реализация оберток
2.3.3.Адаптеры
2.4.Абстракция предметной области
2.4.1.Монолитная реализация
2.4.2.Абстрагирование предметной области
2.5.Заключение
3.Вариации на арифметическую тему
3.1.Арифметика на комбинаторах
3.1.1.Простой интегратор ОДУ
3.1.2.Настройка арифметических операций
3.1.3.Сочетание разных арифметик
3.1.4.Арифметика на функциях
3.1.5.Сложности с комбинаторами
3.2.Расширяемые полиморфные процедуры
3.2.1.Полиморфная арифметика
3.2.2.Структура зависит от порядка!
3.2.3.Реализация полиморфных процедур
3.3.Пример: автоматическое дифференцирование
3.3.1.Как работает автоматическое
дифференцирование
3.3.2.Производные n-местных функций
3.3.3.Технические детали
3.3.4.Функции-литералы от дифференциальных
аргументов
3.4.Эффективность полиморфных процедур
3.4.1.Префиксные графы
3.4.2.Кеширование
3.5.Эффективные типы, определяемые
пользователем
3.5.1.Предикаты как типы
3.5.2.Отношения между предикатами
3.5.3.Предикаты как ключи для диспетчеризации
3.5.4.Пример: игра-бродилка
3.6.Заключение
4.Сопоставление с образцом
4.1.Образцы
4.2.Переписывание термов
4.2.1.Сегментные переменные в алгебре
4.2.2.Реализация систем правил
4.2.3.Ремарка: волшебные макросы
4.2.4.Вызов, управляемый образцами
4.3.Устройство сопоставителя
4.3.1.Компиляция образцов
4.3.2.Ограничения на переменные сопоставления
4.4.Унификация
4.4.1.Как работает унификация
4.4.2.Приложение: вывод типов
4.4.3.Как работает вывод типов
4.4.4.Эксперимент: добавляем сегментные
переменные
4.5.Сопоставление с образцом на графах
4.5.1.Списки как графы
4.5.2.Реализация графов
4.5.3.Сопоставление на графах
4.5.4.Шахматные доски и альтернативные
перспективы для графов
4.5.5.Шахматные ходы
4.5.6.Реализация сопоставления на графах
4.6.Заключение
5.Вычисление
5.1.Полиморфный интерпретатор eval/apply
5.1.1.eval
5.1.2.apply
5.2.Процедуры с нестрогими аргументами
5.3.Компиляция в исполнительные процедуры
5.4.Исследовательское поведение
5.4.1.amb
5.4.2.Реализация amb
5.5.Явная работа с нижележащими продолжениями
5.5.1.Продолжения как нелокальные возвраты
5.5.2.Нелокальная передача управления
5.5.3.От продолжений к amb
5.6.Власть и ответственность
6.Слои
6.1.Использование слоевой структуры
6.2.Реализация слоев
6.2.1.Многослойные данные
6.2.2.Многослойные процедуры
6.3.Слоеная арифметика
6.3.1.Арифметика единиц измерения
6.4.Отслеживание зависимостей между значениями
6.4.1.Слой поддержки
6.4.2.Хранение обоснований
6.5.Что обещает многослойность
7.Распространение информации
7.1.Пример: расстояния до звезд
7.2.Механизм распространения
7.2.1.Ячейки
7.2.2.Распространители
7.3.Альтернативные точки зрения
7.4.Слияние значений
7.4.1.Слияние базовых значений
7.4.2.Слияние значений с поддержкой
7.4.3.Слияние множеств значений
7.5.Поиск в возможных мирах
7.5.1.Перебор с возвратами, управляемый
зависимостями
7.5.2.Решение комбинаторных задач
7.6.Распространители поддерживают
дублирование
8.Эпилог
А Программное обеспечение В Scheme
В.1 Базовые конструкции Scheme
В.2 Более сложные конструкции
Литература
Предметный указатель
Предисловие авторов
Благодарности
1.Гибкость в природе и в проектировании
1.1.Архитектура вычислений
1.2.Гибкость через умные компоненты
1.3.Избыточность и дублирование
1.4.Исследовательское поведение
1.5.Цена гибкости
2.Специализированные языки
2.1.Комбинаторы
2.1.1.Комбинаторы функций
2.1.2.Комбинаторы и планы строения
2.2.Регулярные выражения
2.2.1.Комбинаторный язык регулярных выражений
2.2.2.Реализация транслятора
2.3.Обертки
2.3.1.Обертки со специализацией
2.3.2.Реализация оберток
2.3.3.Адаптеры
2.4.Абстракция предметной области
2.4.1.Монолитная реализация
2.4.2.Абстрагирование предметной области
2.5.Заключение
3.Вариации на арифметическую тему
3.1.Арифметика на комбинаторах
3.1.1.Простой интегратор ОДУ
3.1.2.Настройка арифметических операций
3.1.3.Сочетание разных арифметик
3.1.4.Арифметика на функциях
3.1.5.Сложности с комбинаторами
3.2.Расширяемые полиморфные процедуры
3.2.1.Полиморфная арифметика
3.2.2.Структура зависит от порядка!
3.2.3.Реализация полиморфных процедур
3.3.Пример: автоматическое дифференцирование
3.3.1.Как работает автоматическое
дифференцирование
3.3.2.Производные n-местных функций
3.3.3.Технические детали
3.3.4.Функции-литералы от дифференциальных
аргументов
3.4.Эффективность полиморфных процедур
3.4.1.Префиксные графы
3.4.2.Кеширование
3.5.Эффективные типы, определяемые
пользователем
3.5.1.Предикаты как типы
3.5.2.Отношения между предикатами
3.5.3.Предикаты как ключи для диспетчеризации
3.5.4.Пример: игра-бродилка
3.6.Заключение
4.Сопоставление с образцом
4.1.Образцы
4.2.Переписывание термов
4.2.1.Сегментные переменные в алгебре
4.2.2.Реализация систем правил
4.2.3.Ремарка: волшебные макросы
4.2.4.Вызов, управляемый образцами
4.3.Устройство сопоставителя
4.3.1.Компиляция образцов
4.3.2.Ограничения на переменные сопоставления
4.4.Унификация
4.4.1.Как работает унификация
4.4.2.Приложение: вывод типов
4.4.3.Как работает вывод типов
4.4.4.Эксперимент: добавляем сегментные
переменные
4.5.Сопоставление с образцом на графах
4.5.1.Списки как графы
4.5.2.Реализация графов
4.5.3.Сопоставление на графах
4.5.4.Шахматные доски и альтернативные
перспективы для графов
4.5.5.Шахматные ходы
4.5.6.Реализация сопоставления на графах
4.6.Заключение
5.Вычисление
5.1.Полиморфный интерпретатор eval/apply
5.1.1.eval
5.1.2.apply
5.2.Процедуры с нестрогими аргументами
5.3.Компиляция в исполнительные процедуры
5.4.Исследовательское поведение
5.4.1.amb
5.4.2.Реализация amb
5.5.Явная работа с нижележащими продолжениями
5.5.1.Продолжения как нелокальные возвраты
5.5.2.Нелокальная передача управления
5.5.3.От продолжений к amb
5.6.Власть и ответственность
6.Слои
6.1.Использование слоевой структуры
6.2.Реализация слоев
6.2.1.Многослойные данные
6.2.2.Многослойные процедуры
6.3.Слоеная арифметика
6.3.1.Арифметика единиц измерения
6.4.Отслеживание зависимостей между значениями
6.4.1.Слой поддержки
6.4.2.Хранение обоснований
6.5.Что обещает многослойность
7.Распространение информации
7.1.Пример: расстояния до звезд
7.2.Механизм распространения
7.2.1.Ячейки
7.2.2.Распространители
7.3.Альтернативные точки зрения
7.4.Слияние значений
7.4.1.Слияние базовых значений
7.4.2.Слияние значений с поддержкой
7.4.3.Слияние множеств значений
7.5.Поиск в возможных мирах
7.5.1.Перебор с возвратами, управляемый
зависимостями
7.5.2.Решение комбинаторных задач
7.6.Распространители поддерживают
дублирование
8.Эпилог
А Программное обеспечение В Scheme
В.1 Базовые конструкции Scheme
В.2 Более сложные конструкции
Литература
Предметный указатель
Видео обзоры (2)
О книге
Издатель | ДМК-Пресс |
Год издания | 2022 |
Страниц | 374 |
Переплёт | твердый |
ISBN | 978-5-9706-0955-2 |
Размеры | 17,00 см × 24,00 см × 2,10 см |
Формат | шитая |
Автор(ы) | Хансон Крис, Сассман Джеральд Джей |
Тематика | Программирование |
Тираж | 200 |
Переплет | Твердый переплёт |
Возрастные ограничения | 12 |
Кол-во страниц | 374 |
Автор | Хансон Крис; Сассман Джеральд Джей |
Назначение | для технических ВУЗов |
Издательство | ДМК Пресс |
Вес, в граммах | 713 |
Тип обложки | твердая |
Язык издания | Русский |
Обложка | твердый переплёт |
Книги где авторы: Хансон Крис, Сассман Джеральд Джей
Программирование - издательство "ДМК-Пресс"
Категория 1849 р. - 2774 р.
Программирование - издательство "ДМК-Пресс" »
Программирование
Категория 1849 р. - 2774 р.