Пред- и пост-условия, которые приходится явно прописывать в объектно-императивной реализации -- это фича, естественно присущая функциональному программированию по определению.
Когда вы пишете чистый функциональный код, инвариантность в нём присутствует "автоматически". Так зачем вообще утруждать себя написанием "надёжного" императивного кода? Приличный компилятор незаметно для вас оптимизирует функциональщину в логически безупречную императивщину.
Design by Contract мёртв (да он никогда и не был жив): его изобрели просто как супер-лайт-версию ФП для гоев, которая хорошо продаётся.
Post #2361
605

- ✍ 44
- ❤ 7
- 😁 7
- 🔥 4
- 👍 1