This is something commonly heard, but it doesn’t pass the sniff test.
- The
aws
CLI command is called the same way as local CLI commands - The
boto3
Python library is called the same way as local Python libraries requests.get
calls in Python looks the same as any other method calls
Yes, treating RPCs the same as normal methods can fail. In high performance or high concurrency scenarios, where the thread overhead is unacceptable. Or in high-reiability scenarios, where the novel failure modes become significant.
But to say “they all failed” is absurd. There are more people happily using Python’s requests
alone than there are in the entire Scala community. Probably the majority of the world is treating RPCs like normal method calls, and it generally works reasonably well.
Sure sometimes treating RPCs as normal methods has caveats and overheads, and sometimes it falls apart, but that’s not unique to RPCs: every abstraction has caveats and overheads, and scenarios they fail. But that doesn’t mean they’re failures in general, it just means that specialized use cases sometimes call for specialized tools or techniques.