It’s sad that so many assume that object-orientation started with Smalltalk. In fact, objects, classes, sub-classing and virtual functions are from Simula. Smalltalk’s biggest addition and contribution to object-orientation was the encompassing design concept of “messaging”.
It is those features introduced in Simula that largely remain influential today, while Smalltalk’s “messaging”concept is effectively obsolete in a world of program design largely dominated by “data”.
It is those features introduced in Simula that largely remain influential today, while Smalltalk’s “messaging”concept is effectively obsolete in a world of program design largely dominated by “data”.
Messaging isn’t an idea that occurs in every language, but it’s certainly not obsolete, just a bit esoteric. Ruby, Erlang/Elixir, and Go all prominently feature the concept, to name a few near the top.
Messaging is an overloaded term. In Smalltalk it is specific to the sending of a non-command instruction to an object. This is unrelated to the use of the term in other contexts.
Simula - the greatest Norwegian invention since the cheese slicer!
It’s sad that so many assume that object-orientation started with Smalltalk. In fact, objects, classes, sub-classing and virtual functions are from Simula. Smalltalk’s biggest addition and contribution to object-orientation was the encompassing design concept of “messaging”.
It is those features introduced in Simula that largely remain influential today, while Smalltalk’s “messaging”concept is effectively obsolete in a world of program design largely dominated by “data”.
Edit: language
Messaging isn’t an idea that occurs in every language, but it’s certainly not obsolete, just a bit esoteric. Ruby, Erlang/Elixir, and Go all prominently feature the concept, to name a few near the top.
Messaging is an overloaded term. In Smalltalk it is specific to the sending of a non-command instruction to an object. This is unrelated to the use of the term in other contexts.
Objective-C, remember, is Smalltalk embedded in C.