Live data from Hacker News

Does OO really match the way we think (1997) [pdf]

leshatton.org

251–253 of 253 posts

Re: Does OO really match the way we think (1997) [pdf]

#251
The paper specifically calls out inheritance and polymorphism as problematic, especially in the context of maintaining existing code. Which makes me think that code visibility is at least part of the issue. We've always had functions, libraries, and "includes", but their re-use was infamously course grained, static, or not well leveraged outside their initial scope.

Things like inheritance, polymorphism, dependency injection, and "abstracting things away" in general have made it practical and common for implementation details to evaporate in such a way that we don't (and maybe can't) keep them in our heads when we are maintaining existing code.

This is great if all those class hierarchies and abstracted implementations are bug-free and work the way you anticipate them working (i.e. if they fit your mental model). As soon as they don't, or they get too complex and too deep, you're in for a world of hurt and confusion.

Re: Does OO really match the way we think (1997) [pdf]

#252

OOP did more to set back program design than anything else I can think of. It was incredibly wrong, has sent so many smart minds down a poor path. If for example functional has taken prominence in the 90s we'd be in a much better place now.

> set back program design No one stops you writing program in whatever style you want. If functional programming has that of edge over OO, it would win over the argument long ago. I don't like you assume other people don't know what is best for themselves, and needs some top-down expert to light the path. You argument, if there is one, sounds really preachy and proves no other than the point that support of functiona…

> I don't like you assume other people don't know what is best for themselves, and needs some top-down expert to light the path.

I do love the juxtaposition of this line, with your following accusation of people on HN engaging in "identity politics".

In my view the argument "X can't be better than Y, otherwise we'd all be using X". Is wrong for the same reason that "K can't be a good idea for a company to start otherwise someone would've started it already."

Some things are too early, some things are marketed poorly, sometimes it's luck, some times is dedication in sticking with it. I strongly believe that markets aren't efficient and have lots of imbalances. I also strongly believe that life isn't efficient and has lots of imbalances.

Re: Does OO really match the way we think (1997) [pdf]

#253

My strategy for personal coding recently has shifted towards a sincere exploitation of automatic programming(in a manner similar to model-driven development or language-oriented programming, or the research of VPRI). The overall feedback loop looks like this: * Write an initial mockup that exercises APIs and data paths in an imperative, mostly-straightline coding style * Write a source code generator that reproduces…

This is an approach I've been exploring myself. Do you have any suggestions or recommendations as to languages that lend them selves well to this approach?
Post reply on HN