Hacker News new | ask | show | jobs
by Fellshard 1743 days ago
Hmm. I'm intrigued what they come up with. The creator is something of a firebrand, who tends to 'no true scotsmen' other OOP languages. His ideas are interesting, but often seem impractical in other languages. If he comes up with something effective, I suspect it will indeed feel similar to lisp, and not in a bad way. Even what he's showing right now feels similar to Wisp-syntax with an OO twist.
2 comments

"OOP" is itself such an overloaded term that a Smalltalk coder and a C++ coder and a Python coder can each say she works with objects, and yet have entirely different design and organization. By formalizing his definition of OO, Yegor (who is a firebrand for sure[0], but says enough interesting things that I've read a couple of his books and several blog posts) is dispensing with "no true Scotsman" fallacies: if he claims language <X> is not OO per his formal definition, we can take it or leave it.

For what it's worth, Alan Kay himself has said things like, "I invented the term Object-Oriented, and I can tell you I did not have C++ in mind." He has declined to formally define what he means, but has said, "OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things."[1] Even without a formal definition, most languages purporting to be OO clearly fail a common sense interpretation of his criteria. Kay himself mentions Smalltalk and Lisp being the only systems he's aware of that meet his criteria; I tend to think Erlang is spiritually close, though would have to defer to Alan (I find it interesting, too, that the first Erlang VM was written in Prolog).

[0]https://www.yegor256.com/2017/07/18/sexual-harassment.html

[1]http://www.purl.org/stefan_ram/pub/doc_kay_oop_en

Yep, that's the kind of thing I try to consider in this subject. I think his take is intriguing and distinct enough to possibly have merit, but it's difficult to discuss it directly with the creator because... well, it's hard to discuss benefits and difficulties with a firebrand.

For what it's worth, I suspect Yegor's view is somewhat closer to Erlang as well, given both end up collapsing into a model of both functional purity and message-dispatching, if I understand them both accurately.

Totally agree. I'm reluctant to join the Telegram thing because A) Telegram and B) I can't imagine a discussion going over any one of the Sacred Programming Opinion Landmines.

"I once used an ORM to get some work done and stuff, and it wasn't entirely awful" is probably worthy of excommunication or burning at the stake for heresy. More likely, just insults that I'm not a real professional or something. I get enough of that in my own head from time to time.

> Even without a formal definition, most languages purporting to be OO clearly fail a common sense interpretation of his criteria.

Which should be obvious sign that Kays criteria for OO does not match the common usage of the term, and as such not very useful.

I think that the argument is that even the "common usage of the term" means a lot of different things to a lot of different programmers/computer scientists/etc.
The more interesting question to me is whether there is still something to the ideas that he originally called "object-oriented" that has possibly been lost. The term itself has been overloaded into oblivion, but message communication, vigilant protection of internal state and late binding all the things might still be a good idea.

IMO "objects := algorithms + data structures" has run its course and hasn't succeeded.

Well yes. Early in the day I had a brief affair with Eiffel. But alas not practical. On the do not list the one I'm most suspicious about is no mutability. I'm willing to listen; looking forward to more here. C'mon we're gonna toss btree, hashing etc?