TGViewer
Лаборатория Математики и Программирования Сергея Бобровского Лаборатория Математики и Программирования Сергея Бобровского @lambda_brain · 1.41K subscribers
Post #1918 951
Я мощно расширил первый гайд по ФП -- добавил 27 новых понятий/паттернов, которые превратили тему не только в функциональное программирование, но и в функциональное проектирование.

Жутко доволен, потому что получил инсайт:

если в ООП вам в принципе не обойтись без глубокого погружения в тему объектно-ориентированного анализа и проектирования и изучения толстенных книг, иначе ваш проект будет стабильно запутываться уже на первых двадцати классах, а трудоёмкость внесения новых фич взлетит экспоненциально,

то в ФП достаточно просто следовать паре десятков паттернов, чтобы автоматически выйти на уровень правильного проектирования, сохраняя сложность проекта линейной.

Make Illegal States Unrepresentative.

Типы как ограничители.
Вместо комментария "значение должно быть > 0" → тип PositiveInteger.
Вместо if (user != null) → тип NonOptionalUser.
Ликвидация runtime-ошибок.
Нет NullPointerException, ValueOutOfRange — компилятор их блокирует.
Моделирование домена в типах + типы -- это документация.
Компилятор-союзник проверяет бизнес-правила статически.
Код следует за моделью, а не наоборот. Архитектура определяется не фреймворками, а инвариантами домена.
Тесты концентрируются на логике, а не на проверке "а что если null?".
Рефакторинг безопасен: изменения типов "ломают" код точечно и на уровне компиляции.
Доменные эксперты визуально понимают код с выразительными типами:
Бизнес-логика переходит из умов постановщиков и разработчиков → в систему типов как отображение домена 1:1 → в работающий код.

=

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

А глупенькие так и продолжат учить понятие классов, работу с памятью, и прочую убогую скриптовую по сути чухню для школоты, застывшую на уровне 1975-го года.
  • ❤ 51
  • 😁 10
  • 👍 7
  • ❤‍🔥 1
  • 😎 1
More from @lambda_brain
  1. Oct 1, 2026Ребята спрашивают, ну ок, моё скромное мнение. у вас где-нибудь можно прочитать ваше мнени…
  2. Sep 30, 2026Ладно, вот вам база, почему так трудно переучиваться с императивного/объектного стиля коди…
  3. Sep 30, 2026Ну, с Днём Рунета! Многие годы Рунет был эталонным примером свободы, а сегодня превратился…
  4. Sep 28, 2026. Облако драгоценностей за неделю. Дипломный проект разросся уже так, что расширил его до…
  5. Sep 27, 2026GELU (Gaussian Error Linear Unit) -- базовая фича архитектуры трансформеров, да и вообще в…
  6. Sep 27, 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 →