4 ms·
Well, the best analogue to the Codd's relational algebra is Hewitt's actor model in my professional opinion. Both are based on mathematical formalism, though th
by noblethrasher 8y ago
Well, the best analogue to the Codd's relational algebra is Hewitt's actor model in my professional opinion. Both are based on mathematical formalism, though the Actor Model goes a bit further in that it's also informed by physics.
But, just as SQL doesn't really implement Codd's relational algebra, so it is the case that most so-called OOP languages miss the mark vis-à-vis Alan Kay's original conception.
The analogy is buttressed by the fact that many early RDBMSs didn't even support joins (path independence being an essential characteristic of RA), just as many mainstream OOP languages didn't/don't idiomatically endow objects with a strong way to protect themselves (encapsulation being a necessary characteristic, thus pervasive use of setters being the main sin)). But, Kay did praise Erlang for getting OOP right.
- da02 8y agoKay also mentioned the Internet is an OO system. At one point he was thinking every object would have it's own IP address. He does have an account here on HN. https://news.ycombinator.com/threads?id=alankay1 https://news.ycombinator.com/threads?id=alankay1 I hope he doesn't get tired of explaining the same things over-and-over again. I have asked questions and he has answered, but I usually end up misinterpreting the ideas. :(
- noblethrasher 8y agoYep, I follow him pretty closely, and knew about his account and comments on here. Funny story: That is at least the second account that he created on HN. He registered an earlier one just to reply to a comment that I had made[1]. [1]: https://news.ycombinator.com/threads?id=alanone1 https://news.ycombinator.com/threads?id=alanone1
- da02 8y agoHa ha. I always wondered why that lonely one-comment account existed. I suspect many people are using data abstraction and calling it OOP. I am not a professional programmer. What do you like to use when designing software? Functional? Types? C? Haskell? Pharo?
- mercer 8y ago> But, Kay did praise Erlang for getting OOP right. This comment does a nice job explaining why: https://news.ycombinator.com/item?id=2039750 https://news.ycombinator.com/item?id=2039750 I also like how in the interim Elixir addresses some of the issues surrounding gen_server verbosity.