3 ms·
What I object to is this "OOP is good / bad" type of approach. OOP is neither good nor bad. What is good or bad is your selection of technique for the problem
by lmilcin 5y ago
What I object to is this "OOP is good / bad" type of approach.
OOP is neither good nor bad. What is good or bad is your selection of technique for the problem at hand.
That's the same misguided discussion as on whether strong typing is good or bad. It is neither. What you want to select depends on the kind of project you are trying to use it for.
Also, just because this template can be used for practically any idea doesn't make it less valid. Greatest laws tend to have universal applicability.
- throwaway894345 5y ago> Also, just because this template can be used for practically any idea doesn't make it less valid. Greatest laws tend to have universal applicability. I don’t think it’s invalid, but useless. “There’s a time and a place!” is not very enlightening. It doesn’t help anyone understand when to use it nor does it indicate how frequently it is helpful (e.g., in every application or only very rarely?). > That's the same misguided discussion as on whether strong typing is good or bad. It is neither. What you want to select depends on the kind of project you are trying to use it for. Isn’t this a straw man? TFA illustrates in detail the problems with OOP in game development (e.g., performance), so presumably for applications that care about those things, then you have an idea about when it should be used. This is far more helpful than “but there’s a time and a place!” protestation or the “but OOP is neither good nor bad!” protestation nor for that matter the “But that’s not true OOP” protestation. TFA substantially criticized OOP—if we can’t rebut the criticism substantially, instead resorting to pithy sayings, then maybe we should consider the criticism more carefully?
- lmilcin 5y agoI have not criticized TFA's arguments, only general approach. You can be correct with details yet completely wrong about overall findings. Of course abuse of OOP is causing memory layouts that are bad for performance. But you can't jump from this to saying that OOP is bad. I will give you an example to show how absurd is this argument. Python is order of magnitude more damaging to app performance than OOP. Surely, that must mean that "Python is bad" and projects should not be using it. This is absurd, invalid way of coming to conclusions. > instead resorting to pithy sayings, then maybe we should consider the criticism more carefully? I don't care much about insults, certainly not the ones coming from anonymous people. A lot of contemporary bloggers were not even alive when I started working in development and I seen generations of people making same mistakes. This is discussion you don't solve by getting more into details but rather zooming out to understand general truths.
- throwaway894345 5y ago> Python is order of magnitude more damaging to app performance than OOP. Surely, that must mean that "Python is bad" and projects should not be using it. This is absurd, invalid way of coming to conclusions. It is, but I don't think anyone is coming to this conclusion by way of this line of reasoning. Rather, the conclusion one can arrive at is that Python is bad for performance sensitive applications. That said, if no one can articulate a class of applications for which OOP is indeed beneficial, but rather only says "but there's a time and a place!" without asserting those times and places specifically, then one can reasonably conclude that OOP likely isn't a very good paradigm. > Of course abuse of OOP is causing memory layouts that are bad for performance It seems to me that the performance criticism holds for just about any code base that is discernibly "OOP". It also seems to me that for any term that is so poorly defined as "OOP", someone could defend that term from any criticism by arguing that the criticism applies only to abuses of the term. In other words, a no true Scotsman deflections. > I don't care much about insults, certainly not the ones coming from anonymous people. I wasn't making an insult, I was claiming/observing that your argument lacks substance, that it's empty rhetoric that can be used to defend any position. I don't mean it as an affront to you personally. > This is discussion you don't solve by getting more into details but rather zooming out to understand general truths. I don't think you're observing "general truths" but rather making pithy statements (again, I mean this literally). In particular, you're arguing that there are use cases for OOP without proposing any, and now you're arguing that we don't demonstrate OOP's utility by demonstrating use cases but rather by "zooming out" (presumably to vapid rhetoric). It seems to me that I could say that Bigfoot exists, and on being asked for evidence, I would just argue, "you don't prove Bigfoot's existence by way of evidence" or similar. How can anyone in good faith interpret this as anything other than a dodge?