Functional programming is not popular because it is weird (2016)
For me OOP is weird. I never understood what people mean when they say it is close to how they think. It feels like a way to obfuscate the flow of code and requires to make decisions about what thing should have which responsibility and relation with which other thing and building weird hierarchies that will bite you back in the long term.<p>Relations between Objects change, customers don&#x27;t know what they want, change is always pain with OOP.<p>Now people say, composition over inheritance. Right, but isn&#x27;t that the point of functional programming?<p>Functional programming maps to how I think. The most important questions is always: What data structures do I need? Get your data in order and the rest will flow naturally.<p>I don&#x27;t use functional programming because I am a math nerd or something, I am not even good at math. I use is because it is composible and easy to understand. I can refactor without any fear of side effects.<p>Now is pure functional programming practical? For some tasks, sure but yeah not always. Imperative programming gets stuff done. Work with the strengths of both.<p>The thing you are not used to always feels weird, that is a problem with you not the thing you try to learn.