4 ms·
Yes, for sure it is. But what is the alternative? A compiler can only complain on a monolith, it can't scratch boundaries out of the system it compiles (and sti
by hakre 6y ago
Yes, for sure it is. But what is the alternative? A compiler can only complain on a monolith, it can't scratch boundaries out of the system it compiles (and still within that monolith, encapsulated system the data might be inconsistent).
For distributed systems this has been solved in the last two decades (if not even longer), but still systems are pressing against formality, how come?
Continue to write the code to deal with the (always changing) data, maybe that's it when diving data apart from code (:OP/DO#1 ; Perlis 9. It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures.).
- andi999 6y agoHow has this been solved for distributed systems?
- dcuthbertson 6y agoOne way is to have an Interface Definition Language and rely on an IDL compiler to write the interfaces in the language of your choice. Senders and receivers will expect the same types to be marshalled/unmarshalled. If a sender attempts to send data that is different from the interface, either the compiler will catch it, or hopefully a runtime error will happen - either the sender will fail to marshal the data, or the receiver will fail to unmarshal it. Still, there are "garbage-in, garbage-out" situations that someone will have to debug, but starting with well-defined interfaces and tooling to generate code helps a lot.