2 ms·
Wouldn't that boil down to the communication between the distributed components? I think this author's solution to that is well detailed in his post "parse, don
by hopia 7y ago
Wouldn't that boil down to the communication between the distributed components? I think this author's solution to that is well detailed in his post "parse, don't validate".
- yakshaving_jgt 7y agoHer* post.
- jmull 7y agoA general principle in a complex system of components is for each component to accept the widest range of inputs is reasonably can (and generate the narrowest range). This improves reliability and minimizes the scope of changes needed for the system to continue to work when something changes. This is particularly important in distributed system, where you can’t generally update the system coherently and instead need/want to update it piece-meal or progressively. Strong type systems tend to encourage you to specify strong constraints on the typed values. While you’re specifying your types you need to be careful to not over specify, making assertions you don’t need to make, ending up with a brittle system what will break unnecessarily. There are nice advantages to strong expressive types, but the advantages are all within the local component and it takes some extra care to avoid imposing inflexibility on the system.