Why functional programming matters
Why compose classes, abstract base classes, etc. when you can compose simple functions!<p>It&#x27;s true that abstractions in functional languages can seem foreign and hard to understand, but generally they have some purpose, being grounded in mathematical practice. OO abstractions and patterns OTOH, taught essentially in &quot;elementary school&quot; which possibly makes them seem easier to understand, do a very poor job of solving more problems than they create.<p>Learning a functional language is often a transformative experience that lasts throughout a career, whether you even use functional languages or not. It might make you do something as simple as partitioning which functions have side effects and which don&#x27;t, even if the type system doesn&#x27;t enforce it. Or use a form of quick&#x2F;fuzz testing, even if it&#x27;s not the standard test suite. Or make parts of the data immutable for scalability, auditability, etc. Or...<p>There really are few things as satisfying as developing a large codebase in a functional language. A lot of the frustrating maintenance work just goes away. But even if you don&#x27;t, functional principles can yield similar benefits in imperative languages.