A linear recurrence problem means a problem that can be represented as a function such that each term is a linear combination of the previous ones. A classical example is Fibonnaci’s:
After more than 3 years working as backend (and mobile) programmer mostly in the Java Virtual Machine ecosystem, I have realized that no one of those procedural MVC/MVP/MVVM patterns have made me feel confortable when implementing new features or big changes in a project. Also, ER-ending classes (Controller, Manager, Helper…), that are well accepted and used in many frameworks, don’t help with that either: they will get bigger and bigger and you will have to segregate them without any logical criteria. And when that happens, you’re screwed. Maintainability becomes really hard.