▲ | kentonv 2 days ago | |||||||||||||||||||||||||
I should clarify, lack of proper language-level support for async programming wasn't the only problem CORBA had. Its main problem was that it was just massively overcomplicated and tried to do way too much. It went way beyond just being a protocol, it specified "object resource brokers" and such. But it did also make the mistake of being designed around synchronous calls, only adding an async mode later on, and when it did add async, it was excessively complex to use, due in part to the missing language features. I'm not sure what you mean when you say it was "unsound". Excessive complexity isn't really a matter of soundness. So I assumed you were referring to the more general criticism that has historically been raised against RPC, which is that trying to make network calls look like local calls hides important details which distributed applications must handle, like latency and network instability. My argument is that asynchronous programming, promise pipelining, and exceptions largely solve these issues just fine, and practical experience backs this up. | ||||||||||||||||||||||||||
▲ | kiitos a day ago | parent [-] | |||||||||||||||||||||||||
> trying to make network calls look like local calls hides important details which distributed applications must handle, like latency and network instability. among many other concerns, yes https://en.wikipedia.org/wiki/Fallacies_of_distributed_compu... > My argument is that asynchronous programming, promise pipelining, and exceptions largely solve these issues just fine, and practical experience backs this up. you can't solve fundamental distsys problems at the language level (lasp &c. notwithstanding) hopefully not controversial | ||||||||||||||||||||||||||
|