3 ms·
> If anything it is too flexible and gives developers too many features Over-engineering: "the act of designing a product or providing a solution to a problem
by grumpyprole 4y ago
> If anything it is too flexible and gives developers too many features
Over-engineering: "the act of designing a product or providing a solution to a problem in an elaborate or complicated manner"
- kaba0 4y agoAnd that is very much false in case of log4j, it’s likely you just have a mismatch regarding the requirements of enterprise logging — far from trivial. Of course log4j is an overkill for a simple terminal app that could just write to stderr/out just fine. But it is not an overkill at all for an enterprise business app doing millions of transactions each second with multiple instances, with n+1 kinds of config requirements. So for you to be able to call it over-engineered by your definition you would have to know whether the implementation it provides is more complicated than necessary, which I’m fairly sure you can’t know without having taken a look at the actual code. There is essential and accidental complexity as two terms for a reason.
- grumpyprole 4y agoLog4J doesn't just log strings, it has an evaluator that can execute the strings and invoke arbitrary code. There is no enterprise that needs this feature. Describe the actual problem, and let's work out how it can be solved without stuffing a new programming language into a string.