2 ms·
Wrapping network requests in naive procedure/function calls is definitely not the way to go, as many people have learned (I've personally seen a good-but-inexp
by chubot 2y ago
Wrapping network requests in naive procedure/function calls is definitely not the way to go, as many people have learned
(I've personally seen a good-but-inexperienced co-worker make that specific design error, on a failing project)
But you can express things other than naive calls within existing languages, e.g. by passing context around, which deals with deadlines, cancellation, and perhaps idempotence/retries
https://pkg.go.dev/context https://pkg.go.dev/context
I also think that "connectors" are primarily and OS feature, or platform feature, not really a language feature.
And I'm not convinced that most systems need to abstract connectors, i.e. to provide a way for the system to work over multiple connectors. I think the machine boundaries can usually be pretty firmly defined, and you don't change them that much
---
Although I was a little surprised at the #1 FAQ here -- not that it's the wrong answer, but that it is implicitly assuming you need to have this choice for all components/apps
https://serviceweaver.dev/docs.html#faq https://serviceweaver.dev/docs.html#faq