3 ms·
Inheritance / encapsulation / polymorphisim are kind of vague too. actually, Alan Kay said Erlang was most like his concept of OO. Ruby has some nice hooks fo
by keithnz 8y ago
Inheritance / encapsulation / polymorphisim are kind of vague too.
actually, Alan Kay said Erlang was most like his concept of OO.
Ruby has some nice hooks for when an object doesn't have a method, at which point you can dynamically resolve it. Much advice in the OO world and its principles are really just to do with message routing, and a lot of Design Patterns are about how to do it when the type system fights you
but even if you are stuck with your C++/Java/C# type languages, then I think it is still useful. I've often seen in the first 10-15 minutes with "traditional" advice that set off down a path of design that ultimately causes a lot of struggle between OO and the typing system, most often because of naming things too early warping the mental rather than recognizing traits of interactions.
- agumonkey 8y agoIIUC Kay had a live organisms in mind, passing biochemical signals at will, which Erlang matches quite snug. It's so odd because when people talked about OO I imagined something live and parallel, kinda like Kay/Erlang buuut it was so far from that.
- seanmcdirmid 8y agoThe first OO language, Simula 67, was exactly like that.
- agumonkey 8y agoTrue, I almost forgot. Wasn't the model a bit slow (relatively speaking) at the time ? Maybe that's why it disappeared for a while.
- seanmcdirmid 8y agoSimula 67 was designed for simulations (hence the name), it wasn’t general. Actually, the first OO language was probably SketchPad, but it’s object model isn’t very recognizable compared to textual OO language.