3 ms·
Oo I love a terminological discussion, well said! I would disagree on your first point though: aren’t most large machines modular monoliths? Say, cars, airplane
by bbor 2y ago
Oo I love a terminological discussion, well said! I would disagree on your first point though: aren’t most large machines modular monoliths? Say, cars, airplanes, and dams? I absolutely agree that this usage kinda erases the original intent of the word “monolith” in a software context, though. Or at least complicates it greatly…
Personally, I’m putting all my money on cognitive, and the terms that go along with it - say, social, agential, discursive, and conversational. Not to forget the deeper cuts from philosophy of mind (the precursor to CS!), such as dialectic (a highly-mutable data structure with holistic modification functions?), architectonic (code-generators built in to the very “top” of a system, breaking it down into a binary tree of generated-code-facilitated subsections?), and striated vs smooth systems (describes the level of obstruction/complication present in each?).
Ultimately my takeaway from this article is that absolutes (namely, microservices) rarely work in real world architecture contexts. When looked at in those general terms, I think we have little choice but to start treating software like minds to be “shaped” or “sculpted”, to use Minsky’s preferred terminology. After all,
I believe that at the end of the century the use of words and general educated opinion will have altered so much that one will be able to speak of machines thinking without expecting to be contradicted. I believe further that no useful purpose is served by concealing these beliefs.
- Alan Turing, 1950’s Computing Machinery and Intelligence
- alganet 2y agoIsn't OOP supposed to be about bringing everyday human things as the paradigm for thinking? Stuff like doors, buttons, locks and keys, levers. There are some good gems in the popular developer culture. "Circuit Breaker" is a de-facto name for an OOP pattern I enjoy. "Dependency Injection" not so much, could be called "Spare Parts Design". Architectonic styles comes from Christopher Alexander stuff. It's a classic, patterns and GoF comes from that. We could use some of his later _Nature of Order_ stuff as well (the "Order" name I don't like that much though, but it's good content nonetheless). I think this is the most cognitive (in what it does, not in what it says) we can get without being too geeky for beginners. Minds to be "educated", maybe? Like we humans do. Small everyday stuff first, then more complicated human things later. Anyway, about the "modular monolith": what about we just call it a "machine"? We already expect most machines to be modular, and the sum of its parts to do more than its individual components, and the idea that the components are designed and maintaned together.
- brazzy 2y ago> Isn't OOP supposed to be about bringing everyday human things as the paradigm for thinking? Not really. That's just the metaphors that are used for teaching. Really just for introducing the concept, if the teacher is any good. Because it's not very helpful for what developers actually do most of the time. If you want to believe Alan Kay, it's about "messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things", and almost everyone's been doing it wrong since the 70s. Oh, and he actually "thought of objects being like biological cells". Personally, I'd say it's most importantly about encapsulating state with the code that operates on it.
- alganet 2y agoI think you missed my point entirely. I made my point in the first comment I made on this thread. Whatever it is, it is lacking something for human brains to grasp it. My point is that people are doing it wrong because the names don't help. It was called _Smalltalk_, wasn't it? Like a casual friendly conversation. These more technical descriptions are behind the theory of it, not what is actually supposed to look like when applied. I don't need to know that doors have hinges or the complex manufacturing of locks to call a door a door. When I open a lock, I don't need to call it a "mechanical system of pins and springs" or anything else.
- ahoka 2y agoCircuit Breaker is not an OOP pattern.
- alganet 2y agoOf course not. Circuit breakers come from electrical engineering. And façades comes from architecture. And mediators are from debate and diplomacy. And promises are things humans tell others regarding a future expectation. Or were you stating the fact that it's not a documented "official" pattern by a popular book author?