# Курс молодого инженера: книга Роберта Нистрем

**URL:** <https://kstr.space/t/kurs-molodogo-inzhenera-kniga-roberta-nistrem/27>\
**Category:** Полезное\
**Tags:** javascript, cplusplus, luau\
**Created:** [12.Апрель.2026 13:05:00 UTC](https://kstr.space/t/kurs-molodogo-inzhenera-kniga-roberta-nistrem/27 "2026-04-12T13:05:00Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![res\_meg](https://kstr.space/user_avatar/kstr.space/res_meg/32/22_2.png) [@res\_meg](https://kstr.space/u/res_meg)\
**Post date:** [12.Апрель.2026 13:05:00 UTC](https://kstr.space/t/kurs-molodogo-inzhenera-kniga-roberta-nistrem/27/1 "2026-04-12T13:05:00Z")

</div>

**Приветствую, разработчики! Две недели назад я откопал книгу _[«Game Programming Patterns»](https://igorcomputer.ru/books/patterns/gamedev_patterns.pdf)_.**

_`Внимание! Если вы разрабатываете cash-grab игры однодневки — этот топик не для вас.`_

Вообще мне не очень нравится читать техническую литературу. Объяснение сухое, примеры требуют долгой рефлексии. Авторам свойственно опускать какие-то темы. Так что, здесь, YouTube-контент, с моей точки зрения, выигрывает.

Но! Но, но. Я же не просто так пишу этот топик?) 😄

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

 ![61efrLvvaxL](https://kstr.space/uploads/default/original/1X/fee96eec4b636055f5ebb8c1ad72deb3e1ac32d1.jpeg)

Коротко введу в содержание. Автор — программист с 20-летним стажем в gamedev индустрии. За жизнь он полностью прочувствовал до глубины души (и заднего клапана) боль непродуманной архитектуры. Как она медленно убивает разработку.

Поэтому книга — накопленные знания Роберта. Плюс автор опирается на известную в программистском сообществе _“Банду четырёх”_. В далёком прошлом, когда парадигма **ООП (Объектно-ориентированное программирование)** захватила умы айтишников, эти ребята написали культовый сборник паттернов проектирования.

В общем, у автора получилась солянка из базовых вещей и специфических для gamedev-сферы.

> ✅ **ПЛЮСЫ:**
> 
> 1. Автор не скупился на юмор. В главах Роберт постоянно упоминает, что книга написана в юмористическом жанре. Поверьте, смеяться есть над чем.
> 
> 2. Поток информации элегантно разделён на части. В начале мы узнаём базовые вещи, затем постепенно погружаемся в узкоспециализированные шаблоны. Автор не скупился и на ссылки. В каждой главе помимо основного паттерна добавочно упоминаются названия смежных.
> 
> 3. К каждому примеру приложены картинки-рисунки. Это не только скучные UML-схемы. Правда, и этого добра хватает. Кхм…Роберт нарисовал и визуализации некоторых процессов. Работа с памятью, зависимости, эм…Деревья в лесу…Водичка…
> 
> 4. Материал подаётся на C++. На этом этапе Roblox-программистам грустить не стоит! Автор книги пишет код на базовом уровне без углубления в дебри языка. Единственно, с чем читателю придётся столкнуться, - понимание шаблонов. Тут уж, увы.
> 
> 5. Роберт думает над оптимизацией и средой применения. Каждая глава даёт не просто рабочий код. В процессе решения переписываются в сторону наибольшей оптимизации. Дополнительно автор развенчивает мифы по некоторым шаблонам.

> ❌ **МИНУСЫ:**
> 
> 1. Книга написана не вчера. Публикация состоялась аж в 2014 году. За 12 лет некоторые подходы в gamedev поменялись. Учитывайте этот фактор при чтении. Например, я нашёл мало информации про ECS (Entity-Component system).
> 2. Уходы автора в сторону сбивают с толку. Например, вы читаете объяснение паттерна. Но вдруг. Вдруг. В следующем разделе Роберт начинает обсуждать другую тему. Это сбивает. Особенно, если вы мало читаете технической литературы.
> 3. Не всё найдёт применение на конкретном движке. Например, часть описанных паттернов никогда не реализуется в полной мере при разработке Roblox-проектов. Мы ограничены :(

В сухом остатке получается понятное и удобное пособие для новичков пособие. Всегда можно вернутся и перечитать конкретный шаблон. Это также тренировка работы с разными парадигмами.

Я крайне советую пользоваться паттернами проектирования при разработке крупных проектов. Делайте это с умом и в будущем они сохранят вам время, а главное — деньги.

---

<div class="post-metadata">

**Author:** ![kire](https://kstr.space/user_avatar/kstr.space/kire/32/86_2.png) [@kire](https://kstr.space/u/kire)\
**Post date:** [12.Апрель.2026 14:03:11 UTC](https://kstr.space/t/kurs-molodogo-inzhenera-kniga-roberta-nistrem/27/2 "2026-04-12T14:03:11Z")

</div>

Очень полезный пост и книга, спасибо!

Хотя я и изучаю в последнее время ECS вместо OOP 🙃

---

<div class="post-metadata">

**Author:** ![res\_meg](https://kstr.space/user_avatar/kstr.space/res_meg/32/22_2.png) [@res\_meg](https://kstr.space/u/res_meg)\
**Post date:** [12.Апрель.2026 14:15:45 UTC](https://kstr.space/t/kurs-molodogo-inzhenera-kniga-roberta-nistrem/27/3 "2026-04-12T14:15:45Z")

</div>

Подход ECS в основном решает именно проблему хранения и получения данных. Реализация систем может быть в разных парадигмах. Поэтому решения через ООП или функции вполне себе годятся.
