2 ms·
> Then we are talking about distributed computing You must have a funny definition of distributed computing, then. OO never really caught on, probably because
by 9rx 2y ago
> Then we are talking about distributed computing
You must have a funny definition of distributed computing, then. OO never really caught on, probably because accepting "globs of undefined bytes" is kind of sucky, but we see some examples in the wild. Interface Builder is probably the best example of where we really leaned into OO, orienting a program's UI objects from externally defined messages. I'm not sure what building user interfaces has to do with distributed computing, but... I guess?
- pjmlp 2y ago"Messages that originate outside of the program" is distributed computing, regardless of it is on the same computing node, or across the network. Multiple processes are involved, giving meaning to a byte stream. I am quite sure Interface Builder has enough Objective-C type definitions, as does Portable Distributed Objects. Additionally, those mapping definitions on the UI are nothing else than a type system powering the whole experience.
- 9rx 2y ago> Multiple processes are involved, giving meaning to a byte stream. Maybe in the case of Erlang, but that's a fairly unique case. Smalltalk[1], and by extension Objective-C, do not pass messages across processes. Languages don't normally concern themselves with that kind of thing at all. You can build distributed computing on top of languages (pretty much any language), but that's not a trait of the language and way beyond the topic at hand. [1] Which is what matters most as OO was literally defined by the design of Smalltalk.
- igouy 2y ago1987 "The design and implementation of distributed Smalltalk" https://dl.acm.org/doi/10.1145/38765.38836 https://dl.acm.org/doi/10.1145/38765.38836 https://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/html/faqs/lang/oop/faq-doc-3.html https://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/html/... > do not pass messages across processes Except "The Smalltalk-80 system provides support for multiple independent processes with three classes named Process, ProcessorScheduler, and Semaphore. A Process represents a sequence of actions that can be carried out independently of the actions represented by other Processes." "Ch. 15 Multiple Independent Processes" 1983 "Smalltalk-80 The Language and its Implementation" https://rmod-files.lille.inria.fr/FreeBooks/BlueBook/Bluebook.pdf https://rmod-files.lille.inria.fr/FreeBooks/BlueBook/Blueboo...