| ▲ | obsoleetorr 2 hours ago | |||||||
so you need transactions? I get what your saying, but can't you have the same issue if instead you have 3 local threads that you need to get the objects from, one can throw an exception and you only receive 2, same problem | ||||||||
| ▲ | tombert 2 hours ago | parent [-] | |||||||
Sometimes, but I am arguing that you need to encode for this uncertainty if you want to make distributed apps work correctly. If you can do transactions for what you’re doing then great, not every app can do that. When you have to deal with large amounts of uncertainty, static types often reduce to a bunch of optionals, forcing you to null check every field. This is what you end up having to do with dynamic typing as well. I don’t think types buy you much in cases with extreme uncertainty, and I think they create noise as a result. It’s a potentially similar issue with threads as well, especially if you’re not sharing data between them, which has similar issues as a distributed app. A difference is that it’s much cheaper to do retries within a single process compared to doing it over a network, so if something gets borked locally then a retry is (comparatively) free. | ||||||||
| ||||||||