Live data from Hacker News

The Big OOPs: Anatomy of a Thirty-Five Year Mistake

computerenhance.com

151–160 of 193 posts

Re: The Big OOPs: Anatomy of a Thirty-Five Year Mistake

#151
post #82

I really dont understand his reasoning. If you have a pointer to the base class different implementations are polymorphic and its hidden from the caller. That is the whole point and it means you can have an engine with a base class in a library, then different people can derive from it and use that engine. I think his definition of OO is different to what we've got used to. Perhaps his definition needs a different na…

>I think his definition of OO is different to what we've got used to. No. His definition is exactly what people are taught OOP is. It is what I was taught, it is what I have seen taught, it is what I see people mean when they say they are doing OOP. > Perhaps his definition needs a different name. No. Your definition needs a different name. Polymorphic functions are not OOP. If you give someone standard Julia code, a…

"The expression problem matrix … In object-oriented languages, it's easy to add new types but difficult to add new operations … Whereas in functional languages, it's easy to add new operations but difficult to add new types"

https://eli.thegreenplace.net/2016/the-expression-problem-an...

Re: The Big OOPs: Anatomy of a Thirty-Five Year Mistake

#152

So much gold to mine in this talk. Even just this kind of throwaway line buried deep in the Q&A: > I prefer to write code in a verb-oriented way not an object-oriented way. ... It also has to do with what type of system you're making: whether people are going to be adding types to the system more frequently or whether they're going to be adding actions. I tend to find that people add actions more frequently. Suddenly…

> Suddenly clicked for me why some people/languages prefer doThing(X, Y) vs. X.doThing(Y) It's when you start writing ThingDoer.doThing(X, Y) that you begin questioning things.

But if you make it thingService.doThing(x,y) you're all good.

Re: The Big OOPs: Anatomy of a Thirty-Five Year Mistake

#153
post #144
post #112

Earlier quoted context omitted.

I had difficulty understanding what irked me about the comment, but indeed, that's it. The mix of superficiality, congeniality, and random details sound like an AI response. However, I don't think it is. But AI surely fucks up our trust.

Why not, it's a fresh new account, and doesn't bring any new insight, why would anyone genuinely write a comment like that?

I think I have autism. Anyway this is how I tend to organize thoughts and relay them. If it looks like AI then I don't know what to do about and is kinda scary really.

Re: The Big OOPs: Anatomy of a Thirty-Five Year Mistake

#154
post #111

This is an excellent talk. It digs really deep into the history of OOP, from 1963 to 1998. The point is that in 1998 the commercial game "Thief" was developed using an entity component system (ECS) architecture and not regular OOP. This is the earliest example he knows of in modern commercial programming. During his research into the history of OOP he discovered that ECS existed as early as 1963, but was largely forg…

No offense, but this reads as a GPT generated summary.

None taken. This is the world we live in now.

Re: The Big OOPs: Anatomy of a Thirty-Five Year Mistake

#155

So much gold to mine in this talk. Even just this kind of throwaway line buried deep in the Q&A: > I prefer to write code in a verb-oriented way not an object-oriented way. ... It also has to do with what type of system you're making: whether people are going to be adding types to the system more frequently or whether they're going to be adding actions. I tend to find that people add actions more frequently. Suddenly…

> Suddenly clicked for me why some people/languages prefer doThing(X, Y) vs. X.doThing(Y) It's when you start writing ThingDoer.doThing(X, Y) that you begin questioning things.

Excuse me, you need a BeanShell.BeanThread.GeneratorStalk.VeggFactory to do that in this Environment®™

Re: The Big OOPs: Anatomy of a Thirty-Five Year Mistake

#156
post #144

Earlier quoted context omitted.

Why not, it's a fresh new account, and doesn't bring any new insight, why would anyone genuinely write a comment like that?

I think I have autism. Anyway this is how I tend to organize thoughts and relay them. If it looks like AI then I don't know what to do about and is kinda scary really.

I guess it's more common in comments to read someone's opinion on different parts, whether they agree or disagree, a related anecdote or personal experience with the topic, or a remark focused on a specific detail that stands out.

Re: The Big OOPs: Anatomy of a Thirty-Five Year Mistake

#157
post #124

Earlier quoted context omitted.

Nope, that is the gist that game devs then apply to ECS story. If you want to go down the rabbit hole, lets start with the first question, how are ECS systems implemented in any random C++ or Rust game code?

