Семь моделей конкуренции и параллелизма за семь недель

Александр Шитик
Александр Шитик

Пишу свои посты и книги, делаю обзоры на фильмы и книги. Эксперт в области космологии и астрономии, IT, продуктивности и планирования.

Семь моделей конкуренции и параллелизма за семь недель
Пол Батчер
Жанры: Программирование
Год издания: 2015
Год прочтения: 2025
Моя оценка: Хорошая
Количество прочтений: 1
Количество страниц: 346
Конспект (страниц): 10
Первоначальный язык издания: Английский
Переводы на другие языки: Русский

Общее описание

Книга размером 350 страниц. Помимо текста присутствуют вставки кода и изображения там, где тяжело описать текстом. В конце каждой главы есть вывод пройденного материала, задания для изучения и практические задания. Материал книги местами мне показался сложным.

Введение

Если не считать главы введения и заключения, то книга состоит из 7 глав, каждая из которых состоит из 3 тем. Каждая тема усложняет и дополняет предыдущую. Сами же главы, как правило, содержат совершенно новые и независимые от прошлых глав технологии.

Глава 2. Потоки выполнения и блокировки

  • День 1: взаимоисключение и модели памяти
  • День 2: помимо встроенных блокировок
  • День 3: на плечах гигантов

Глава 3. Функциональное программирование

  • День 1: программирование без изменяемого состояния
  • День 2: функциональный параллелизм
  • День 3: функциональная конкуренция

Глава 4. Путь Clojure – разделение идентичности и состояния

  • День 1: атомы и сохраняемые структуры данных
  • День 2: агенты и программная транзакционная память
  • День 3: погружение в глубину

Глава 5. Акторы

  • День 1: сообщения и почтовые ящики
  • День 2: обработка ошибок и отказоустойчивость
  • День 3: распределённые приложения

Глава 6. Взаимодействие последовательных процессов

  • День 1: каналы и блоки do
  • День 2: множество каналов и ввод/вывод
  • День 3: модель CSP на стороне клиента

Глава 7. Параллелизм данных

  • День 1: программирование GPGPU
  • День 2: многомерность и рабочие группы
  • День 3: OpenCL и OpenGL — храните данные в GPU

Глава 8. Лямбда-архитектура

  • День 1: MapReduce
  • День 2: пакетный уровень
  • День 3: уровень ускорения

Мнение

Книга была рассчитана на то, чтобы её не читать быстро. Я же читал её как и любую другую. При этом я не выполнял практические задания и не изучал дополнительный материал. Поэтому некоторые темы показались сложноватыми. К тому же были выбраны весьма специфические языки и технологии для разбора этих тем. Clojure и Erlang — это не те языки, с которыми знаком среднестатистический разработчик. Так что, приступая к чтению этой книги, будьте готовы, что будет нелегко. С другой стороны, книга информативная и интересная.

Вверх