Hacker News new | ask | show | jobs
by tacitcoder 761 days ago
You can take a look at this discussion[0] where Casey Muratori designed something like that where communication is done by opcodes, and packets instead of vtables. Note: search for "raw_device_operation" if you want to get to the code, but reading the whole thing is very worth it. [0] https://github.com/cmuratori/misc/blob/main/cleancodeqa-2.md
1 comments

Hmm...what's your definition of "object oriented"?

I made up the term 'object-oriented', and I can tell you I didn't have C++ in mind

-- Alan Kay, OOPSLA '97

https://www.youtube.com/watch?v=oKg1hTOQXoY&t=634s

While I also don't know what this "packets and opcodes" thing is, it certainly sounds a lot like, for example, Smalltalk-72. And vtables are certainly not a requirement, more of an anti-pattern for object-orientedness.

and the very next sentence Alan Kay said was:

"So, the important thing here is that I have many of the same feelings about Smalltalk

Part of the message of OOP was, that as complexity starts becoming more and more important, architecture's always going to dominate material.

I have apologized profusely over the past 20 years for making up the term object-oriented because as soon as it started to be misapplied I realized I should have used a much more process-oriented term for it.

If you had to pick one cause of both particular difficulty in our field, and also general difficulty in the human race, it's taking single points of view and committing to them like they're religions. This happened with Smalltalk."

Yes, I tend to quote that second part as well. In fact, I keep that link ready as well:

https://www.youtube.com/watch?t=653&v=oKg1hTOQXoY

Which is why I question the "OO means it has a vtable" stance that seemed the promulgated here. While "packets and opcodes" is a bit non-specific, it does not appear to be incompatible with OO, and, for example, Smalltalk-72 seems very similar to "packets and opcodes"...though, again, it's not really specific enough to say with any certainty.

Fitting, because Stroustrup didn't have Smalltalk in mind. C++ descends form Simula (in addition to C of course).