> Nope, that is the gist that game devs then apply to ECS story. What do you mean? ECS is simply a game programming pattern to implement an entity system. > If you want to go down the rabbit hole, lets start with the first question, how are ECS systems implemented in any random C++ or Rust game code? Conversely how would you implement it in a procedural language like C or Pascal? ECS is just a switch in emphasis from…

A pattern that relies on OOP constructs like protocols, interfaces, traits, depending on which language is being used.

Arrays and structures mappings isn't ECS, that is Data Oriented Design,

https://en.m.wikipedia.org/wiki/Data-oriented_design

Re: The Big OOPs: Anatomy of a Thirty-Five Year Mistake

#158
post #144

Earlier quoted context omitted.

Why not, it's a fresh new account, and doesn't bring any new insight, why would anyone genuinely write a comment like that?

I think I have autism. Anyway this is how I tend to organize thoughts and relay them. If it looks like AI then I don't know what to do about and is kinda scary really.

It doesn't matter how you organize thoughts, it's about how other people read your text, and AI has fucked up our perceptions.

First your praise the talk. That sounds AI like. LLMs are trained in the annoying American way of starting with something positive, even if it's irrelevant, or isn't meant. You're probably somewhat conditioned to do the same. But in this forum, those comments are not encouraged. The upvote button should be enough to express that.

The rest reads like a summary, also an LLM feature, but nobody asked for a summary, and you're not announcing that you want to give one. It sets the reader up for some conclusion or evaluation, which never comes.

There's no personal thought, except for the praise, anecdote, criticism, or supplementary information. If all you wanted was to recommend the talk to people, I think an effective way to do would be something like

> I liked the talk. So much that I didn't know about the history of OOP, or how ECS (Entity Component System) could have been a competitor. Recommended, but it's a bit long though.

Not that that will get you a lot of upvotes (which shouldn't be a goal anyway), but it expresses someone's reflection on the link, which others can understand as support for their decision to check the link, or not.

AI has fucked up our perception. That's not your fault, of course, but you can try to skirt around it. But not everybody has to write every opinion everywhere. It's fine if your communication doesn't always fall on fertile ground. You don't have to apologize or blame the spectrum. Some people have better ways with words than others.

Re: The Big OOPs: Anatomy of a Thirty-Five Year Mistake

#159
post #157

Earlier quoted context omitted.

> Nope, that is the gist that game devs then apply to ECS story. What do you mean? ECS is simply a game programming pattern to implement an entity system. > If you want to go down the rabbit hole, lets start with the first question, how are ECS systems implemented in any random C++ or Rust game code? Conversely how would you implement it in a procedural language like C or Pascal? ECS is just a switch in emphasis from…

A pattern that relies on OOP constructs like protocols, interfaces, traits, depending on which language is being used. Arrays and structures mappings isn't ECS, that is Data Oriented Design, https://en.m.wikipedia.org/wiki/Data-oriented_design

Since you already quoted wikipedia, here's what it says about ECS:

https://en.wikipedia.org/wiki/Entity_component_system

> Entity–component–system (ECS) is a software architectural pattern mostly used in video game development for the representation of game world objects. An ECS comprises entities composed from components of data, with systems which operate on the components.

> Entity: An entity represents a general-purpose object. In a game engine context, for example, every coarse game object is represented as an entity. Usually, it only consists of a unique id. Implementations typically use a plain integer for this

> Common ECS approaches are highly compatible with, and are often combined with, data-oriented design techniques. Data for all instances of a component are contiguously stored together in physical memory, enabling efficient memory access for systems which operate over many entities.

> History > In 1998, Thief: The Dark Project pioneered an ECS.

So, according to wikipedia:

- An entity is typically just a numeric unique id

- Components are typically physically contiguous (i.e an array)

- Their history began with Thief pioneering them in 1998

Re: The Big OOPs: Anatomy of a Thirty-Five Year Mistake

#160
post #158

Earlier quoted context omitted.

I think I have autism. Anyway this is how I tend to organize thoughts and relay them. If it looks like AI then I don't know what to do about and is kinda scary really.

It doesn't matter how you organize thoughts, it's about how other people read your text, and AI has fucked up our perceptions. First your praise the talk. That sounds AI like. LLMs are trained in the annoying American way of starting with something positive, even if it's irrelevant, or isn't meant. You're probably somewhat conditioned to do the same. But in this forum, those comments are not encouraged. The upvote bu…

Thank you for your reply. Good food for thought. ----- "LLMs are trained in the annoying American way of starting with something positive, even if it's irrelevant, or isn't meant." Agree. LLM's make me feel like I'm in kindergarten and need positive reinforcement at every step of the way to be intellectually curious.
Post reply on HN