Согласен с тобой и твои самостоятельные мысли обладают ценностью.
Но моей задачей было обсудить ровно то что написал Спольски. Потому
что я прочел статью Спольски раз 5-6, пытаясь вычленить из нее
реальный здравый смысл. Вывод: Спольски написал настолько бредовую
поверхностную ерунду, что сейчас можно подтянуть что угодно. И до
обосрачки спорить, "А вот нет, на самом-то деле он имел в виду вот
это". Вряд ли стоит этим заниматься.
Всё что я хотел написать о Спольски, я уже написал выше - "закон" Спольски это не "закон". И по моему мнению, он даже использует неверную терминологию. Такое бывает, не замечал? Люди могут болтать, связывая в смысловые конструкции слова, смысл которых они реально до конца не понимают. Там у него полно на самом деле бредовой ерунды, вот пример:
«Я сказал, что TCP гарантирует доставку сообщения. Что ж, это не так. Если ваш домашний питомец перегрызет сетевой кабель вашего компьютера, то IP-пакеты перестанут его достигать....»
— Чувак в этом примере путает понятийные области, принципиально разные категории. Ну и какой смысл обсуждать любые недостатки TCP, если разрушен физический канал связи?
Это называется "абсурд".
И он тут же пишет:
Именно это я и называю дырявыми абстракциями. Протокол TCP пытается абстрагировать нас от ненадежной сети, но иногда сеть все равно «протекает» через абстракцию и вы встречаетесь с вещами, от которых абстракция не может вас спасти. Это всего лишь один пример того, что я называю Законом Дырявых Абстракций
— Что блядь? Уничтоженный физический канал имеет какое-то отношение к работе TCP?
Но ржач совершенно в другом. Чтобы понять в чем, нужно четко разобраться что такое мыслимое и настоящее.
У большинства современных людей, в особенности программистов, протекает фляга и они почти не способны разделять мысленное (представимое) и существующее в реальности.
Всё что касается абстракций — это исключительно касается только мысленного, только хода мысли и только тогда.
Никакие, нахуй "абстракции" в реальном мире НЕ СУЩЕСТВУЮТ.
Ни процесс абстракции, ни сами абстракции (конечные результаты) не получает материального воплощения.
Так думает только Спольски и те кто мешает в своей голове воображаемое и реальное.
Существует либо физический код программы, либо даже аппаратное решение на FPGA / ASIC.
И они, в своем существовании, не являются, блядь "абстракциями". Все что касается "абстракций" осталось на моменте дизайна.
"Абстракцией" они являются только на бумаге (в CAD, короче, при мысленной деятельности), когда кто-то "абстрагирует" какое-то свое решение, и не более.
А в реальной физической жизни это реальное законченное физическое решение, которое ни о какой "абстракции" само по себе не знает и не подозревает.
Законченная цельная готовая система.
Теперь, когда мы вот это четко осознали, возвращаемся к статье Спольски и читаем про "дырявые абстракции".
В особенности, после того как он написал в тексте исключительно про реальные физические объекты/системы (автомобиль например).
Конечно можно это до такой степени себе представлять. Что якобы усложненные системы это какие-то всенепременно "абстракции", но это неверно.
Это попытка программиста представить себе мир, что всё что сложнее (или говоря иначе, скрывает в себе сложность), всё обязательно является "абстракцией".
Нет, это не так.
Инженеры, конструирующие например ламповый радиоприемник (ну он же "абстрагирует" в себе детектор, да?)
посмотрят на такого программиста как на дурачка.
Инженеры, конструирующие автомобиль, услышав о "дырявых абстракциях" переспросят "что блядь?" и возможно, произнесшего такое отпиздят. На всякий случай. :)
На мой взгляд, ответ находится в усложненном поведении усложненных систем, но это не точно.
Хз что там было в башке Спольски.
P.S.
Наверное не все в курсе. Спольски создатель stackoverflow.