TGViewer
Лаборатория Математики и Программирования Сергея Бобровского Лаборатория Математики и Программирования Сергея Бобровского @lambda_brain · 1.41K subscribers
Post #2642 687
Почему у тебя всегда получается Big Ball of Mud?

Программирование - это чистая логика, как обычно считается, и курсов/книг "логика для программистов" немало...

Да, но ведь логика -- это по сути синтаксис, формальные правила композиции и вывода, и всё.

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

Логика/код - это инструмент, а вот теория - это построение карты системы.

Например, SSL/TLS из-за отсутствия формальной теоретической модели внутри спецификации быстро превратился в big ball of mud и кучу приляпок.
Да, так-то всё логично и стройно :) Чёткое разделение на слои (Record, Handshake, Alert), криптографические примитивы (симметричное шифрование, асимметрика, хеши) и строгие синтаксические правила обмена сообщениями.

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

POODLE, BEAST, CRIME, Heartbleed -- это не просто "стандартные" баги типовой реализации, это прежде всего следствие того, что спецификация не запрещала опасные взаимодействия (сжатие + шифрование, повторное использование IV, блоковые режимы без аутентификации...) по причинам из предыдущего абзаца. В результате каждый патч тупо добавлял новый флаг/состояние без инвариантов, очередное расширение или хаотичную обратную совместимость (от SSLv2 до TLS 1.3) -- по сути сплошные приляпки поверх логических слоёв.

И только в TLS 1.3 подход наконец изменился: разработчики взяли за основу формальную модель (модель каналов безопасности с явным разделением ключей, обязательное AEAD-шифрование, исключили старые режимы...).

База: сперва теория (принципы), потом спецификации на её основе.

Без слоя теории "поверх" любая логика (код, спеки, software design, system design...) всегда деградирует в набор частных костылей и приляпок.
  • ✍ 31
  • ❤ 8
  • 👍 3
  • 💯 1
More from @lambda_brain
  1. Sep 25, 2026Гарри Поттер и Методы Математического Мышления Книга 1. Гарри Поттер и Неорганический Инте…
  2. Sep 25, 2026Свежее от ребят (и девчат). ...Так же было собеседование в Сбере, каким то чудом прошел их…
  3. Sep 24, 2026Приятный синхронизм: сразу двое ребят в один день прислали отчёты - второй курс по гомотоп…
  4. Sep 24, 2026Post #2665
  5. Sep 23, 2026Помните, летом я писал, что каждый месяц будет какая-то "новая" AI-темка (шоу должно продо…
  6. Sep 23, 2026Сейчас по сути наступил золотой век разработки программного обеспечения: - вы можете созда…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →