3 ms·
Projects fail because of bad code quality and architecture all the time. Monads and functional purity are simple tools that help tame and manage these issues.
by tikhonj 8y ago
Projects fail because of bad code quality and architecture all the time. Monads and functional purity are simple tools that help tame and manage these issues.
I've seen a number of projects (often in JavaScript or Python) fail because of poor effect management—but if you don't have much experience with functional programming, you'd see it as yet another project failing because of bad development practices or lack of discipline.
With experience, it became pretty clear that what we needed were not iron-willed, self-disciplined developers but just better tools, of which effect management (ie monads) and functional programming are some of the most powerful.
- weberc2 8y agoThis seems like a reasonable hypothesis, but I don't perceive a clear signal that indicates that projects which use monads or pure FP are more successful than their counterparts. I think your hypothesis actually jives with mine and with my observation from the previous sentence--that monads and functional purity could help, but if the language neglects things like documentation, high quality libraries, and tooling to productionise and operationalize your code, then it's a non-starter.