3 ms·
Good OOP practise does involve writing things down. Just look at design patterns books or c2 wiki. My contention is not that writing things down or naming abst
by bawolff 2y ago
Good OOP practise does involve writing things down. Just look at design patterns books or c2 wiki.
My contention is not that writing things down or naming abstractions is bad. On the contrary i think that is a good thing.
I don't even think monads are a bad abstraction. Monads are a fine abstraction. Its the baggage people carry with it that is the problem.
My main contention is that people are cargo culting the way monads are explained in category theory and applying that to computer programming. This sort of works, but generally not that well because its copied from a field with very different goals.
Math wants to prove things in the most general way possible. This lets them explain & discover the deepest possible patterns. They trade complexity to achieve this goal.
Computer programming aims to solve problems efficiently in a way that is efficient and easy to modify. Complexity is the enemy of this goal.
Even in math, you might prove that some object is a monad or whatever, but you will still generally work from its normal definition and not from the definition of a monad.