3 ms·
> The only reason that "real software developers" don't benefit is that they aren't willing to learn them. Willingness is probably not the problem. Can you pro
by qznc 14y ago
> The only reason that "real software developers" don't benefit is that they aren't willing to learn them.
Willingness is probably not the problem. Can you provide an example of such an "esoteric abstraction"? I am pretty sure, you will get an extensive list of downsides in the comments.
- infinite8s 14y agoMonads are a pretty general encapsulation/sequencing abstraction being useful for more than just IO handling in pure languages. Although to be fair, they are starting to show up in more mainstream languages (ie Clojure)
- qznc 14y agoA Monad is just a theoretic abstraction, not a useable one. Only specific Monad instances (IO,Maybe,List,etc) can be "useable", hence "useful". There is no generic "bind" for example, it has to be implemented specifically for every Monad. While Monads are pretty useful in pure languages, they are often over-engineering in imperative languages. What I consider the actual point that the OO world is currently learning from the FP world is abstracting over computation. OO can abstract data and state, but computation is rarely modeled as an object. Monads are simply a pattern you can observe often, when computation is abstracted.
- eli_gottlieb 14y agoScala has monads aplenty.