Эссе о разработке игр, мышлении и книгах

О книге «Системное мышление 2019»

Обложка книги «Системное мышление 2019»

Автор книги — Анатолий Левенчук — широко известный в узких кругах евангелист системной инженерии. Блогер, научный руководитель Школы системного менеджмента, пишет учебники, до одного из которых у меня наконец дошли руки.

Книга оставила о себе двоякое впечатление.

С одной стороны, по содержанию она вполне похожа на учебник системной инженерии. Информация в «системном мышлении» подана хоть и не лучшим образом, но вполне понятно. Желающий разобраться — разберётся. Тем более, автор сам предупреждает в начале учебника, что тот плохо подходит для самообразования — писался под школу.

С другой стороны, у меня набралось заметное количество претензий. Как по подаче, так и по некоторым аспектам содержания. Начиная с того, что в названии явно указано на системное мышление, а содержание практически полностью посвящено инженерии. В моей вселенной это разные вещи и я рассчитывал как раз на текст о мышлении, поскольку по инженерии информацию найти можно, а вот по мышлению её почти нет. Правда есть вероятность, что моё представление о системном мышлении фрически уникально, а вся планета не выделяет его явно. Об этом позже скажу пару слов.

Выбирать «Системное мышление 2019 » первой книгой по системной инженерии не стоит. Если вы хотите познакомиться с предметом, лучше возьмите Путешествие по системному ландшафту Гарольда Лоусона. В ней представлена хорошая ретроспектива системной инженерии, равно как и описание основных практик. Потом уже, по желанию, можно читать «Системное мышление»  или ещё что-нибудь.

Далее расскажу как в книге подаётся материал, чем она хороша и какие у меня к ней претензии.

Далее

Гены, мемы и мемплексы

Иллюстрация засилья мемов в голове

Расскажу как правильно смотреть я смотрю на культурные явления и взаимодействие с ними. В явления запишем всё: обычаи, законы, песни, холивары, языки программирования, методологии разработки — любой информационный артефакт нашей цивилизации. Но примеры в основном будут из IT.

Также этот пост можно считать заготовкой аргументов на случай, если придётся отбиваться от навязывания консультаций по какому-нибудь scrum.

Мемплекс это и есть сложносоставное культурное явление. Это слово буду использовать и дальше, так как оно красивое и короткое.

Начну издалека — с пары оговорок и биологии, как наиболее изученной области проявления эволюции. Потом по аналогии рассмотрим элементарные информационные конструкции — мемы. Потом мемплексы.

Далее

Julia — это Python++?

Логотип Julia

Давно хотел посмотреть на Julia, так как встречал его (её?) упоминание в очень разных и не всегда относящихся напрямую к программированию местах. Пока изучил только документацию и ничего серьёзного на нём не писал (это будет следующим шагом), но уже хочется сказать пару слов. В соответствии с собственными заветами :-D

Изначально я планировал сделать что-то вроде сводной таблицы «плюсы и минусы Julia», но по прочтении документации передумал.

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

Во-вторых, такие таблицы уже есть.

Поэтому я ограничусь личными впечатлениями и пересказом его идеологии, как я её вижу.

Далее

Модная типизация в Python

Разработчики пришивают типы к Python.

Разработчики пришивают типы к Python.

Раз в несколько лет я нахожу время, чтобы покопаться в наработках сообщества по «продвинутым» проверкам типов. Благо у меня под рукой есть взрослый, большой и нетривиальный проект, на котором можно безбоязненно ставить эксперименты.

Не могу сказать что я разделяю оптимизм по поводу продвинутой типизации в Python. Наоборот, считаю, что это как попытка пришить змее ноги — забавно, но вряд ли удобно. Но раз куча людей тратит на это время, надо быть в курсе.

В этот раз я:

  • Посмотрел что из себя представляет mypy и чем может быть полезно (мало чем).
  • Посмотрел чем можно автоматически сгенерировать аннотации типов (ничего рабочего нет).
  • Подумал о том, как правильно использовать проверку типов в Python, раз их так форсят.
  • Нашёл библиотеку, реализующую идеологически верный подход.

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

Большая часть поста не про mypy, а про философию проверки типов и будущее Python. Поэтому должно быть интересно, даже если сам mypy вас не интересует.

Далее

Процедурная генерация и прочая математика

Открыл для себя доклады, которые Squirrel Eiserloh делал для математической секции GDC. Очень наглядно и доступно рассказывает о процедурной генерации, случайности и прочей математике.

Доклады:

Доклады о процедурной генерации особенно интересны.