That digression about my path on learning code leads us to this: from my perspective, it seems that the current trend in the world of programming is about OOP losing traction in favor of FP. Practitioners of OOP try to keep it on top, while practitioners proselitize its usage. This in general leads to sterile "debates" (read fights) where there’s a lot more dogmatism than pragmatism.

I hope this series proved that there are lot more styles than just OOP and FP. I hope it also introduced you dear readers to some style you didn’t know about - I for sure learned a lot. Finally, I hope that it showed that styles can be combined together: for example, objects don’t need to be mutable, and while they have state, this state doesn’t need to change. Exception handling and types that I mentioned above can be used in all styles.

Above all, remember that there’s so single one-size fits all solution to a problem in regard to a context. If that would be the case, then the said solution would have won because of its evident superiority. Since it’s not the case, then the context probably plays a huge role in the relevance of a style.

I’ve probably written it a thousand times before, but let’s write it once more just to be sure the message is clear enough: the more tools in one’s toolbelt, the more adequate the tool one has for a specific job.