amarao: (Default)
[personal profile] amarao
Я долго-долго читал ГЭБ (http://flibusta.is/b/198312, описание в википедии: https://ru.wikipedia.org/wiki/%D0%93%D1%91%D0%B4%D0%B5%D0%BB%D1%8C,_%D0%AD%D1%88%D0%B5%D1%80,_%D0%91%D0%B0%D1%85).

Ещё дольше я её понимаю. В каком-то смысле, в районе научного футуризма - совершенно essential книга.

Флешбэк-спойлер. Книга 1979 года, Но автор сумел предсказать, что chatgpt будет ужасно плохо считать и будет путаться в математике, и что решением будет оснастить её внешним калькулятором, чтобы было проще считать.


Но я не про саму книгу. Долго пережёвывая её идеи, я был вынужден поменять одну из своих фундаментальных ценностей (да-да, не меньше не больше). Традиционно, столкнувшись со сложной системой, моей ценностью было понять как эта система устроена, то есть увидеть её элементарные блоки и принципы, по которым она работает. Архитектурный редукционизм, так сказать.

Одним из проявлений архитектурного редукционизма является "желание ассемблера". Когда-то, давным давно, я отметал всякие хаскелёвые абстракции, как не имеющие отношения к реальности (или имеющие, но по чистой случайности). А реальность эта - в каком байте MBR находится partition table, есть ли suid бит на исполняемом файле, и как именно выглядит вызов функции с точки зрения заполнения регистров (calling convention).

В самом студенческо-школьном виде это выглядело как ассемблерный снобизм, мол, ассемблер - это настоящее, а всё остальное наносное.

Максимализм повыветрился, а вот редукционистская ценность построения знания о системе "снизу вверх" осталась.

И вот, ГЭБ. В котором очень много посвящено как раз проблеме невозможности осознать сложность системы глядя на её редуцированные базовые правила. Половина книги как раз и посвящена построению очень сложного из очень простых механизмов так, что никакое знание об устройстве механизма не может понять то, что строят.

Я бы сказал, что с точки зрения внутренней философии это даже большее откровение, чем рефакторинги факторио, потому что это куда более core value. Это один из элементов мировоззрения, и путём множественных наблюдений я вынужден прийти к выводу, что моё предыдущее убеждение не приводит к тем результатам, которые я ожидал.

Моё предыдущее убеждение: в столкновении с сложным и неизвестным, изучение принципов работы нижележащей системы даёт возможность понять это "сложное и неизвестное" больше, чем если бы время тратилось на "сложное и неизвестное" само по себе.

Я не могу просто так взять и заменить core believe на другой, это слишком большое и сложное изменение; но я признаю, что "закапываться в стек" не является эффективной стратегией изучения. Чем именно надо его заменить я пока не понимаю, пока что я всего лишь пошатнул одно из оснований своего собственного восприятия мира.

Date: 2023-09-04 02:10 pm (UTC)
kondybas: (Default)
From: [personal profile] kondybas
"..Чем именно надо его заменить я пока не понимаю.."

О, это довольно просто :)

1. Целое есть нечто большее, чем простая арифметическая сумма частей. Дом - это не просто несколько тысяч штук кирпича.
2. Новое качество не всегда может быть получено путем количественного изменения. Навалив миллион штук кирпича, дом все равно можно не получить.
3. Новое качество можно получить и на другом нижележащем субстрате. Дом можно построить из соломы, веточек, кирпичей, пеноблоков, монолитного бетона, надувных секций етц.
4. Фактором возникновения нового качества (функционала системы) является структура, в которую организован субстрат. Дом получается, если кирпичи разложить согласно чертежам дома. Если разложить согласно другим чертежам, получится дорога из желтого кирпича.
5. Для понимания системы ее следует декомпонировать структурно (и функционально) до очевидных/тривиальных сущностей. Иногда это может быть код на асме, иногда можно остановиться на хостах, абстрагированых до сервисов. Но главное - это структура.

Это совершенно общая схема. Например, золото и говно - это одни и те же протоны-нейтроны-электроны, но организованные в немножко различные структуры. Если в одну и ту же структуру загнать атомы углерода или углерода и кремния, то структура будет демонстрировать свойственную ей высокую твердость. Если одну и ту же структуру собрать на лампах или транзисторах - принимать радиопередачи она будет и так, и этак. Борщ можно сварить как из свежих, так и не очень свежих ингредиентов.

Вывод: свойства системы - это (преимущественно) свойства ее структуры, а не нижележащего субстрата. Но совсем игнорировать субстрат тоже не стоит, иногда количественные показатели системы сильно выигрывают от оптимизаций низкого уровня, при неизменной структуре.

Profile

amarao: (Default)
amarao

December 2025

S M T W T F S
 12 3456
78910111213
14151617181920
212223242526 27
28293031   

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 2nd, 2026 03:23 am
Powered by Dreamwidth Studios